翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
列統計を生成するための前提条件
列統計を生成または更新するために、統計生成タスクはユーザーに代わって AWS Identity and Access Management (IAM) ロールを引き受けます。ロールに付与された許可に基づいて、列統計生成タスクは Amazon S3 データストアからデータを読み取ることができます。
注記
Lake Formation によって管理されるテーブルの統計を生成するには、統計の生成に使用される IAM ロールに完全なテーブルアクセスが必要です。
AWS Glue では、列統計生成タスクを設定するときに、AWSGlueServiceRole
AWS 管理ポリシーと指定されたデータソースに必要なインラインポリシーを含むロールを作成できます。また、ロールを作成して、以下のポリシーにリストされているアクセス許可をアタッチし、そのロールを列統計生成タスクに追加することもできます。
列統計を生成するための IAM ロールを作成するには
-
IAM ロールを作成するには、「AWS Glue の IAM ロールを作成する」を参照してください。
-
既存のロールを更新するには、IAM コンソールで、列統計の生成プロセスで使用されている IAM ロールにアクセスします。
-
[許可を追加] セクションで、[ポリシーをアタッチ] を選択します。新しく開いたブラウザウィンドウで、
AWSGlueServiceRole
AWS マネージドポリシーを選択します。 -
Amazon S3 のデータの場所からデータを読み取るための許可も含める必要があります。
[Add permissions] (アクセス許可の追加) セクションで、[Create policy] (ポリシーの作成) を選択します。新しく開いたブラウザウィンドウで、ロールで使用する新しいポリシーを作成します。
-
[ポリシーを作成] ページで、[JSON] タブを選択します。次の
JSON
コードをポリシーエディタフィールドにコピーします。注記
次のポリシーでは、アカウント ID を有効な AWS アカウント に置き換え、
region
をテーブルのリージョンに置き換え、bucket-name
を Amazon S3 バケット名に置き換えます。{ "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>
" ] } ] } (オプション) Lake Formation の許可を使用してデータに対するアクセスを提供している場合、IAM ロールには
lakeformation:GetDataAccess
許可が必要です。{ "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccess", "Effect": "Allow", "Action": "lakeformation:GetDataAccess", "Resource": [ "*" ] } ] }
Amazon S3 のデータの場所が Lake Formation に登録されており、テーブルに対する
IAM_ALLOWED_PRINCIPALS
グループ許可が、列統計生成タスクによって引き受けられる IAM ロールに付与されていない場合、そのロールには、テーブルに対する Lake FormationALTER
およびDESCRIBE
許可が必要です。Amazon S3 バケットの登録に使用されるロールには、テーブルに対する Lake FormationINSERT
およびDELETE
許可が必要です。Amazon S3 のデータの場所が Lake Formation に登録されておらず、テーブルに対する
IAM_ALLOWED_PRINCIPALS
グループ許可が IAM ロールに付与されていない場合、そのロールには、テーブルに対する Lake FormationALTER
、DESCRIBE
、INSERT
、およびDELETE
許可が必要です。-
(オプション) 暗号化された 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"] } } } ] } -
列統計の実行に使用するロールには、そのロールに対する
iam:PassRole
のアクセス許可が必要です。{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::
111122223333
:role/<columnstats-role-name>
" ] }] } -
列統計を生成するための IAM ロールを作成する場合、そのロールには、サービスがそのロールを引き受けることを可能にする次の信頼ポリシーも必要です。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "TrustPolicy", "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole", } ] }