のサービスロールの設定 AWS Clean Rooms - AWS Clean Rooms

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

のサービスロールの設定 AWS Clean Rooms

管理者ユーザーの作成

を使用するには AWS Clean Rooms、管理者ユーザーを自分で作成し、管理者ユーザーを管理者グループに追加する必要があります。

管理者ユーザーを作成するには、以下のいずれかのオプションを選択します。

管理者を管理する方法を 1 つ選択します 目的 方法 以下の操作も可能
IAM Identity Center 内

(推奨)

短期の認証情報を使用して AWSにアクセスします。

これはセキュリティのベストプラクティスと一致しています。ベストプラクティスの詳細については、IAM ユーザーガイドの「IAM でのセキュリティのベストプラクティス」を参照してください。

AWS IAM Identity Center ユーザーガイドの「開始方法」の手順に従います。 ユーザーガイド の を使用する AWS CLI ように を設定 AWS IAM Identity Centerして、プログラムによるアクセスを設定します。 AWS Command Line Interface
IAM 内

(非推奨)

長期認証情報を使用して AWSにアクセスする。 IAM ユーザーガイドの「最初の IAM 管理者のユーザーおよびグループの作成」の手順に従います。 IAM ユーザーガイドの「IAM ユーザーのアクセスキーの管理」に従って、プログラムによるアクセスを設定します。

コラボレーションメンバー用の IAM ロールの作成

メンバーは、コラボレーションに参加している AWS 顧客です。

コラボレーションメンバー用の IAM ロールを作成するには
  1. AWS Identity and Access Management ユーザーガイド」の「ロールの作成」に従って、IAM ユーザーにアクセス許可を委任します。

  2. ポリシーの作成ステップでは、ポリシーエディタJSON タブを選択し、コラボレーションメンバーに付与された機能に応じてポリシーを追加します。

    AWS Clean Rooms は、一般的なユースケースに基づいて以下の マネージドポリシーを提供します。

    目的 使用
    リソースとメタデータを表示する AWS 管理ポリシー: AWSCleanRoomsReadOnlyAccess
    Query AWS 管理ポリシー: AWSCleanRoomsFullAccess
    クエリを実行して結果を受け取る AWS 管理ポリシー: AWSCleanRoomsFullAccess
    コラボレーションリソースを管理するが、クエリはしない AWS 管理ポリシー: AWSCleanRoomsFullAccessNoQuerying

    が提供するさまざまな 管理ポリシーの詳細については AWS Clean Rooms、「」を参照してください。AWS の マネージドポリシー AWS Clean Rooms

データを読み取るサービスロールの作成

AWS Clean Rooms は、サービスロールを使用してデータを読み込みます。

このサービスロールを作成するには、次の 2 つの方法があります。

... の場合 THEN
サービスロールを作成するために必要な IAM アクセス許可がある AWS Clean Rooms コンソールを使用してサービスロールを作成します。

iam:CreateRole、、iam:CreatePolicyおよび のiam:AttachRolePolicyアクセス許可がない

または

IAM ロールを手動で作成したい

次のいずれかを行います。
  • サービスロールを作成するには、次の手順に従います。

  • 次の手順を使用してサービスロールを作成するように管理者に依頼します。

データを読み取るサービスロールを作成するには
注記

