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

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

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

管理者ユーザーの作成

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

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

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

(推奨)

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

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

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

(非推奨)

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

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

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

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

  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. 各 を置き換える placeholder 自分の情報を入力します。

  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. 各 を置き換える placeholder 独自の情報:

    • 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. カスタム信頼ポリシー (コンソール) を使用してロールを作成するの手順に引き続き従ってロールを作成します。