翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
アクセスコントロール AWS Lake Formation を から IAM に変更する
このセクションでは、 と統合された Amazon S3 Tables のアクセスコントロールを AWS Lake Formation 権限から IAM 権限に変更するワークフローについて説明します AWS Glue Data Catalog。
重要
アクセスコントロールを AWS Lake Formation 権限から IAM に変更すると、S3 Tables リソースへの既存の Lake Formation ベースのアクセスはすべて取り消されます。ステップ 2 を完了すると、以前に Lake Formation 許可を通じてデータにアクセスしたユーザーとロールはすぐにアクセスできなくなります。カタログを更新する前に、ステップ 1 で IAM アクセスを許可する必要があります。メンテナンス期間中にこの移行を計画し、データチームと調整します。
重要
Data Catalog オブジェクトを使用した列レベルのアクセスやデータセルフィルターなどのきめ細かなアクセスコントロールは、 AWS Lake Formation を使用する場合にのみ使用できます。アクセスコントロールを から IAM AWS Lake Formation に移行する前に、 を使用して既存の Lake Formation 許可を監査aws lakeformation list-permissionsし、同等の IAM ポリシーがユーザーに必要なアクセスを提供できるかどうかを確認します。Lake Formation のきめ細かな許可に依存していたプリンシパルには、アクセスコントロールの移行後にテーブルレベルのフルアクセスが必要です。
前提条件
開始する前に、以下を確認してください。
-
移行するリソースに対して現在有効なすべての Lake Formation 許可を特定しました。
aws lakeformation list-permissions --resource-type TABLEを実行して確認します。 -
影響を受けるすべてのプリンシパルに同等のアクセスを提供する IAM ポリシーを準備しました。
-
Lake Formation に登録された IAM ロールはまだ です
lakeformation:GetDataAccess(ハイブリッド移行期間中に必要)。
の使用 AWS CLI
-
ステップ 1: プリンシパルに IAM アクセス許可を付与する
アクセスが必要なユーザーまたはロールに IAM ポリシーをアタッチします。ポリシーには、 AWS Glue メタデータアクセス許可と S3 Tables データアクセス許可の両方を含める必要があります。
注記
次のポリシー例では、読み取りアクセスのみを提供します。
aws iam put-user-policy \ --user-nameGlueIAMAccessUser\ --policy-nameS3TablesIAMAccessPolicy\ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "GlueMetadataAccess", "Effect": "Allow", "Action": [ "glue:GetCatalog", "glue:GetDatabase", "glue:GetTable" ], "Resource": [ "arn:aws:glue:us-east-1:AWSAccountID:catalog/s3tablescatalog", "arn:aws:glue:us-east-1:AWSAccountID:database/s3tablescatalog/table-bucket-name/namespace", "arn:aws:glue:us-east-1:AWSAccountID:table/s3tablescatalog/table-bucket-name/namespace/*" ] }, { "Sid": "S3TablesDataAccess", "Effect": "Allow", "Action": [ "s3tables:GetTableBucket", "s3tables:GetTable", "s3tables:GetTableMetadataLocation", "s3tables:GetTableData" ], "Resource": [ "arn:aws:s3tables:us-east-1:AWSAccountID:bucket/table-bucket-name", "arn:aws:s3tables:us-east-1:AWSAccountID:bucket/table-bucket-name/table/*" ] } ] }'先に進む前に、影響を受けるすべてのユーザーとロールが IAM 認証情報を使用して期待されるテーブルにアクセスできることを確認します。
-
ステップ 2: カタログを更新して IAM のデフォルトのアクセス許可を復元する
カタログを更新して、
CreateDatabaseDefaultPermissionsと をALLにCreateTableDefaultPermissions付与しますIAM_ALLOWED_PRINCIPALS。をOverwriteChildResourcePermissionsWithDefaultに設定するAcceptと、新しく作成された子リソースだけでなく、既存のすべての子リソースに変更が反映されます。aws glue update-catalog \ --catalog-id "s3tablescatalog" \ --catalog-input '{ "FederatedCatalog": { "Identifier": "arn:aws:s3tables:us-east-1:AWSAccountID:bucket/*", "ConnectionName": "aws:s3tables" }, "CreateDatabaseDefaultPermissions": [{ "Principal": {"DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS"}, "Permissions": ["ALL"] }], "CreateTableDefaultPermissions": [{ "Principal": {"DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS"}, "Permissions": ["ALL"] }], "OverwriteChildResourcePermissionsWithDefault": "Accept" }' -
ステップ 3: Lake Formation からリソースの登録を解除する
すべてのアクセスが IAM ポリシーを通じて機能していること、および Lake Formation の許可に依存するプリンシパルがないことを確認したら、Lake Formation からリソースを登録解除して移行を完了できます。
aws lakeformation deregister-resource \ --resource-arn "arn:aws:s3tables:us-east-1:AWSAccountID:bucket/*"注記
リソースの登録を解除したら、不要になった IAM プリンシパル
lakeformation:GetDataAccessから を削除します。
revoke-permissions ステップは必要ありません。