Lake Formation ペルソナとIAMアクセス許可リファレンス - AWS Lake Formation

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Lake Formation ペルソナとIAMアクセス許可リファレンス

このセクションでは、推奨される Lake Formation ペルソナとその推奨される AWS Identity and Access Management (IAM) アクセス許可をいくつか一覧表示します。Lake Formation 許可については、「Lake Formation 許可のリファレンス」を参照してください。

AWS Lake Formation ペルソナ

次の表に、推奨される AWS Lake Formation ペルソナを示します。

Lake Formation のペルソナ
ペルソナ 説明
IAM 管理者 (スーパーユーザー) (必須) ユーザーとロールを作成できるIAMユーザー。AdministratorAccess AWS マネージドポリシーがあります。すべての Lake Formation リソースに対するすべての許可を持っています。データレイク管理者を追加できます。データレイク管理者としても指定されている場合を除き、Lake Formation 許可を付与することはできません。
データレイク管理者 (必須) Amazon S3 ロケーションの登録、データカタログへのアクセス、データベースの作成、ワークフローの作成と実行、他のユーザーへの Lake Formation アクセス許可の付与、 AWS CloudTrail ログの表示を行うことができるユーザー。IAM 管理者よりもIAMアクセス許可は少ないが、データレイクを管理するには十分です。他のデータレイク管理者を追加することはできません。
読み取り専用管理者 (オプション) プリンシパル、データカタログリソース、アクセス許可、および  AWS CloudTrail  ログを表示できますが、更新するアクセス許可を持たないユーザー。
データエンジニア (オプション) データベースの作成、クローラとワークフローの作成と実行、およびクローラとワークフローが作成する Data Catalog テーブルに対する Lake Formation 許可の付与を実行できるユーザーです。すべてのデータエンジニアをデータベース作成者にすることが推奨されます。詳細については、「データベースを作成する」を参照してください。
データアナリスト (オプション) Amazon Athenaなどを使用して、データレイクに対するクエリを実行できるユーザーです。クエリを実行するために十分な許可のみを持っています。
ワークフローロール (必須) ユーザーに代わってワークフローを実行するロールです。このロールは、ブループリントからワークフローを作成するときに指定します。

AWS Lake Formation の マネージドポリシー

AWS マネージドポリシーとインラインポリシー AWS Lake Formation を使用して、 の操作に必要な AWS Identity and Access Management (IAM) アクセス許可を付与できます。Lake Formation では、次の AWS 管理ポリシーを使用できます。

AWS マネージドポリシー:AWSLakeFormationDataAdmin

AWSLakeFormationDataAdmin ポリシーは、データレイクを管理する AWS Glue ための AWS Lake Formation や などの関連サービスへの管理アクセスを許可します。

ユーザー、グループおよびロールに AWSLakeFormationDataAdmin をアタッチできます。

アクセス許可の詳細

  • CloudTrail – プリンシパルに AWS CloudTrail ログの表示を許可します。これは、データレイクの設定エラーを確認するために必要です。

  • Glue — プリンシパルに対して、Data Catalog 内のメタデータテーブルおよびデータベースの表示、作成、更新を許可します。これには、Get、、List、、CreateUpdateDeleteで始まるAPIオペレーションが含まれますSearch。これはデータレイクテーブルのメタデータを管理するために必要です。

  • IAM – プリンシパルがロールにアタッチされたIAMユーザー、ロール、ポリシーに関する情報を取得できるようにします。これは、データ管理者が Lake Formation のアクセス許可を付与するために、IAMユーザーとロールを確認して一覧表示するために必要です。

  • Lake Formation — データレイク管理者に対して、データレイクを管理するために必要な Lake Formation のアクセス許可を付与します。

  • S3 — プリンシパルに対して、Amazon S3 バケットとその場所に関する情報を取得し、データレイクのデータロケーションを設定することを許可します。

