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 ロケーションの登録、Data Catalog へのアクセス、データベースの作成、ワークフローの作成と実行、他のユーザーへの 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 Lake Formation 、データレイクを管理する AWS Glue ための や などの関連サービスへの管理アクセスを許可します。

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

アクセス許可の詳細

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

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

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

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

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

{ "Version": "2012-10-17", "Statement": [ { "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:GetWorkflow", "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": "*" }, { "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": [ { "Effect": "Allow", "Action": [ "ram:CreateResourceShare" ], "Resource": "*", "Condition": { "StringLikeIfExists": { "ram:RequestedResourceType": [ "glue:Table", "glue:Database", "glue:Catalog" ] } } }, { "Effect": "Allow", "Action": [ "ram:UpdateResourceShare", "ram:DeleteResourceShare", "ram:AssociateResourceShare", "ram:DisassociateResourceShare", "ram:GetResourceShares" ], "Resource": "*", "Condition": { "StringLike": { "ram:ResourceShareName": [ "LakeFormation*" ] } } }, { "Effect": "Allow", "Action": [ "ram:AssociateResourceSharePermission" ], "Resource": "*", "Condition": { "StringLike": { "ram:PermissionArn": [ "arn:aws:ram::aws:permission/AWSRAMLFEnabled*" ] } } }, { "Effect": "Allow", "Action": [ "glue:PutResourcePolicy", "glue:DeleteResourcePolicy", "organizations:DescribeOrganization", "organizations:DescribeAccount", "ram:Get*", "ram:List*" ], "Resource": "*" }, { "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がリクエスト時にリソースに対してアクションを実行できるようにする、 という名前のサービスにリンクされたロールにアタッチされます。このポリシーを IAM ID にアタッチすることはできません。

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

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

アクセス許可の詳細

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

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

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

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

変更 説明 日付
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:ListLakeFormationOptin", "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>/*"] } ] }