翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Lake Formation のサービスリンクロールの使用
AWS Lake Formation は、 AWS Identity and Access Management (IAM) サービスにリンクされたロール を使用します。サービスリンクロールは、Lake Formation に直接リンクされた特殊なタイプの IAM ロールです。サービスにリンクされたロールは Lake Formation によって事前定義されており、サービスがユーザーに代わって他の AWS サービスを呼び出すために必要なすべてのアクセス許可が含まれています。
ロールを作成して必要な許可を手動で追加する必要がないため、サービスリンクロールは Lake Formation のセットアップを容易にします。サービスリンクロールの許可は Lake Formation が定義し、別途定義されている場合を除いて、Lake Formation のみがそのロールを引き受けることができます。定義された許可には信頼ポリシーと許可ポリシーが含まれ、その許可ポリシーを他の IAM エンティティにアタッチすることはできません。
このサービスリンクロールは、ロールの引き受けについて以下のサービスを信頼します。
-
lakeformation.amazonaws.com
アカウント A のサービスにリンクされたロールを使用して、アカウント B が所有する Amazon S3 ロケーションを登録する場合、アカウント B の Amazon S3 バケットポリシー (リソースベースのポリシー) は、アカウント A のサービスにリンクされたロールにアクセス許可を付与する必要があります。
注記
サービスコントロールポリシー (SCPs、サービスにリンクされたロールには影響しません。
詳細については、 AWS Organizations ユーザーガイドのSCPs)」を参照してください。
Lake Formation のサービスリンクロールの許可
Lake Formation は、AWSServiceRoleForLakeFormationDataAccess
という名前のサービスリンクロールを使用します。このロールは、Lake Formation 統合サービス ( など) が登録済みロケーションにアクセスできるようにする一連の Amazon Simple Storage Service (Amazon S3 Amazon Athena) アクセス許可を提供します。データレイクロケーションを登録するときは、そのロケーションに対する必要な Amazon S3 読み取り/書き込み許可を持つロールを指定する必要があります。ユーザーは、必要な Amazon S3 許可を持つロールを作成する代わりに、このサービスリンクロールを使用することができます。
パスを登録するためのロールとしてサービスリンクロールを初めて指定すると、ユーザーに代わってサービスリンクロールと新しい IAM ポリシーが作成されます。Lake Formation がインラインポリシーにそのパスを追加し、ポリシーをサービスリンクロールにアタッチします。サービスリンクロールに後続のパスを登録すると、Lake Formation がそのパスを既存のポリシーに追加します。
データレイク管理者としてサインインしているときに、データレイクロケーションを登録します。次に、IAM コンソールで AWSServiceRoleForLakeFormationDataAccess
ロールを検索し、アタッチされたポリシーを確認します。
例えば、s3://my-kinesis-test/logs
のロケーションを登録すると、Lake Formation が以下のインラインポリシーを作成し、AWSServiceRoleForLakeFormationDataAccess
にアタッチします。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccessPermissionsForS3", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::
my-kinesis-test/logs/*
" ] }, { "Sid": "LakeFormationDataAccessPermissionsForS3ListBucket", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:ListBucketMultipartUploads" ], "Resource": [ "arn:aws:s3:::my-kinesis-test
" ] } ] }
Lake Formation のサービスにリンクされたロールの作成
サービスリンクロールを手動で作成する必要はありません。Amazon S3 ロケーションを AWS Management Console、、 AWS CLIまたは AWS API で Lake Formation に登録すると、Lake Formation によってサービスにリンクされたロールが作成されます。
重要
このサービスリンクロールは、このロールでサポートされている機能を使用する別のサービスでアクションが完了した場合にアカウントに表示されます。詳細については、「IAM アカウントに新しいロールが表示される」を参照してください。
このサービスリンクロールを削除した後で再度作成する必要が生じた場合は、同じ手順でアカウントにロールを再作成できます。Amazon S3 ロケーションを Lake Formation に登録すると、Lake Formation によってサービスにリンクされたロールが再度作成されます。
IAM コンソールを使用して、Lake Formation ユースケースでサービスにリンクされたロールを作成することもできます。 AWS CLI または AWS API で、サービス名を使用してlakeformation.amazonaws.com
サービスにリンクされたロールを作成します。詳細については、「IAM ユーザーガイド」の「サービスにリンクされたロールの作成」を参照してください。このサービスリンクロールを削除しても、同じ方法でロールを再作成できます。
Lake Formation のサービスにリンクされたロールの編集
Lake Formation では、AWSServiceRoleForLakeFormationDataAccess
サービスにリンクされたロールを編集することはできません。サービスリンクロールを作成した後は、多くのエンティティによってロールが参照される可能性があるため、ロール名を変更することはできません。ただし、IAM を使用したロールの説明の編集はできます。詳細については、「IAM ユーザーガイド」の「サービスリンクロールの編集」を参照してください。
Lake Formation のサービスにリンクされたロールの削除
サービスリンクロールが必要な機能またはサービスが不要になった場合には、そのロールを削除することをお勧めします。そうすることで、積極的にモニタリングまたは保守されていない未使用のエンティティを排除できます。ただし、手動で削除する前に、サービスリンクロールのリソースをクリーンアップする必要があります。
注記
リソースを削除しようとしたときに Lake Formation サービスがロールを使用している場合、削除が失敗する可能性があります。失敗した場合は、数分待ってから操作を再試行してください。
Lake Formation が使用する Lake Formation リソースを削除するには
-
サービスにリンクされたロールを使用して Amazon S3 ロケーションを Lake Formation に登録している場合は、サービスにリンクされたロールを削除する前に、ロケーションを登録解除し、カスタムロールを使用して再登録する必要があります。
サービスにリンクされたロールを IAM で手動削除するには
IAM コンソール、、または AWS API を使用して AWS CLI、AWSServiceRoleForLakeFormationDataAccess
サービスにリンクされたロールを削除します。詳細については、「IAM ユーザーガイド」の「サービスリンクロールの削除」を参照してください。