Referensi persona dan IAM izin Lake Formation - AWS Lake Formation

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Referensi persona dan IAM izin Lake Formation

Bagian ini mencantumkan beberapa persona Lake Formation yang disarankan dan izin AWS Identity and Access Management (IAM) yang disarankan. Untuk informasi tentang izin Lake Formation, lihatReferensi izin Lake Formation.

AWS Lake Formation persona

Tabel berikut mencantumkan AWS Lake Formation persona yang disarankan.

Personas Lake Formation
Persona Deskripsi
IAMadministrator (pengguna super) (Wajib) Pengguna yang dapat membuat IAM pengguna dan peran. Memiliki kebijakan yang AdministratorAccess AWS dikelola. Memiliki semua izin pada semua sumber daya Lake Formation. Dapat menambahkan administrator danau data. Tidak dapat memberikan izin Lake Formation jika tidak juga ditunjuk sebagai administrator danau data.
Administrator danau data (Wajib) Pengguna yang dapat mendaftarkan lokasi Amazon S3, mengakses Katalog Data, membuat database, membuat dan menjalankan alur kerja, memberikan izin Lake Formation kepada pengguna lain, dan melihat log. AWS CloudTrail Memiliki IAM izin lebih sedikit daripada IAM administrator, tetapi cukup untuk mengelola data lake. Tidak dapat menambahkan administrator danau data lainnya.
Hanya baca administrator (Opsional) Pengguna yang dapat melihat prinsipal, sumber daya Katalog Data, izin, dan AWS CloudTrail log, tanpa izin untuk melakukan pembaruan.
Insinyur data (Opsional) Pengguna yang dapat membuat database, membuat dan menjalankan crawler dan alur kerja, serta memberikan izin Lake Formation pada tabel Katalog Data yang dibuat oleh crawler dan alur kerja. Kami menyarankan Anda membuat semua pembuat database insinyur data. Untuk informasi selengkapnya, lihat Membuat basis data.
Analis data (Opsional) Pengguna yang dapat menjalankan kueri terhadap data lake menggunakan, misalnya, Amazon Athena. Hanya memiliki izin yang cukup untuk menjalankan kueri.
Peran alur kerja (Wajib) Peran yang menjalankan alur kerja atas nama pengguna. Anda menentukan peran ini saat membuat alur kerja dari cetak biru.

AWS kebijakan terkelola untuk Lake Formation

Anda dapat memberikan izin AWS Identity and Access Management (IAM) yang diperlukan untuk bekerja AWS Lake Formation dengan menggunakan kebijakan AWS terkelola dan kebijakan sebaris. Kebijakan AWS terkelola berikut tersedia untuk Lake Formation.

AWS kebijakan terkelola: AWSLakeFormationDataAdmin

AWSLakeFormationDataAdminkebijakan memberikan akses administratif ke AWS Lake Formation dan layanan terkait seperti AWS Glue untuk mengelola danau data.

Anda dapat melampirkan AWSLakeFormationDataAdmin ke pengguna, grup, dan peran Anda.

Detail izin

  • CloudTrail— Memungkinkan kepala sekolah untuk melihat log. AWS CloudTrail Ini diperlukan untuk meninjau kesalahan apa pun dalam pengaturan data lake.

  • Glue— Memungkinkan prinsipal untuk melihat, membuat, dan memperbarui tabel metadata dan database dalam Katalog Data. Ini termasuk API operasi yang dimulai denganGet,List,Create,Update,Delete, danSearch. Ini diperlukan untuk mengelola metadata tabel data lake.

  • IAM— Memungkinkan kepala sekolah untuk mengambil informasi tentang IAM pengguna, peran, dan kebijakan yang melekat pada peran. Ini diperlukan agar admin data meninjau dan mencantumkan IAM pengguna dan peran untuk memberikan izin Lake Formation.

  • Lake Formation— Memberikan admin data lake memerlukan izin Lake Formation untuk mengelola data lake.

  • S3— Memungkinkan kepala sekolah untuk mengambil informasi tentang bucket Amazon S3 dan lokasinya untuk mengatur lokasi data untuk data lake.

"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": "*" } ] }
catatan

AWSLakeFormationDataAdminKebijakan ini tidak memberikan setiap izin yang diperlukan untuk administrator data lake. Izin tambahan diperlukan untuk membuat dan menjalankan alur kerja dan mendaftarkan lokasi dengan peran terkait layanan. AWSServiceRoleForLakeFormationDataAccess Untuk informasi selengkapnya, silakan lihat Buat administrator danau data dan Menggunakan peran terkait layanan untuk Lake Formation.

AWS kebijakan terkelola: AWSLakeFormationCrossAccountManager

AWSLakeFormationCrossAccountManagerkebijakan menyediakan akses lintas akun ke AWS Glue sumber daya melalui Lake Formation, dan memberikan akses baca ke layanan lain yang diperlukan seperti AWS Organizations dan AWS RAM.

Anda dapat melampirkan AWSLakeFormationCrossAccountManager ke pengguna, grup, dan peran Anda.

