ロケーションの登録に使用されるロールの要件
Amazon Simple Storage Service (Amazon S3) ロケーションを登録するときは、AWS Identity and Access Management (IAM) ロールを指定する必要があります。AWS Lake Formation は、そのロケーションでデータにアクセスするときに、そのロールを引き受けます。
ロケーションは、以下のロールタイプのいずれかを使用して登録できます。
-
Lake Formation サービスリンクロール。このロールは、ロケーションに対する必要な許可を付与します。このロールの使用は、ロケーションを登録する最もシンプルな方法です。詳細については、「Lake Formation のサービスリンクロールの使用」を参照してください。
-
ユーザー定義のロール。ユーザー定義のロールは、サービスリンクロールが提供する許可よりも多くの許可を付与する必要があるときに使用します。
以下の状況では、ユーザー定義のロールを使用する必要があります。
-
別のアカウントにあるロケーションを登録する場合。
詳細については、「別の AWS アカウントにある Amazon S3 ロケーションの登録」および「AWS アカウント間での暗号化された Amazon S3 ロケーションの登録」を参照してください。
-
Amazon S3 ロケーションを暗号化するために AWS マネージド CMK (
aws/s3
) を使用した場合。詳細については、「暗号化された Amazon S3 ロケーションの登録」を参照してください。
-
Amazon EMR を使用してロケーションにアクセスする予定の場合。
サービスリンクロールを使用してロケーションをすでに登録しており、Amazon EMR を使用したロケーションへのアクセスを開始したいという場合は、ロケーションの登録を解除してから、ユーザー定義のロールを使用して再度登録する必要があります。詳細については、「Amazon S3 ロケーションの登録解除」を参照してください。
-
以下は、ユーザー定義のロールの要件です。
-
新しいロールを作成するときは、IAM コンソールの [ロールの作成] ページで [AWS のサービス] を選択してから、[ユースケースの選択] で [Lake Formation] を選択します。
別のパスを使用してロールを作成する場合は、そのロールに
lakeformation.amazonaws.com
との信頼関係があることを確認します。詳細については、「ロールの信頼ポリシーの変更 (コンソール)」を参照してください。 -
ロールには、以下のエンティティとの信頼関係がある必要があります。
-
glue.amazonaws.com
-
lakeformation.amazonaws.com
詳細については、「ロールの信頼ポリシーの変更 (コンソール)」を参照してください。
-
-
ロールには、ロケーションに対する Amazon S3 の読み取り/書き込み許可を付与するインラインポリシーが必要です。以下は典型的なポリシーです。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::awsexamplebucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::awsexamplebucket" ] } ] }
-
Lake Formation サービスでロールを引き受け、統合された分析エンジンに一時的な認証情報を提供できるようにするには、IAM ロールに次の信頼ポリシーを追加します。
CloudTrail ログに IAM アイデンティティセンターのユーザーコンテキストを含めるには、信頼ポリシーに
sts:SetContext
アクションのアクセス許可が必要です ("sts:SetContext")。{ "Version": "2012-10-17", "Statement": [ { "Sid": "DataCatalogViewDefinerAssumeRole1", "Effect": "Allow", "Principal": { "Service": [ "glue.amazonaws.com", "lakeformation.amazonaws.com" ] }, "Action": [ "sts:AssumeRole", "sts:SetContext" ] } ] }
-
ロケーションを登録するデータレイク管理者は、ロールに対する
iam:PassRole
許可を持っている必要があります。以下は、この許可を付与するインラインポリシーです。
<account-id>
は有効な AWS アカウント番号、<role-name>
はロールの名前に置き換えてください。{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::
<account-id>
:role/<role-name>
" ] } ] } -
Lake Formation が CloudWatch Logs にログを追加し、メトリクスを発行できるようにするには、以下のインラインポリシーを追加します。
注記
CloudWatch Logs への書き込みには料金が発生します。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Sid1", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:
<region>
:<account-id>
:log-group:/aws-lakeformation-acceleration/*", "arn:aws:logs:<region>
:<account-id>
:log-group:/aws-lakeformation-acceleration/*:log-stream:*" ] } ] }