列統計を生成するための前提条件 - AWS Glue

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

列統計を生成するための前提条件

列統計を生成または更新するには、統計生成タスクがユーザーに代わって AWS Identity and Access Management (IAM) ロールを引き受けます。ロールに付与された許可に基づいて、列統計生成タスクは Amazon S3 データストアからデータを読み取ることができます。

列統計生成タスクを設定すると、 AWS Glue は、AWSGlueServiceRole AWS マネージドポリシーと指定されたデータソースに必要なインラインポリシーを含むロールを作成できます。

列統計を生成するための既存のロールを指定する場合は、AWSGlueServiceRoleポリシーまたは同等のもの (またはこのポリシーのスコープダウンバージョン) と、必要なインラインポリシーが含まれていることを確認してください。新しいIAMロールを作成するには、次の手順に従います。

注記

Lake Formation が管理するテーブルの統計を生成するには、統計の生成に使用されるIAMロールに完全なテーブルアクセスが必要です。

列統計生成タスクを設定すると、 AWS Glue は、AWSGlueServiceRole AWS マネージドポリシーと指定されたデータソースに必要なインラインポリシーを含むロールを作成できます。また、ロールを作成して、以下のポリシーにリストされているアクセス許可をアタッチし、そのロールを列統計生成タスクに追加することもできます。

列統計を生成するためのIAMロールを作成するには
  1. IAM ロールを作成するには、「 のIAMロールを作成する AWS Glue」を参照してください。

  2. 既存のロールを更新するには、IAMコンソールで、列統計の生成プロセスで使用されているIAMロールに移動します。

  3. [許可を追加] セクションで、[ポリシーをアタッチ] を選択します。新しく開いたブラウザウィンドウで、AWSGlueServiceRole AWS マネージドポリシーを選択します。

  4. Amazon S3 のデータの場所からデータを読み取るための許可も含める必要があります。

    [Add permissions] (アクセス許可の追加) セクションで、[Create policy] (ポリシーの作成) を選択します。新しく開いたブラウザウィンドウで、ロールで使用する新しいポリシーを作成します。

  5. ポリシーの作成ページで、 JSONタブを選択します。次の JSON コードをポリシーエディタフィールドにコピーします。

    注記

    次のポリシーでは、アカウント ID を有効な に置き換え AWS アカウント、 をテーブルのregionリージョンに置き換え、 を Amazon S3 バケット名bucket-nameに置き換えます。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "S3BucketAccess", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::<bucket-name>/*", "arn:aws:s3:::<bucket-name>" ] } ] }
  6. (オプション) Lake Formation アクセス許可を使用してデータへのアクセスを提供する場合、IAMロールには アクセスlakeformation:GetDataAccess許可が必要です。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccess", "Effect": "Allow", "Action": "lakeformation:GetDataAccess", "Resource": [ "*" ] } ] }

    Amazon S3 データロケーションが Lake Formation に登録されており、列統計生成タスクで引き受けられるIAMロールにテーブルで付与されたIAM_ALLOWED_PRINCIPALSグループアクセス許可がない場合、ロールには Lake Formation ALTERとテーブルに対するDESCRIBEアクセス許可が必要です。Amazon S3 バケットの登録に使用するロールには、テーブルに対する Lake Formation の INSERT および DELETE アクセス許可が必要です。

    Amazon S3 データロケーションが Lake Formation に登録されておらず、IAMロールにテーブルで付与されたIAM_ALLOWED_PRINCIPALSグループアクセス許可がない場合、ロールにはテーブルで Lake Formation ALTERDESCRIBEINSERTおよび アクセスDELETE許可が必要です。

  7. (オプション) 暗号化された Amazon CloudWatch Logs を書き込む列統計生成タスクには、キーポリシーで次の許可が必要です。

    { "Version": "2012-10-17", "Statement": [{ "Sid": "CWLogsKmsPermissions", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:AssociateKmsKey" ], "Resource": [ "arn:aws:logs:<region>:111122223333:log-group:/aws-glue:*" ] }, { "Sid": "KmsPermissions", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:Encrypt" ], "Resource": [ "arn:aws:kms:<region>:111122223333:key/"arn of key used for ETL cloudwatch encryption" ], "Condition": { "StringEquals": { "kms:ViaService": ["glue.<region>.amazonaws.com"] } } } ] }
  8. 列統計の実行に使用するロールには、そのロールに対する iam:PassRole のアクセス許可が必要です。

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::111122223333:role/<columnstats-role-name>" ] }] }
  9. 列統計を生成するためのIAMロールを作成する場合、そのロールには、サービスがロールを引き受けることを可能にする次の信頼ポリシーも必要です。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "TrustPolicy", "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole", } ] }