クリーンルームの有効化のための AWS ID プロバイダーの設定
クリーン ルーム アクティベーションのコラボレーション招待ごとに、Data 360がクエリ結果をS3バケットに安全に書き込めるようにAWSアカウントを設定し、Data 360で招待を受け入れます。
必要なエディション
| 使用可能なエディション: Data 360 でサポートされるすべてのエディション。 「Data 360 Edition の可用性」を参照してください。 |
| 必要なユーザー権限 | |
|---|---|
| クリーンルーム有効化招待を受け入れる | 次のいずれかの権限セット:
|
Data 360は、OpenID Connect(OIDC)Trustポリシーを使用するAWS IAMロールを使用して、コラボレーション結果をプロバイダーのS3バケットに直接書き込みます。プロバイダーがデータの完全な所有権を維持します。Data 360は、このコラボレーションのみを対象とする、設定した特定のS3パスへの書き込みのみのアクセス権を持ちます。
-
前提条件を完了します。
- 専用の AWS 環境へのアクセス権がない場合は、作成します。
-
Data 360 で [Clean Room] タブに移動し、待機中の有効化コラボレーション招待を開いて次の値をメモします。
- コンシューマーSalesforceドメインURL — IDプロバイダーURLとして使用
- 外部 ID — このコラボレーションに適用される一意の識別子
AWS 環境の設定
-
Salesforce を OpenID Connect (OIDC) ID プロバイダーとして追加します。
ID プロバイダーは、AWS リソースへのアクセスを要求できる外部システムを AWS に指示します。このステップがないと、AWSはData 360によって発行されたトークンを認識しず、接続を拒否します。
- AWS Management Console で、[IAM]> [ID providers] に移動して、[Add provider] をクリックします。
- [Configure provider] フィールドで、[OpenID Connect] を選択します。
-
[プロバイダー URL] に、コンシューマー向け Salesforce ドメインの URL を入力し、その後に
/services/connectorsを入力します。例:https://yourorg.my.salesforce.com/services/connectors -
[利用者] に、パスサフィックスのない [コンシューマー Salesforce ドメイン URL] を入力します。
例:
https://yourorg.my.salesforce.com - [Add provider] をクリックします。
-
有効化結果の S3 バケットを選択または作成します。
これは、コンシューマーがアクティベーション クエリを実行した後に Data 360 が一致する利用者の出力を書き込むバケットです。既存のバケットを使用するか、専用のバケットを作成できます。
S3 バケット名とパスをメモします。この値は、Data 360 の Amazon S3 URL として形式
s3://your-bucket-name/optional-prefix/で入力します。
メモ Data 360 は、指定されたパスにコラボレーション固有のメタデータを追加します。s3://my-results/を指定した場合、最終的なデータはs3://my-results/[Collaboration Name]/[Query Name]_[Timestamp]/[Data Files]にあります。クエリを実行するたびにフォルダーが作成されます。結果は parquet ファイルとして書き込まれます。 -
必要な IAM ロールを作成します。
「Creating a role using custom Trust policies (console)」を参照してください。
[Add permissions (権限の追加)] 画面で、適切なバケットが存在し、書き込み可能かどうかをチェックできる権限を追加します。ロールに適用できる権限ポリシーについては、「Amazon S3 Bucket Policies and Permissions」を参照してください。
IAM ロールの Amazon リソース名 (ARN) をコピーします。この値は、「クリーンルームコラボレーション招待の受け入れ」ウィザードで入力します。
-
Trust ポリシーを IAM ロールに適用します。
Custom Trust policy セクションで、Edit Trust policy をクリックし、既存の JSON を次のテンプレートに置き換えます。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::[YOUR_ACCOUNT_ID]:oidc-provider/[SALESFORCE_CONSUMER_URL]/services/connectors" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "[SALESFORCE_CONSUMER_URL]/services/connectors:sub": "[EXTERNAL_ID]" } } } ] }プレースホルダーを次の値に置き換えます。
プレースホルダー 必須値 値を見つける場所 <YOUR_ACCOUNT_ID>12 桁の AWS アカウント ID。 AWS コンソールの右上のメニュー。 <SALESFORCE_CONSUMER_URL>https://のないコンシューマー向け Salesforce ドメインの URL。例:yourorg.my.salesforce.comData 360 招待画面のコンシューマー Salesforce ドメイン URL。この値は、ポリシーの 2 つの場所 (プリンシパル ARN と条件キー) に表示されます。 <EXTERNAL-ID>外部 ID 値。 Data 360 招待画面の外部 ID。 -
Data 360に戻る前に、AWSから次の値があることを確認します。受け入れウィザードで入力します。
値 AWS での場所 Amazon IAM ロール ARN ステップ 3 で IAM ロールを作成するときにコピーしたロール ARN Amazon S3 URL ステップ 2 の S3 バケット パスの形式 s3://your-bucket-name/optional-prefix/
Data 360 でのコラボレーション招待の受け入れ
- Data 360 の [クリーンルームコラボレーション招待を受け入れる] 画面に戻り、データスペースを選択してマッピングされたテンプレートを作成するという標準受け入れ手順を実行します。
-
[AWS Trust Relationship]セクションで、画面に表示されている[External ID]と[Consumer Salesforce Domain URL]の値がAWSのTrustポリシーで使用している値と一致することを確認します。
これらの値は参照のみです。続行する前に AWS 設定が正しいことを確認できるようにここに表示されます。
-
[AWS Connection Settings] セクションで、ステップ 2 の最後にメモした値を入力します。
- Amazon IAM ロール ARN — 作成したロールの ARN
- Amazon S3 URL — 結果が書き込まれる S3 パス
-
[Test Connection (接続をテスト)] をクリックします。
Data 360は、OIDC Trust、IAM権限、S3パス アクセスを検証します。テストが失敗した場合は、次の点を確認してください。
- Trust ポリシーの
sub条件は、画面に表示されている外部 ID と完全に一致します。 - AWS の OIDC プロバイダー URL と利用者を招待のコンシューマー Salesforce ドメイン URL と一致させます。
- Trust ポリシーの
<CONSUMER-DOMAIN>プレースホルダーにhttps://は含まれません。 - IAM ロール ARN が正しく、ロールに S3 書き込み権限がある。
- Trust ポリシーの
- [次へ] をクリックし、招待を受け入れます。

