翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
のサービスロールを設定する AWS Clean Rooms
以下のセクションでは、各タスクの実行に必要なロールについて説明します。
トピック
管理者ユーザーの作成
を使用するには AWS Clean Rooms、管理者ユーザーを作成し、管理者ユーザーを管理者グループに追加する必要があります。
管理者ユーザーを作成するには、以下のいずれかのオプションを選択します。
管理者を管理する方法を 1 つ選択します | 目的 | 方法 | 以下の操作も可能 |
---|---|---|---|
IAM Identity Center 内 (推奨) |
短期の認証情報を使用して AWSにアクセスします。 これはセキュリティのベストプラクティスと一致しています。ベストプラクティスの詳細については、IAM ユーザーガイドの「IAM でのセキュリティのベストプラクティス」を参照してください。 |
AWS IAM Identity Center ユーザーガイドの「開始方法」の手順に従います。 | AWS Command Line Interface ユーザーガイドの を使用する AWS CLI ように を設定 AWS IAM Identity Centerして、プログラムによるアクセスを設定します。 |
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:CreatePolicy
iam: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 Glue Data 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:CreatePolicy
iam: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 キーで暗号化されたシークレットのアクセス許可ポリシー
注記
このポリシー 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:CreatePolicy
iam: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 のバケットの [プロパティ] タブにあります。
-
-
引き続き、「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順に従ってロールを作成します。