翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
のサービスロールを設定するAWS Clean Rooms
以下のセクションでは、各タスクの実行に必要なロールについて説明します。
トピック
管理者ユーザーの作成
を使用するにはAWS Clean Rooms、管理者ユーザーを作成し、管理者ユーザーを管理者グループに追加する必要があります。
管理者ユーザーを作成するには、以下のいずれかのオプションを選択します。
| 管理者を管理する方法を 1 つ選択します | 目的 | 方法 | 以下の操作も可能 |
|---|---|---|---|
| IAM アイデンティティセンター内 (推奨) |
短期の認証情報を使用して AWS にアクセスします。 これはセキュリティのベストプラクティスと一致しています。ベストプラクティスの詳細については、「IAM ユーザーガイド」の「IAM でのセキュリティのベストプラクティス」を参照してください。 |
AWS IAM アイデンティティセンター ユーザーガイドの「開始方法」の手順に従います。 | AWS Command Line Interfaceユーザーガイドの を使用するAWS CLIように を設定AWS IAM アイデンティティセンターして、プログラムによるアクセスを設定します。 |
| IAM 内 (非推奨) |
長期認証情報を使用して AWS にアクセスします。 | IAM ユーザーガイドの「緊急アクセス用の IAM ユーザーを作成する」の手順に従います。 | IAM ユーザーガイドの「IAM ユーザーのアクセスキーを管理する」の手順に従って、プログラムによるアクセスを設定します。 |
コラボレーションメンバー用の IAM ロールの作成
メンバーは、コラボレーションに参加しているAWS顧客です。
コラボレーションメンバー用の IAM ロールを作成するには
-
「AWS Identity and Access Management IAM ユーザーガイド」の「IAM ユーザーにアクセス許可を委任するロールの作成」を参照してください。
-
[ポリシーを作成] ステップで、[ポリシーエディタ] の [JSON] タブを選択し、コラボレーションメンバーに付与された機能に応じてポリシーを追加します。
AWS Clean Roomsでは、一般的なユースケースに基づいて以下の管理ポリシーを提供しています。
目的 使用 リソースとメタデータを表示する AWS管理ポリシー: AWSCleanRoomsReadOnlyAccess クエリ AWS管理ポリシー: AWSCleanRoomsFullAccess ジョブのクエリと実行 AWS管理ポリシー: AWSCleanRoomsFullAccess クエリを実行して結果を受け取る AWS管理ポリシー: AWSCleanRoomsFullAccess コラボレーションリソースを管理するが、クエリは実行しない AWSマネージドポリシー: AWSCleanRoomsFullAccessNoQuerying が提供するさまざまな管理ポリシーの詳細についてはAWS Clean Rooms、「」、「」を参照してくださいAWSの 管理ポリシーAWS Clean Rooms。
Amazon S3 からデータを読み取るサービスロールを作成する
AWS Clean Roomsはサービスロールを使用して Amazon S3 からデータを読み込みます。
このサービスロールを作成する方法は 2 つあります。
-
サービスロールを作成するために必要な IAM アクセス許可がある場合は、 AWS Clean Roomsコンソールを使用してサービスロールを作成します。
-
および アクセス
iam:CreatePolicyiam:AttachRolePolicy許可がない場合iam:CreateRole、または IAM ロールを手動で作成する場合は、次のいずれかを実行します。-
カスタム信頼ポリシーを使用してサービスロールを作成するには、次の手順に従います。
-
次の手順を使用してサービスロールを作成するよう、管理者に依頼します。
-
注記
ユーザーまたは IAM 管理者は、 コンソールを使用してAWS Clean Roomsサービスロールを作成するために必要なアクセス許可がない場合にのみ、この手順に従う必要があります。
カスタム信頼ポリシーを使用して Amazon S3 からデータを読み取るサービスロールを作成するには
-
カスタム信頼ポリシーを使用してロールを作成します。詳細については、「 AWS Identity and Access Managementユーザーガイド」の「カスタム信頼ポリシー (コンソール) を使用したロールの作成」の手順を参照してください。
-
「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順に従って、次のカスタム信頼ポリシーを使用します。
注記
ロールが特定のコラボレーションメンバーシップのコンテキストでのみ使用されるようにしたい場合は、信頼ポリシーをさらに絞り込むことができます。詳細については、「サービス間の混乱した代理の防止」を参照してください。
-
「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順に従って、次のアクセス許可ポリシーを使用します。
注記
以下のポリシー例は、AWS Glue メタデータとそれに対応する Amazon S3 データを読み取るのに必要なアクセス許可をサポートしています。ただし、Amazon S3 データの設定方法によっては、このポリシーを変更する必要がある場合があります。例えば、Amazon S3 データのカスタム KMS キーを設定している場合は、追加の AWS Key Management Service(AWS KMS) アクセス許可でこのポリシーを修正する必要がある場合があります。
AWS Glueリソースと基盤となる Amazon S3 リソースは、AWS Clean RoomsコラボレーションAWS リージョンと同じ にある必要があります。
注記
このポリシーは、データカタログメタデータと実際のデータストレージが異なる当事者によって管理されるコラボレーションをサポートするためにAWS Clean Rooms、2 つの AWS アカウントIDs を参照します。
-
111122223333 - AWS GlueData Catalog リソース (データベース、テーブル、カタログ) を所有するアカウントです。最初のステートメントは、このアカウントのAWS Glueカタログからテーブルスキーマ、パーティション情報、メタデータにアクセスするアクセス許可を付与します。
-
444455556666 - 実際のデータファイルを含む Amazon S3 バケットを所有するアカウントです。Amazon S3 アクセス許可 (ステートメント 3 および 4) は、
s3:ResourceAccount条件を通じてこのアカウントが所有するバケットに制限されます。
この設定は、1 つのチームがデータカタログとスキーマ定義を管理し、別のチームが基盤となるデータストレージインフラストラクチャを所有する一般的なエンタープライズデータアーキテクチャをサポートします。この
s3:ResourceAccount条件は、Amazon S3 オペレーションが指定されたアカウントが所有するバケットでのみ機能するようにすることで、追加のセキュリティレイヤーを提供します。 -
-
各
プレースホルダーを自分の情報に置き換えます。 -
引き続き、「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順に従ってロールを作成します。
Amazon Athena からデータを読み取るサービスロールを作成する
AWS Clean Roomsはサービスロールを使用して Amazon Athena からデータを読み込みます。
カスタム信頼ポリシーを使用して Athena からデータを読み取るサービスロールを作成するには
-
カスタム信頼ポリシーを使用してロールを作成します。詳細については、AWS Identity and Access Management「 ユーザーガイド」の「カスタム信頼ポリシー (コンソール) を使用したロールの作成」の手順を参照してください。
-
「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順に従って、次のカスタム信頼ポリシーを使用します。
注記
ロールが特定のコラボレーションメンバーシップのコンテキストでのみ使用されるようにしたい場合は、信頼ポリシーをさらに絞り込むことができます。詳細については、「サービス間の混乱した代理の防止」を参照してください。
-
「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順に従って、次のアクセス許可ポリシーを使用します。
注記
次のポリシー例では、AWS Glueメタデータとその対応する Athena データを読み取るために必要なアクセス許可をサポートしています。ただし、Amazon S3 データの設定方法によっては、このポリシーを変更する必要がある場合があります。例えば、Amazon S3 データのカスタム KMS キーをすでに設定している場合は、追加のAWS KMSアクセス許可でこのポリシーを修正する必要がある場合があります。
AWS Glueリソースと基盤となる Athena リソースは、AWS Clean RoomsコラボレーションAWS リージョンと同じ に存在する必要があります。
-
各
プレースホルダーを自分の情報に置き換えます。 -
引き続き、「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順に従ってロールを作成します。
Lake Formation アクセス許可をセットアップする
Lake Formation アクセス許可で保護されたリソースをクエリする場合、サービスロールには、テーブル/ビューに対する Select および Describe アクセス許可と、ビューが保存されているAWS Glueデータベースに対する Describe アクセス許可が必要です。
詳細については、以下を参照してください。
-
Amazon Athena Athena ユーザーガイド」の「Athena を使用して に登録されたデータをクエリAWS Lake Formationする」
-
AWS Lake Formationデベロッパーガイドの Lake Formation アクセス許可へのオンボーディング
Snowflake からデータを読み取るサービスロールを作成する
AWS Clean Roomsはサービスロールを使用して Snowflake の認証情報を取得し、このソースからデータを読み込みます。
このサービスロールを作成するには、次の 2 つの方法があります。
-
サービスロールを作成するために必要な IAM アクセス許可がある場合は、 AWS Clean Roomsコンソールを使用してサービスロールを作成します。
-
および アクセス
iam:CreatePolicyiam:AttachRolePolicy許可がない場合iam:CreateRole、または IAM ロールを手動で作成する場合は、次のいずれかを実行します。-
カスタム信頼ポリシーを使用してサービスロールを作成するには、次の手順に従います。
-
次の手順を使用してサービスロールを作成するよう、管理者に依頼します。
-
注記
ユーザーまたは IAM 管理者は、 コンソールを使用してAWS Clean Roomsサービスロールを作成するために必要なアクセス許可がない場合にのみ、この手順に従う必要があります。
カスタム信頼ポリシーを使用して Snowflake からデータを読み取るサービスロールを作成するには
-
カスタム信頼ポリシーを使用してロールを作成します。詳細については、AWS Identity and Access Management「 ユーザーガイド」の「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順を参照してください。
-
「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順に従って、次のカスタム信頼ポリシーを使用します。
注記
ロールが特定のコラボレーションメンバーシップのコンテキストでのみ使用されるようにしたい場合は、信頼ポリシーをさらに絞り込むことができます。詳細については、「サービス間の混乱した代理の防止」を参照してください。
注記
この信頼ポリシーは、クエリの実行責任が複数の当事者に分散されるコラボレーションをサポートするためにAWS Clean Rooms、2 つの異なる AWS アカウントIDs を参照します。
-
111122223333 - これは、コラボレーションに参加しているメンバーシップを含むアカウントです。このメンバーシップは、ロールアクセスを必要とするデータテーブル、分析ルール、またはその他のコラボレーションリソースを所有している場合があります。
-
444455556666 - これは、クエリの実行を担当するメンバーシップ (「クエリランナー」) を含むアカウントです。このメンバーシップは保護されたクエリを実行し、必要なコンピューティングおよびデータリソースにアクセスするためにこのロールを引き受ける必要があります。
この設定により、ある当事者がデータまたは分析テンプレートを提供し、別の当事者が実際のクエリを実行するシナリオが可能になります。どちらのロールも、同じ実行ロールを通じて異なるが補完的なアクセス許可を必要とします。この
aws:SourceArn条件により、これら 2 つの特定のメンバーシップから発生するAWS Clean Roomsオペレーションのみがロールを引き受けることができるようになり、分散ジョブの実行と結果管理ワークフローをサポートしながらセキュリティが維持されます。 -
-
カスタム信頼ポリシー (コンソール) を使用してロールを作成する手順に従って、次のいずれかのアクセス許可ポリシーを使用します。
顧客所有の KMS キーで暗号化されたシークレットのアクセス許可ポリシー
注記
このポリシーは、クロスアカウントシークレット管理シナリオをサポートするために、2 つの AWS アカウントIDs を参照します。
-
111122223333 - これはシークレットを所有し、 に保存するアカウントです。最初のステートメントは、このアカウントからシークレット値を取得するアクセス許可を付与します。
-
444455556666 - シークレットの暗号化に使用されるAWS KMSキーを所有するアカウントです。2 番目のステートメントは、このアカウントの AWS KMSキーを使用してシークレットを復号するアクセス許可を付与します。
この設定は、以下のエンタープライズ環境で一般的です。
-
シークレットは 1 つのアカウント (アカウント 1) で一元管理されます。
-
暗号化キーは、別のセキュリティアカウントまたは共有サービスアカウント (アカウント 2) によって管理されます。
-
アカウント 2 のAWS KMSキーポリシーでは、アカウント 1 の サービスが暗号化/復号オペレーションに キーを使用することも許可する必要があります。
この
kms:EncryptionContext:SecretARN条件により、AWS KMSキーはこの特定のシークレットの復号にのみ使用でき、クロスアカウントアクセスのセキュリティレイヤーが追加されます。で暗号化されたシークレットのアクセス許可ポリシー AWS マネージドキー
-
-
各
プレースホルダーを自分の情報に置き換えます。 -
引き続き、「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順に従ってロールを作成します。
S3 バケットからコードを読み取るサービスロールを作成する (PySpark 分析テンプレートロール)
AWS Clean Roomsは、PySpark 分析テンプレートを使用するときに、サービスロールを使用してコラボレーションメンバーの指定された S3 バケットからコードを読み込みます。
S3 バケットからコードを読み取るサービスロールを作成するには
-
カスタム信頼ポリシーを使用してロールを作成します。詳細については、AWS Identity and Access Management「 ユーザーガイド」の「カスタム信頼ポリシー (コンソール) を使用したロールの作成」の手順を参照してください。
-
「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順に従って、次のカスタム信頼ポリシーを使用します。
注記
この信頼ポリシーは、マルチパーティーAWS Clean Roomsコラボレーションシナリオをサポートするために 2 つの AWS アカウントIDs を参照します。
-
111122223333 - これは、クエリの実行を担当するメンバーシップ (「ジョブランナー」) を含むアカウントです。このメンバーシップは分析ジョブを実行し、必要なリソースにアクセスするためにこのロールを引き受ける必要があります。
-
444455556666 - これは、分析テンプレートとその関連メンバーシップ (「分析テンプレート所有者」) を所有するアカウントです。このメンバーシップは、実行できるクエリを定義し、分析を管理および実行するためにこのロールを引き受ける必要があります。
この設定は、複数の当事者がそれぞれ独自の AWS アカウントとメンバーシップを持つ同じAWS Clean Roomsコラボレーションに参加するコラボレーションで一般的です。クエリエグゼキュターと分析テンプレート所有者の両方が共有リソースにアクセスする必要があります。この
aws:SourceArn条件により、これら 2 つの特定のメンバーシップから発生するAWS Clean Roomsオペレーションのみがロールを引き受けることが保証され、マルチパーティーコラボレーションに正確なアクセスコントロールが提供されます。 -
-
「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順に従って、次のアクセス許可ポリシーを使用します。
注記
次のポリシー例では、Amazon S3 からコードを読み取るために必要なアクセス許可をサポートしています。ただし、S3 データの設定方法によっては、このポリシーを変更する必要が生じる場合があります。
Amazon S3 リソースは、コラボレーションAWS リージョンと同じAWS Clean Rooms にある必要があります。
-
各
プレースホルダーはお客様の情報に置き換えてください。-
s3Path– コードの S3 バケットの場所。 -
s3BucketOwnerAccountId– S3 バケット所有者の AWS アカウントID。 -
region– AWS リージョンの名前。例えば、us-east-1。 -
jobRunnerAccountId– クエリとジョブを実行できるメンバーの AWS アカウントID。 -
jobRunnerMembershipId– ジョブをクエリして実行できるメンバーのメンバーシップ ID。[メンバーシップ ID] はコラボレーションの [詳細] タブにあります。これにより、このメンバーがこのコラボレーションで分析を実行する場合にのみ、 AWS Clean Roomsがロールを引き受けるようになります。 -
analysisTemplateAccountId– 分析テンプレートの AWS アカウントID。 -
analysisTemplateOwnerMembershipId– 分析テンプレートを所有するメンバーのメンバーシップ ID。[メンバーシップ ID] はコラボレーションの [詳細] タブにあります。
-
-
引き続き、「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順に従ってロールを作成します。
PySpark ジョブの結果を書き込むサービスロールを作成する
AWS Clean Roomsはサービスロールを使用して、PySpark ジョブの結果を指定された S3 バケットに書き込みます。
PySpark ジョブの結果を書き込むサービスロールを作成するには
-
カスタム信頼ポリシーを使用してロールを作成します。詳細については、「 AWS Identity and Access Managementユーザーガイド」の「カスタム信頼ポリシー (コンソール) を使用したロールの作成」の手順を参照してください。
-
「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順に従って、次のカスタム信頼ポリシーを使用します。
注記
この信頼ポリシーは、AWS Clean Rooms異なる運用ロールとのコラボレーションをサポートするために、2 つの AWS アカウントIDs を参照します。
-
111122223333 - これは、分析ジョブの実行を担当するメンバーシップ (「ジョブランナー」) を含むアカウントです。このメンバーシップは計算ワークロードを実行し、処理リソースにアクセスするにはこのロールを引き受ける必要があります。
-
444455556666 - これは、結果レシーバー (RR) の責任を持つメンバーシップを含むアカウントです。このメンバーシップは、分析ジョブの出力を受信してアクセスする権限があり、指定された場所に結果を書き込むためのロールアクセスが必要です。
この設定により、一方の当事者が計算分析を実行し、他方の当事者が結果を受信して管理するAWS Clean Roomsシナリオが可能になります。どちらのロールも、同じ実行ロールを通じて異なるが補完的なアクセス許可を必要とします。この
aws:SourceArn条件により、これら 2 つの特定のメンバーシップから発生するAWS Clean Roomsオペレーションのみがロールを引き受けることができるようになり、分散ジョブの実行と結果管理ワークフローをサポートしながらセキュリティが維持されます。 -
-
「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順に従って、次のアクセス許可ポリシーを使用します。
注記
次のポリシー例では、Amazon S3 への書き込みに必要なアクセス許可をサポートしています。ただし、S3 の設定方法によっては、このポリシーの変更が必要になる場合があります。
Amazon S3 リソースは、コラボレーションAWS リージョンと同じAWS Clean Rooms にある必要があります。
-
各
プレースホルダーを自分の情報に置き換えます。-
region– AWS リージョンの名前。例えば、us-east-1。 -
jobRunnerAccountId– S3 バケットが配置されている AWS アカウントID。 -
jobRunnerMembershipId– ジョブをクエリして実行できるメンバーのメンバーシップ ID。[メンバーシップ ID] はコラボレーションの [詳細] タブにあります。これにより、このメンバーがこのコラボレーションで分析を実行する場合にのみ、 AWS Clean Roomsがロールを引き受けるようになります。 -
rrAccountId– AWS アカウントS3 バケットが配置されている ID。 -
rrMembershipId– 結果を受け取ることができるメンバーのメンバーシップ ID。[メンバーシップ ID] はコラボレーションの [詳細] タブにあります。これにより、このメンバーがこのコラボレーションで分析を実行する場合にのみ、 AWS Clean Roomsがロールを引き受けるようになります。 -
bucket
– S3 バケットの名前と場所。 -
optionalPrefix– 結果を特定の S3 プレフィックスに保存する場合のオプションのプレフィックス。 -
s3BucketOwnerAccountId– S3 バケット所有者の AWS アカウントID。
-
-
引き続き、「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順に従ってロールを作成します。
結果を受け取るサービスロールを作成する
注記
結果を受け取るだけのメンバーである (コンソールの [自身のメンバー能力] が [結果を受け取る] だけになっている) 場合は、以下の手順に従ってください。
クエリの実行と結果の受け取りの両方が可能なメンバーである (コンソールの [自身のメンバー能力] が [クエリ] と [結果を受け取る] の両方になっている) 場合、この手順は省略できます。
結果のみを受信できるコラボレーションメンバーの場合、 はサービスロールAWS Clean Roomsを使用して、コラボレーション内のクエリされたデータの結果を指定された S3 バケットに書き込みます。
このサービスロールを作成するには、次の 2 つの方法があります。
-
サービスロールを作成するために必要な IAM アクセス許可がある場合は、 AWS Clean Roomsコンソールを使用してサービスロールを作成します。
-
および アクセス
iam:CreatePolicyiam:AttachRolePolicy許可がない場合iam:CreateRole、または IAM ロールを手動で作成する場合は、次のいずれかを実行します。-
カスタム信頼ポリシーを使用してサービスロールを作成するには、次の手順に従います。
-
次の手順を使用してサービスロールを作成するよう、管理者に依頼します。
-
注記
ユーザーまたは IAM 管理者は、 コンソールを使用してAWS Clean Roomsサービスロールを作成するために必要なアクセス許可がない場合にのみ、この手順に従う必要があります。
カスタム信頼ポリシーを使用して結果を受け取るサービスロールを作成するには
-
カスタム信頼ポリシーを使用してロールを作成します。詳細については、AWS Identity and Access Management「 ユーザーガイド」の「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順を参照してください。
-
「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順に従って、次のカスタム信頼ポリシーを使用します。
-
「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順に従って、次のアクセス許可ポリシーを使用します。
注記
以下のポリシー例は、AWS Glue メタデータとそれに対応する Amazon S3 データを読み取るのに必要なアクセス許可をサポートしています。ただし、S3 データの設定方法によっては、このポリシーを変更する必要が生じる場合があります。
AWS Glueリソースと基盤となる Amazon S3 リソースは、AWS Clean RoomsコラボレーションAWS リージョンと同じ にある必要があります。
-
各
プレースホルダーを自分の情報に置き換えます。-
region– AWS リージョンの名前。例えば、us-east-1。 -
a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa– クエリが行えるメンバーのメンバーシップ ID。[メンバーシップ ID] はコラボレーションの [詳細] タブにあります。これにより、このメンバーがこのコラボレーションで分析を実行する場合にのみ、 AWS Clean Roomsがロールを引き受けるようになります。 -
arn:aws:cleanrooms:us-east-1:555555555555:membership/a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa– クエリを実行できるメンバーの単一のメンバーシップ ARN。[メンバーシップ ARN] はコラボレーションの [詳細] タブにあります。これにより、 AWS Clean Roomsは、このメンバーがこのコラボレーションで分析を実行する場合にのみロールを引き受けます。 -
bucket_name– S3 バケットの Amazon リソースネーム (ARN)。[Amazon リソースネーム (ARN)] は Amazon S3 のバケットの [プロパティ] タブにあります。 -
accountId– S3 バケットが配置されている AWS アカウントID。bucket_name/optional_key_prefix– Amazon S3 の結果送信先の Amazon リソースネーム (ARN)。 Amazon S3 [Amazon リソースネーム (ARN)] は Amazon S3 のバケットの [プロパティ] タブにあります。
-
-
引き続き、「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順に従ってロールを作成します。