ユーザーまたは IAM 管理者は、 AWS Clean Rooms コンソールを使用してサービスロールを作成するために必要なアクセス許可がない場合にのみ、この手順に従う必要があります。

  1. AWS Identity and Access Management ユーザーガイド」の「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順に従います。

  2. カスタム信頼ポリシー (コンソール) を使用したロールの作成の手順に従って、次のカスタム信頼ポリシーを使用します。

    注記

    ロールを特定のコラボレーションメンバーシップのコンテキストでのみ使用できるようにするには、信頼ポリシーをさらに絞り込みます。詳細については、「サービス間の混乱した代理の防止」を参照してください。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "RoleTrustPolicyForCleanRoomsService", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  3. カスタム信頼ポリシー (コンソール) を使用したロールの作成手順に従って、次のアクセス許可ポリシーを使用します。

    注記

    以下のポリシー例は、 AWS Glue メタデータとそれに対応する Amazon S3 データを読み取るのに必要なアクセス許可をサポートしています。ただし、S3 データの設定方法によっては、このポリシーを変更する必要が生じる場合があります。例えば、S3 データのカスタム KMS キーを設定している場合は、追加の AWS KMS アクセス許可でこのポリシーを修正する必要がある場合があります。

    AWS Glue リソースと基盤となる Amazon S3 リソースは、 AWS Clean Rooms コラボレーション AWS リージョン と同じ にある必要があります。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "NecessaryGluePermissions", "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:GetDatabases", "glue:GetTable", "glue:GetTables", "glue:GetPartition", "glue:GetPartitions", "glue:BatchGetPartition" ], "Resource": [ "arn:aws:glue:aws-region:accountId:database/database", "arn:aws:glue:aws-region:accountId:table/table", "arn:aws:glue:aws-region:accountId:catalog" ] }, { "Effect": "Allow", "Action": [ "glue:GetSchema", "glue:GetSchemaVersion" ], "Resource": [ "*" ] }, { "Sid": "NecessaryS3BucketPermissions", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket" ], "Condition":{ "StringEquals":{ "s3:ResourceAccount":[ "s3BucketOwnerAccountId" ] } } }, { "Sid": "NecessaryS3ObjectPermissions", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3::bucket/prefix/*" ], "Condition":{ "StringEquals":{ "s3:ResourceAccount":[ "s3BucketOwnerAccountId" ] } } } ] }
  4. プレースホルダーを独自の情報に置き換えます。

  5. カスタム信頼ポリシー (コンソール) を使用してロールを作成するの手順に引き続き従ってロールを作成します。

結果を受け取るサービスロールを作成する

注記

結果のみを受信できるメンバー (コンソールでは、メンバーの機能は結果の受信のみ) の場合は、次の手順に従います。

クエリと結果の受信の両方が可能なメンバーの場合 (コンソールでは、メンバーの機能はクエリ結果の受信の両方です)、この手順をスキップできます。

結果のみを受信できるコラボレーションメンバーの場合、 はサービスロール AWS Clean Rooms を使用して、コラボレーション内のクエリされたデータの結果を指定された Amazon S3 バケットに書き込みます。

このサービスロールを作成するには、次の 2 つの方法があります。

... の場合 THEN
サービスロールを作成するために必要な IAM アクセス許可がある AWS Clean Rooms コンソールを使用してサービスロールを作成します。

iam:CreateRole、、iam:CreatePolicyおよび のiam:AttachRolePolicyアクセス許可がない

または

IAM ロールを手動で作成したい

次のいずれかを行います。
  • サービスロールを作成するには、次の手順に従います。

  • 次の手順を使用してサービスロールを作成するように管理者に依頼します。

結果を受け取るサービスロールを作成するには
注記

ユーザーまたは IAM 管理者は、 AWS Clean Rooms コンソールを使用してサービスロールを作成するために必要なアクセス許可がない場合にのみ、この手順に従う必要があります。

  1. AWS Identity and Access Management ユーザーガイド」の「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」の手順に従います。

  2. カスタム信頼ポリシー (コンソール) を使用したロールの作成の手順に従って、次のカスタム信頼ポリシーを使用します。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIfExternalIdMatches", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "sts:ExternalId": "arn:aws:*:region:*:dbuser:*/a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa*" } } }, { "Sid": "AllowIfSourceArnMatches", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ForAnyValue:ArnEquals": { "aws:SourceArn": [ "arn:aws:cleanrooms:us-east-1:555555555555:membership/a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa" ] } } } ] }
  3. カスタム信頼ポリシーを使用したロールの作成 (コンソール) の手順に従って、次のアクセス許可ポリシーを使用します。

    注記

    以下のポリシー例は、 AWS Glue メタデータとそれに対応する Amazon S3 データを読み取るのに必要なアクセス許可をサポートしています。ただし、S3 データの設定方法によっては、このポリシーを変更する必要が生じる場合があります。

    AWS Glue リソースと基盤となる Amazon S3 リソースは、 AWS Clean Rooms コラボレーション AWS リージョン と同じ にある必要があります。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket_name" ], "Condition": { "StringEquals": { "aws:ResourceAccount":"accountId" } } }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket_name/optional_key_prefix/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount":"accountId" } } } ] }
  4. プレースホルダーを自分の情報に置き換えます。

    • 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 – S3 内の結果の送信先の Amazon リソースネーム (ARN)[Amazon リソースネーム (ARN)] は Amazon S3 のバケットの [プロパティ] タブにあります。

  5. カスタム信頼ポリシー (コンソール) を使用してロールを作成するの手順に引き続き従ってロールを作成します。