列統計を生成するための前提条件
列統計を生成または更新するために、統計生成タスクはユーザーに代わって AWS Identity and Access Management (IAM) ロールを引き受けます。ロールに付与された許可に基づいて、列統計生成タスクは Amazon S3 データストアからデータを読み取ることができます。
AWS Glue では、列統計生成タスクを設定するときに、AWSGlueServiceRole
AWS 管理ポリシーと指定されたデータソースに必要なインラインポリシーを含むロールを作成できます。
列統計の生成に既存のロールを指定する場合は、そのロールに AWSGlueServiceRole
ポリシーまたは同等のポリシー (またはこのポリシーのスコープダウンバージョン)、および必要なインラインポリシーが含まれてることを確認します。次のステップに従って、新しい IAM ロールを作成します。
注記
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 バケット名に置き換えます。 (オプション) Lake Formation の許可を使用してデータに対するアクセスを提供している場合、IAM ロールには
lakeformation:GetDataAccess
許可が必要です。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
許可が必要です。-
カタログレベルの
Automatic statistics generation
オプションを有効にしている場合、IAM ロールには、デフォルトのデータカタログに対するglue:UpdateCatalog
アクセス許可または Lake FormationALTER CATALOG
アクセス許可が必要になります。カタログのプロパティは、GetCatalog
オペレーションを使用して確認できます。 -
(オプション) 暗号化された Amazon CloudWatch Logs を書き込む列統計生成タスクには、キーポリシーで次の許可が必要です。
-
列統計の実行に使用するロールには、そのロールに対する
iam:PassRole
のアクセス許可が必要です。 -
列統計を生成するための IAM ロールを作成する場合、そのロールには、サービスがそのロールを引き受けることを可能にする次の信頼ポリシーも必要です。