"Statement": [ { "Sid": "AWSLakeFormationDataAdminAllow", "Effect": "Allow", "Action": [ "lakeformation:*", "cloudtrail:DescribeTrails", "cloudtrail:LookupEvents", "glue:GetDatabase", "glue:GetDatabases", "glue:CreateDatabase", "glue:UpdateDatabase", "glue:DeleteDatabase", "glue:GetConnections", "glue:SearchTables", "glue:GetTable", "glue:CreateTable", "glue:UpdateTable", "glue:DeleteTable", "glue:GetTableVersions", "glue:GetPartitions", "glue:GetTables", "glue:ListWorkflows", "glue:BatchGetWorkflows", "glue:DeleteWorkflow", "glue:GetWorkflowRuns", "glue:StartWorkflowRun", "glue:GetWorkflow", "s3:ListBucket", "s3:GetBucketLocation", "s3:ListAllMyBuckets", "s3:GetBucketAcl", "iam:ListUsers", "iam:ListRoles", "iam:GetRole", "iam:GetRolePolicy" ], "Resource": "*" }, { "Sid": "AWSLakeFormationDataAdminDeny", "Effect": "Deny", "Action": [ "lakeformation:PutDataLakeSettings" ], "Resource": "*" } ] }
注記

AWSLakeFormationDataAdmin ポリシーは、データレイク管理者に必要なすべての許可を付与しません。ワークフローの作成と実行、およびサービスリンクロール AWSServiceRoleForLakeFormationDataAccess を使用したロケーションの登録には、追加の許可が必要です。詳細については、「データレイク管理者を作成する」および「Lake Formation のサービスリンクロールの使用」を参照してください。

AWS マネージドポリシー:AWSLakeFormationCrossAccountManager

AWSLakeFormationCrossAccountManager ポリシーは、Lake Formation を介して AWS Glue リソースへのクロスアカウントアクセスを提供し、 AWS Organizations や などの他の必要なサービスへの読み取りアクセスを許可します AWS RAM。

ユーザー、グループおよびロールに AWSLakeFormationCrossAccountManager をアタッチできます。

アクセス許可の詳細

このポリシーには、以下のアクセス許可が含まれています。

  • Glue — プリンシパルに対して、アクセス制御用の Data Catalog リソースポリシーの設定または削除を許可します。

  • Organizations — プリンシパルに対して、組織のアカウントおよび組織単位 (OU) 情報の取得を許可します。

  • ram:CreateResourceShare — プリンシパルに対して、リソース共有の作成を許可します。

  • ram:UpdateResourceShare —プリンシパルに対して、指定したリソース共有の一部のプロパティの変更を許可します。

  • ram:DeleteResourceShare — プリンシパルに対して、指定したリソース共有の削除を許可します。

  • ram:AssociateResourceShare — プリンシパルに対して、指定したプリンシパルのリストとリソースのリストをリソース共有に追加することを許可します。

  • ram:DisassociateResourceShare — プリンシパルに対して、指定したプリンシパルまたはリソースを、指定したリソース共有への参加から除外することを許可します。

  • ram:GetResourceShares — プリンシパルに対して、ユーザー自身が所有しているか、ユーザー自身と共有しているリソース共有に関する詳細を取得することを許可します。

  • ram:RequestedResourceType — プリンシパルに対して、リソースタイプ (データベース、テーブル、またはカタログ) の取得を許可します。

  • AssociateResourceSharePermission – プリンシパルがリソース共有に含まれるリソースタイプの AWS RAM アクセス許可を追加または置き換えることを許可します。リソース共有内のリソースタイプごとに、1 つのアクセス許可のみを関連付けることができます。

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowCreateResourceShare", "Effect": "Allow", "Action": [ "ram:CreateResourceShare" ], "Resource": "*", "Condition": { "StringLikeIfExists": { "ram:RequestedResourceType": [ "glue:Table", "glue:Database", "glue:Catalog" ] } } }, { "Sid": "AllowManageResourceShare", "Effect": "Allow", "Action": [ "ram:UpdateResourceShare", "ram:DeleteResourceShare", "ram:AssociateResourceShare", "ram:DisassociateResourceShare", "ram:GetResourceShares" ], "Resource": "*", "Condition": { "StringLike": { "ram:ResourceShareName": [ "LakeFormation*" ] } } }, { "Sid": "AllowManageResourceSharePermissions", "Effect": "Allow", "Action": [ "ram:AssociateResourceSharePermission" ], "Resource": "*", "Condition": { "StringLike": { "ram:PermissionArn": [ "arn:aws:ram::aws:permission/AWSRAMLFEnabled*" ] } } }, { "Sid": "AllowXAcctManagerPermissions", "Effect": "Allow", "Action": [ "glue:PutResourcePolicy", "glue:DeleteResourcePolicy", "organizations:DescribeOrganization", "organizations:DescribeAccount", "ram:Get*", "ram:List*" ], "Resource": "*" }, { "Sid": "AllowOrganizationsPermissions", "Effect": "Allow", "Action": [ "organizations:ListRoots", "organizations:ListAccountsForParent", "organizations:ListOrganizationalUnitsForParent" ], "Resource": "*" } ] }

