View a markdown version of this page

Persyaratan izin untuk enkripsi SSE-KMS Tabel S3 - Amazon Simple Storage Service

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

Persyaratan izin untuk enkripsi SSE-KMS Tabel S3

Saat Anda menggunakan enkripsi sisi server dengan kunci AWS Key Management Service (AWS KMS) (SSE-KMS) untuk tabel di bucket tabel S3, Anda harus memberikan izin untuk identitas yang berbeda di akun Anda. Minimal identitas akses Anda dan prinsip pemeliharaan Tabel S3 memerlukan akses ke kunci Anda, izin lain yang diperlukan bergantung pada kasus penggunaan Anda.

Izin yang Diperlukan

Untuk mengakses tabel yang dienkripsi dengan kunci KMS, Anda memerlukan izin ini pada kunci itu:

  • kms:GenerateDataKey

  • kms:Decrypt

penting

Untuk menggunakan SSE-KMS pada tabel, prinsipal (maintenance.s3tables.amazonaws.com) layanan pemeliharaan Tabel Amazon S3 membutuhkan kms:GenerateDataKey dan kms:Decrypt izin pada kunci.

Izin tambahan

Izin tambahan ini diperlukan tergantung pada kasus penggunaan Anda:

  • Izin untuk layanan AWS analitik dan akses langsung — Jika Anda bekerja dengan tabel terenkripsi SSE-KMS melalui layanan AWS analitik atau mesin pihak ketiga yang mengakses tabel S3 secara langsung, peran IAM yang Anda gunakan memerlukan izin untuk menggunakan kunci KMS Anda.

  • Izin dengan Lake Formation diaktifkan — Jika Anda telah memilih AWS Lake Formation untuk kontrol akses, peran layanan Lake Formation memerlukan izin untuk menggunakan kunci KMS Anda.

  • Izin untuk tabel Metadata S3 — Jika Anda menggunakan enkripsi SSE-KMS untuk tabel Metadata S3, Anda harus memberikan akses utama layanan S3 Metadata () ke kunci KMS Anda. metadata.s3.amazonaws.com Hal ini memungkinkan Metadata S3 untuk memperbarui tabel terenkripsi sehingga mereka akan mencerminkan perubahan data terbaru Anda.

catatan

Untuk kunci KMS lintas akun, peran IAM Anda memerlukan izin akses kunci dan otorisasi eksplisit dalam kebijakan kunci. Untuk informasi selengkapnya tentang izin lintas akun untuk kunci KMS, lihat Mengizinkan AWS akun eksternal menggunakan kunci KMS di Panduan Pengembang AWS Key Management Service Layanan.

Memberikan izin utama layanan pemeliharaan Tabel S3 ke kunci KMS Anda

Izin ini diperlukan untuk membuat tabel terenkripsi SSE-KMS dan untuk memungkinkan pemeliharaan tabel otomatis seperti pemadatan, manajemen snapshot, dan penghapusan file yang tidak direferensikan pada tabel terenkripsi.

catatan

Setiap kali Anda membuat permintaan untuk membuat tabel terenkripsi SSE-KMS, Tabel S3 memeriksa untuk memastikan maintenance.s3tables.amazonaws.com kepala sekolah memiliki akses ke kunci KMS Anda. Untuk melakukan pemeriksaan ini, objek zero-byte dibuat sementara di bucket tabel Anda, objek ini akan secara otomatis dihapus oleh operasi pemeliharaan penghapusan file yang tidak direferensikan. Jika kunci KMS yang Anda tentukan untuk enkripsi tidak memiliki akses pemeliharaan, operasi CreateTable akan gagal.

Untuk memberikan akses pemeliharaan pada tabel terenkripsi SSE-KMS, Anda dapat menggunakan contoh kebijakan kunci berikut. Dalam kebijakan ini, kepala maintenance.s3tables.amazonaws.com layanan diberikan izin untuk menggunakan kunci KMS tertentu untuk mengenkripsi dan mendekripsi tabel dalam keranjang tabel tertentu. Untuk menggunakan kebijakan ini, ganti user input placeholders dengan informasi Anda sendiri:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "EnableKeyUsage", "Effect": "Allow", "Principal": { "Service": "maintenance.s3tables.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id", "Condition": { "StringLike": { "kms:EncryptionContext:aws:s3:arn":"<table-or-table-bucket-arn>/*" } } } ] }