Detail izin

Kebijakan ini mencakup izin berikut.

  • Glue— Memungkinkan prinsipal untuk mengatur atau menghapus kebijakan sumber daya Katalog Data untuk kontrol akses.

  • Organizations— Memungkinkan kepala sekolah untuk mengambil informasi akun dan unit organisasi (OU) untuk suatu organisasi.

  • ram:CreateResourceShare— Memungkinkan kepala sekolah untuk membuat pembagian sumber daya.

  • ram:UpdateResourceShare—Memungkinkan prinsipal untuk memodifikasi beberapa properti dari pembagian sumber daya yang ditentukan.

  • ram:DeleteResourceShare— Memungkinkan prinsipal untuk menghapus pembagian sumber daya yang ditentukan.

  • ram:AssociateResourceShare— Memungkinkan prinsipal untuk menambahkan daftar prinsipal dan daftar sumber daya yang ditentukan ke pembagian sumber daya.

  • ram:DisassociateResourceShare— Memungkinkan prinsipal untuk menghapus prinsip atau sumber daya yang ditentukan dari berpartisipasi dalam pembagian sumber daya yang ditentukan.

  • ram:GetResourceShares— Memungkinkan kepala sekolah untuk mengambil rincian tentang pembagian sumber daya yang Anda miliki atau yang dibagikan dengan Anda.

  • ram:RequestedResourceType— Memungkinkan prinsipal untuk mengambil jenis sumber daya (database, tabel atau katalog).

  • AssociateResourceSharePermission— Memungkinkan prinsipal untuk menambah atau mengganti AWS RAM izin untuk jenis sumber daya yang disertakan dalam pembagian sumber daya. Anda dapat memiliki persis satu izin yang terkait dengan setiap jenis sumber daya dalam pembagian sumber daya.

{ "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 kebijakan terkelola: AWSGlueConsoleFullAccess

AWSGlueConsoleFullAccesskebijakan memberikan akses penuh ke AWS Glue sumber daya ketika identitas yang dilampirkan kebijakan menggunakan. AWS Management Console Jika Anda mengikuti konvensi penamaan untuk sumber daya yang ditentukan dalam kebijakan ini, maka pengguna memiliki kemampuan konsol penuh. Kebijakan ini biasanya dilampirkan ke pengguna AWS Glue konsol.

Selain itu, AWS Glue dan Lake Formation mengambil peran layanan AWSGlueServiceRole untuk memungkinkan akses ke layanan terkait, termasuk Amazon Elastic Compute Cloud (AmazonEC2), Amazon Simple Storage Service (Amazon S3), dan Amazon. CloudWatch

AWS managed policy:LakeFormationDataAccessServiceRolePolicy

Kebijakan ini dilampirkan ke peran terkait layanan bernama ServiceRoleForLakeFormationDataAccess yang memungkinkan layanan melakukan tindakan pada sumber daya atas permintaan Anda. Anda tidak dapat melampirkan kebijakan ini ke IAM identitas Anda.

Kebijakan ini memungkinkan AWS layanan terintegrasi Lake Formation seperti Amazon Athena atau Amazon Redshift menggunakan peran terkait layanan untuk menemukan sumber daya Amazon S3.

Untuk informasi lebih lanjut lihat,Menggunakan peran terkait layanan untuk Lake Formation.

Detail izin

Kebijakan ini mencakup izin berikut.

  • s3:ListAllMyBuckets— Mengembalikan daftar semua bucket yang dimiliki oleh pengirim permintaan yang diautentikasi.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccessServiceRolePolicy", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets" ], "Resource": [ "arn:aws:s3:::*" ] } ] }
Lake Formation memperbarui kebijakan AWS terkelola

Lihat detail tentang pembaruan kebijakan AWS terkelola untuk Lake Formation sejak layanan ini mulai melacak perubahan ini.

Perubahan Deskripsi Tanggal
AWSLakeFormationCrossAccountManagerKebijakan yang diperbarui Lake Formation. Lake Formation meningkatkan AWSLakeFormationCrossAccountManagerkebijakan dengan menambahkan elemen Sid ke dalam pernyataan kebijakan. Maret, 2024
AWSLakeFormationDataAdminKebijakan yang diperbarui Lake Formation. Lake Formation meningkatkan AWSLakeFormationDataAdminkebijakan dengan menambahkan elemen Sid ke pernyataan kebijakan dan menghapus tindakan yang berlebihan. Maret, 2024
LakeFormationDataAccessServiceRolePolicyKebijakan yang diperbarui Lake Formation. Lake Formation meningkatkan LakeFormationDataAccessServiceRolePolicykebijakan dengan menambahkan elemen Sid ke pernyataan kebijakan. Februari, 2024
AWSLakeFormationCrossAccountManagerKebijakan yang diperbarui Lake Formation. Lake Formation meningkatkan AWSLakeFormationCrossAccountManagerkebijakan dengan menambahkan izin baru untuk mengaktifkan berbagi data lintas akun dalam mode akses hibrida. Oktober, 2023
AWSLakeFormationCrossAccountManagerKebijakan yang diperbarui Lake Formation. Lake Formation menyempurnakan AWSLakeFormationCrossAccountManagerkebijakan untuk membuat hanya satu pembagian sumber daya per akun penerima saat sumber daya pertama kali dibagikan. Semua sumber daya yang dibagikan setelahnya dengan akun yang sama dilampirkan ke pembagian sumber daya yang sama. 6 Mei 2022
Lake Formation mulai melacak perubahan. Lake Formation mulai melacak perubahan untuk kebijakan yang AWS dikelola. 6 Mei 2022