AWS マネージドポリシー:AWSGlueConsoleFullAccess

AWSGlueConsoleFullAccess ポリシーは、ポリシーがアタッチされている ID が を使用する場合、 AWS Glue リソースへのフルアクセスを許可します AWS Management Console。このポリシーで指定されたリソースの命名規則に従った場合、ユーザーは完全なコンソール機能を使用できます。このポリシーは通常、 AWS Glue コンソールのユーザーにアタッチされます。

さらに、AWS Glue および Lake Formation は、Amazon Elastic Compute Cloud (Amazon EC2)、Amazon Simple Storage Service (Amazon S3)、Amazon を含む関連サービスへのアクセスAWSGlueServiceRoleを許可するサービスロールを引き受けます CloudWatch。

AWS managed policy:LakeFormationDataAccessServiceRolePolicy

このポリシーは、 という名前のサービスにリンクされたロールにアタッチServiceRoleForLakeFormationDataAccessされ、サービスがリクエスト時にリソースに対してアクションを実行できるようにします。このポリシーを ID IAM にアタッチすることはできません。

このポリシーにより、Lake Formation Amazon Athena や Amazon Redshift などの統合 AWS サービスが、サービスにリンクされたロールを使用して Amazon S3 リソースを検出できるようになります。

詳細については、「」を参照してくださいLake Formation のサービスリンクロールの使用

アクセス許可の詳細

このポリシーには、次の許可が含まれています。

  • s3:ListAllMyBuckets – リクエストの認証された送信者が所有するすべてのバケットのリストを返します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccessServiceRolePolicy", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets" ], "Resource": [ "arn:aws:s3:::*" ] } ] }
AWS マネージドポリシーに対する Lake Formation の更新

このサービスがこれらの変更の追跡を開始してからの Lake Formation の AWS マネージドポリシーの更新に関する詳細を表示します。

変更 説明 日付
Lake Formation が AWSLakeFormationCrossAccountManager ポリシーを更新しました。 Lake Formation は、AWSLakeFormationCrossAccountManagerポリシーステートメントに Sid 要素を追加することで、ポリシーを強化しました。 2024 年 3 月
Lake Formation が AWSLakeFormationDataAdmin ポリシーを更新しました。 Lake Formation は、AWSLakeFormationDataAdminポリシーステートメントに Sid 要素を追加し、冗長アクションを削除することで、ポリシーを強化しました。 2024 年 3 月
Lake Formation が LakeFormationDataAccessServiceRolePolicy ポリシーを更新しました。 Lake Formation は、LakeFormationDataAccessServiceRolePolicyポリシーステートメントに Sid 要素を追加することで、ポリシーを強化しました。 2024 年 2 月
Lake Formation が AWSLakeFormationCrossAccountManager ポリシーを更新しました。 Lake Formation は、ハイブリッドアクセスモードでクロスアカウントデータ共有を有効にする新しいアクセス許可を追加することで、AWSLakeFormationCrossAccountManagerポリシーを強化しました。 2023 年 10 月
Lake Formation が AWSLakeFormationCrossAccountManager ポリシーを更新しました。 Lake Formation は、リソースが最初に共有されたときに、受信者アカウントごとに 1 つのリソース共有のみを作成するようにAWSLakeFormationCrossAccountManagerポリシーを強化しました。以降に同じアカウントで共有されるすべてのリソースは、同じリソース共有にアタッチされます。 2022 年 5 月 6 日
Lake Formation が変更の追跡を開始しました。 Lake Formation は AWS 、管理ポリシーの変更の追跡を開始しました。 2022 年 5 月 6 日