Memberikan izin kepada prinsipal IAM untuk bekerja dengan tabel terenkripsi dalam layanan analitik terintegrasi AWS

Untuk bekerja dengan tabel S3 dalam layanan AWS analitik, Anda mengintegrasikan bucket tabel Anda dengan. AWS Glue Data Catalog Integrasi ini memungkinkan layanan AWS analitik untuk secara otomatis menemukan dan mengakses data tabel. Untuk informasi lebih lanjut tentang integrasi, lihatMengintegrasikan Tabel AWS Amazon S3 dengan layanan analitik.

Saat Anda bekerja dengan tabel terenkripsi SSE-KMS melalui layanan AWS analitik atau mesin pihak ketiga dan sumber terbuka yang mengakses tabel S3 secara langsung, peran IAM yang Anda gunakan memerlukan izin untuk menggunakan kunci Anda untuk operasi enkripsi. AWS KMS

Anda dapat memberikan akses kunci KMS melalui kebijakan IAM yang melekat pada peran Anda atau melalui kebijakan kunci KMS.

IAM policy

Lampirkan kebijakan inline ini ke peran IAM yang Anda gunakan untuk kueri guna mengizinkan akses kunci KMS. Ganti ARN kunci KMS dengan milik Anda sendiri.

{ "Version":"2012-10-17",, "Statement": [ { "Sid": "AllowKMSKeyUsage", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ] }
KMS key policy

Atau, lampirkan pernyataan ini ke kebijakan kunci KMS Anda untuk mengizinkan peran IAM yang ditentukan menggunakan kunci. Ganti peran ARN dengan peran IAM yang Anda gunakan untuk kueri.

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::<catalog-account-id>:role/<role-name>" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", ], "Resource": "*" }

Memberikan izin kepada prinsipal IAM untuk bekerja dengan tabel terenkripsi saat Lake Formation diaktifkan

Jika Anda telah memilih AWS Lake Formation untuk kontrol akses pada integrasi Tabel S3 Anda, peran layanan Lake Formation memerlukan izin untuk menggunakan AWS KMS kunci Anda untuk operasi enkripsi. Lake Formation menggunakan peran ini untuk menjual kredensil atas nama kepala sekolah yang mengakses tabel Anda.

Contoh kebijakan kunci KMS berikut memberikan izin peran layanan Lake Formation untuk menggunakan kunci KMS tertentu di akun Anda untuk operasi enkripsi. Ganti nilai placeholder dengan milik Anda sendiri.

{ "Sid": "AllowTableRoleAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/service-role/S3TablesRoleForLakeFormation" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "<kms-key-arn>" }

Memberikan izin utama layanan Metadata S3 untuk menggunakan kunci KMS Anda

Untuk mengizinkan Amazon S3 memperbarui tabel metadata terenkripsi SSE-KMS, dan melakukan pemeliharaan pada tabel metadata tersebut, Anda dapat menggunakan kebijakan kunci contoh berikut. Dalam kebijakan ini, Anda mengizinkan kepala sekolah metadata.s3.amazonaws.com dan maintenance.s3tables.amazonaws.com layanan mengenkripsi dan mendekripsi tabel dalam keranjang tabel tertentu menggunakan kunci tertentu. Untuk menggunakan kebijakan ini, ganti user input placeholders dengan informasi Anda sendiri:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "EnableKeyUsage", "Effect": "Allow", "Principal": { "Service": [ "maintenance.s3tables.amazonaws.com", "metadata.s3.amazonaws.com" ] }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringLike": { "kms:EncryptionContext:aws:s3:arn":"<table-or-table-bucket-arn>/*" } } } ] }