Personas menyarankan izin

Berikut ini adalah izin yang disarankan untuk setiap persona. IAMAdministrator tidak disertakan karena pengguna tersebut memiliki semua izin pada semua sumber daya.

Izin administrator danau data

penting

Dalam kebijakan berikut, ganti <account-id> dengan nomor AWS rekening yang valid, dan ganti <workflow_role> dengan nama peran yang memiliki izin untuk menjalankan alur kerja, seperti yang didefinisikan dalam. Izin peran alur kerja

Jenis Kebijakan Kebijakan
AWS kebijakan terkelola
  • AWSLakeFormationDataAdmin

  • LakeFormationDataAccessServiceRolePolicy(kebijakan peran terkait layanan)

  • AWSGlueConsoleFullAccess (Opsional)

  • CloudWatchLogsReadOnlyAccess (Opsional)

  • AWSLakeFormationCrossAccountManager (Opsional)

  • AmazonAthenaFullAccess (Opsional)

Untuk informasi tentang kebijakan AWS terkelola opsional, lihatBuat administrator danau data.

Kebijakan sebaris (untuk membuat peran terkait layanan 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" } ] }
(Opsional) Kebijakan sebaris (kebijakan peran sandi untuk peran alur kerja). Ini diperlukan hanya jika administrator data lake membuat dan menjalankan alur kerja.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/<workflow_role>" ] } ] }
(Opsional) Kebijakan sebaris (jika akun Anda memberikan atau menerima izin Lake Formation lintas akun). Kebijakan ini untuk menerima atau menolak undangan berbagi AWS RAM sumber daya, dan untuk memungkinkan pemberian izin lintas akun kepada organisasi. ram:EnableSharingWithAwsOrganizationdiperlukan hanya untuk administrator danau data di akun AWS Organizations manajemen.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ram:AcceptResourceShareInvitation", "ram:RejectResourceShareInvitation", "ec2:DescribeAvailabilityZones", "ram:EnableSharingWithAwsOrganization" ], "Resource": "*" } ] }

Baca hanya izin administrator

Jenis kebijakan Kebijakan
Kebijakan inline (dasar)
{ "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":"*" } ] }

Izin insinyur data

penting

Dalam kebijakan berikut, ganti <account-id> dengan nomor AWS rekening yang valid, dan ganti <workflow_role> dengan nama peran alur kerja.

Jenis Kebijakan Kebijakan
AWS kebijakan terkelola AWSGlueConsoleFullAccess
Kebijakan inline (dasar)
{ "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": "*" } ] }
Kebijakan inline (untuk operasi pada tabel yang diatur, termasuk operasi dalam transaksi)
{ "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": "*" } ] }
Kebijakan inline (untuk kontrol akses metadata menggunakan metode kontrol akses berbasis tag 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": "*" } ] }
Kebijakan inline (kebijakan passrole untuk peran alur kerja)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/<workflow_role>" ] } ] }

Izin analis data

Jenis Kebijakan Kebijakan
AWS kebijakan terkelola AmazonAthenaFullAccess
Kebijakan inline (dasar)
{ "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": "*" } ] }
(Opsional) Kebijakan inline (untuk operasi pada tabel yang diatur, termasuk operasi dalam transaksi)
{ "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": "*" } ] }

Izin peran alur kerja

Peran ini memiliki izin yang diperlukan untuk menjalankan alur kerja. Anda menentukan peran dengan izin ini saat membuat alur kerja.

penting

Dalam kebijakan berikut, ganti <region> dengan pengenal AWS Wilayah yang valid (misalnyaus-east-1), <account-id> dengan nomor AWS rekening yang valid, <workflow_role> dengan nama peran alur kerja, dan <your-s3-cloudtrail-bucket> dengan jalur Amazon S3 ke log Anda AWS CloudTrail .

Jenis Kebijakan Kebijakan
AWS kebijakan terkelola AWSGlueServiceRole
Kebijakan inline (akses data)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Lakeformation", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "lakeformation:GrantPermissions" ], "Resource": "*" } ] }
Kebijakan inline (kebijakan passrole untuk peran alur kerja)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/<workflow_role>" ] } ] }
Kebijakan sebaris (untuk menelan data di luar data lake, misalnya, AWS CloudTrail log)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:GetObject", "s3:ListBucket"], "Resource": ["arn:aws:s3:::<your-s3-cloudtrail-bucket>/*"] } ] }