ペルソナに推奨される許可

以下は、各ペルソナに推奨される許可です。そのユーザーはすべてのリソースに対するすべてのアクセス許可を持っているため、IAM管理者は含まれません。

データレイク管理者の許可

重要

次のポリシーで、 を置き換えます。<account-id> を有効な AWS アカウント番号に置き換えます。<workflow_role> で定義されているように、ワークフローを実行するアクセス許可を持つロールの名前。 ワークフローロールの許可

ポリシータイプ ポリシー
AWS マネージドポリシー
  • AWSLakeFormationDataAdmin

  • LakeFormationDataAccessServiceRolePolicy (サービスにリンクされたロールポリシー)

  • AWSGlueConsoleFullAccess (オプション)

  • CloudWatchLogsReadOnlyAccess – (オプション)

  • AWSLakeFormationCrossAccountManager – (オプション)

  • AmazonAthenaFullAccess (オプション)

オプションの AWS マネージドポリシーの詳細については、「」を参照してくださいデータレイク管理者を作成する

インラインポリシー (Lake Formation サービスリンクロールの作成用)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "lakeformation.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::<account-id>:role/aws-service-role/lakeformation.amazonaws.com/AWSServiceRoleForLakeFormationDataAccess" } ] }
(オプション) インラインポリシー (ワークフローロールのための PassRole ポリシー)。これは、データレイク管理者がワークフローを作成して実行する場合にのみ必要になります。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/<workflow_role>" ] } ] }
(オプション) インラインポリシー (アカウントがクロスアカウント Lake Formation 許可を付与または受けている場合)。このポリシーは、 AWS RAM リソース共有の招待を承諾または拒否し、組織へのクロスアカウントアクセス許可の付与を有効にするためのものです。 ram:EnableSharingWithAwsOrganization は、管理アカウントのデータレイク管理者 AWS Organizations にのみ必要です。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ram:AcceptResourceShareInvitation", "ram:RejectResourceShareInvitation", "ec2:DescribeAvailabilityZones", "ram:EnableSharingWithAwsOrganization" ], "Resource": "*" } ] }

読み取り専用管理者のアクセス許可

ポリシータイプ ポリシー
インラインポリシー (ベーシック)
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "lakeformation:GetEffectivePermissionsForPath", "lakeformation:ListPermissions", "lakeformation:ListDataCellsFilter", "lakeformation:GetDataCellsFilter", "lakeformation:SearchDatabasesByLFTags", "lakeformation:SearchTablesByLFTags", "lakeformation:GetLFTag", "lakeformation:ListLFTags", "lakeformation:GetResourceLFTags", "lakeformation:ListLakeFormationOptins", "cloudtrail:DescribeTrails", "cloudtrail:LookupEvents", "glue:GetDatabase", "glue:GetDatabases", "glue:GetConnections", "glue:SearchTables", "glue:GetTable", "glue:GetTableVersions", "glue:GetPartitions", "glue:GetTables", "glue:GetWorkflow", "glue:ListWorkflows", "glue:BatchGetWorkflows", "glue:GetWorkflowRuns", "glue:GetWorkflow", "s3:ListBucket", "s3:GetBucketLocation", "s3:ListAllMyBuckets", "s3:GetBucketAcl", "iam:ListUsers", "iam:ListRoles", "iam:GetRole", "iam:GetRolePolicy" ], "Resource":"*" }, { "Effect":"Deny", "Action":[ "lakeformation:PutDataLakeSettings" ], "Resource":"*" } ] }

データエンジニアの許可

重要

