Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tabel S3 menyediakan kebijakan berbasis sumber daya untuk mengelola akses ke bucket dan tabel tabel: kebijakan keranjang tabel dan kebijakan tabel. Anda dapat menggunakan kebijakan bucket tabel untuk memberikan izin akses API di keranjang tabel, namespace, atau tingkat tabel. Izin yang dilampirkan pada bucket tabel dapat diterapkan ke semua tabel di bucket atau tabel tertentu di bucket, tergantung pada definisi kebijakan. Anda dapat menggunakan kebijakan tabel untuk memberikan izin di tingkat tabel.
Ketika Tabel S3 menerima permintaan, pertama-tama memverifikasi bahwa pemohon memiliki izin yang diperlukan. Ini mengevaluasi semua kebijakan akses yang relevan, kebijakan pengguna, dan kebijakan berbasis sumber daya dalam memutuskan apakah akan mengotorisasi permintaan (kebijakan pengguna IAM, kebijakan peran IAM, kebijakan keranjang tabel, dan kebijakan tabel). Misalnya, jika kebijakan bucket tabel memberikan izin kepada pengguna untuk melakukan semua tindakan pada tabel dalam bucket (termasukDeleteTable
), tetapi tabel individual memiliki kebijakan tabel yang menolak DeleteTable
tindakan untuk semua pengguna, maka pengguna tidak dapat menghapus tabel tersebut.
Topik berikut mencakup contoh kebijakan keranjang tabel dan tabel. Untuk menggunakan kebijakan ini, ganti user input placeholders
dengan informasi Anda sendiri.
catatan
-
Setiap kebijakan yang memberikan izin untuk mengubah tabel harus menyertakan izin
GetTableMetadataLocation
untuk mengakses file root tabel. Untuk informasi selengkapnya, lihatGetTableMetadataLocation
. -
Setiap kali Anda melakukan aktivitas tulis atau hapus di tabel, sertakan izin
UpdateTableMetadataLocation
dalam kebijakan akses Anda. -
Sebaiknya gunakan kebijakan bucket tabel untuk mengatur akses ke tindakan tingkat ember dan kebijakan tabel untuk mengatur akses ke tindakan tingkat tabel. Jika Anda ingin menentukan kumpulan izin yang sama di beberapa tabel, sebaiknya gunakan kebijakan bucket tabel.
Topik
Contoh 1: Kebijakan bucket tabel memungkinkan akses ke PutBucketMaintenanceConfiguration
bucket di akun
Contoh kebijakan bucket tabel berikut memungkinkan IAM data steward
menghapus objek yang tidak direferensikan untuk semua bucket di akun dengan mengizinkan akses ke. PutBucketMaintenanceConfiguration
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::account_id
:role/datasteward"
},
"Action": ["s3tables:PutTableBucketMaintenanceConfiguration”],
"Resource":"arn:aws:s3tables:region:account_id
:bucket/*”
}]
}
Contoh 2: Kebijakan keranjang tabel untuk memungkinkan akses baca (SELECT) ke tabel yang disimpan di hr
namespace
Berikut contoh kebijakan bucket tabel memungkinkan Jane, pengguna dari Akun AWS ID 123456789012
untuk mengakses tabel yang disimpan di hr
namespace dalam bucket tabel.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"Principal": {
"AWS": "arn:aws:iam::123456789012:user/Jane"
},
"Action": [
"s3tables:GetTableData",
"s3tables:GetTableMetadataLocation"
],
"Resource":{ "arn:aws:s3tables:region
:account_id
:bucket/amzn-s3-demo-bucket1
/table/*”}
"Condition": {
"StringLike": { "s3tables:namespace": "hr" }
}
]
}
Contoh 3: Kebijakan tabel untuk memungkinkan pengguna menghapus tabel
Berikut contoh kebijakan tabel yang memungkinkan peran IAM data steward
untuk menghapus tabel.
{
"Version": "2012-10-17",
"Id": "DeleteTable",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::account_id
:role/datasteward
"
},
"Action": [
"s3tables:DeleteTable",
"s3tables:UpdateTableMetadataLocation",
"s3tables:PutTableData",
"s3tables:GetTableMetadataLocation"
],
"Resource":"arn:aws:s3tables:region
:account_id
:bucket/amzn-s3-demo-bucket1
/table/tableUUID
"
}]
}