次のポリシーで、 を置き換えます。<account-id> を有効な AWS アカウント番号に置き換えます。<workflow_role> ワークフローロールの名前。

ポリシータイプ ポリシー
AWS マネージドポリシー AWSGlueConsoleFullAccess
インラインポリシー (ベーシック)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "lakeformation:GrantPermissions", "lakeformation:RevokePermissions", "lakeformation:BatchGrantPermissions", "lakeformation:BatchRevokePermissions", "lakeformation:ListPermissions", "lakeformation:AddLFTagsToResource", "lakeformation:RemoveLFTagsFromResource", "lakeformation:GetResourceLFTags", "lakeformation:ListLFTags", "lakeformation:GetLFTag", "lakeformation:SearchTablesByLFTags", "lakeformation:SearchDatabasesByLFTags", "lakeformation:GetWorkUnits", "lakeformation:GetWorkUnitResults", "lakeformation:StartQueryPlanning", "lakeformation:GetQueryState", "lakeformation:GetQueryStatistics" ], "Resource": "*" } ] }
インラインポリシー (トランザクション内での操作を含む、管理対象テーブルでの操作用)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:StartTransaction", "lakeformation:CommitTransaction", "lakeformation:CancelTransaction", "lakeformation:ExtendTransaction", "lakeformation:DescribeTransaction", "lakeformation:ListTransactions", "lakeformation:GetTableObjects", "lakeformation:UpdateTableObjects", "lakeformation:DeleteObjectsOnCancel" ], "Resource": "*" } ] }
インラインポリシー (Lake Formation タグベースのアクセスコントロール (LF-TBAC) メソッドを使用したメタデータアクセスコントロール用)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:AddLFTagsToResource", "lakeformation:RemoveLFTagsFromResource", "lakeformation:GetResourceLFTags", "lakeformation:ListLFTags", "lakeformation:GetLFTag", "lakeformation:SearchTablesByLFTags", "lakeformation:SearchDatabasesByLFTags" ], "Resource": "*" } ] }
インラインポリシー (ワークフローロールのための PassRole ポリシー)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/<workflow_role>" ] } ] }

データアナリストの許可

ポリシータイプ ポリシー
AWS マネージドポリシー AmazonAthenaFullAccess
インラインポリシー (ベーシック)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:SearchTables", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartitions", "lakeformation:GetResourceLFTags", "lakeformation:ListLFTags", "lakeformation:GetLFTag", "lakeformation:SearchTablesByLFTags", "lakeformation:SearchDatabasesByLFTags" ], "Resource": "*" } ] }
(オプション) インラインポリシー (トランザクション内での操作を含む、管理対象テーブルでの操作用)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:StartTransaction", "lakeformation:CommitTransaction", "lakeformation:CancelTransaction", "lakeformation:ExtendTransaction", "lakeformation:DescribeTransaction", "lakeformation:ListTransactions", "lakeformation:GetTableObjects", "lakeformation:UpdateTableObjects", "lakeformation:DeleteObjectsOnCancel" ], "Resource": "*" } ] }

ワークフローロールの許可

このロールには、ワークフローを実行するために必要な許可があります。これらの許可を持つロールは、ワークフローを作成するときに指定します。

重要

次のポリシーで、 を置き換えます。<region> 有効な AWS リージョン識別子 (例: us-east-1)、<account-id> 有効な AWS アカウント番号、<workflow_role> ワークフローロールの名前、および <your-s3-cloudtrail-bucket> AWS CloudTrail ログへの Amazon S3 パスを使用します。

ポリシータイプ ポリシー
AWS マネージドポリシー AWSGlueServiceRole
インラインポリシー (データアクセス)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Lakeformation", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "lakeformation:GrantPermissions" ], "Resource": "*" } ] }
インラインポリシー (ワークフローロールのための PassRole ポリシー)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/<workflow_role>" ] } ] }
インラインポリシー ( AWS CloudTrail ログなど、データレイクの外部でデータを取り込む場合)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:GetObject", "s3:ListBucket"], "Resource": ["arn:aws:s3:::<your-s3-cloudtrail-bucket>/*"] } ] }