Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menganalisis objek Amazon S3 terenkripsi dengan Amazon Macie
Saat Anda mengaktifkan Amazon Macie untuk Anda Akun AWS, Macie membuat peran terkait layanan yang memberi Macie izin yang diperlukan untuk memanggil Amazon Simple Storage Service (Amazon S3) dan lainnya atas nama Anda. Layanan AWS Peran terkait layanan menyederhanakan proses penyiapan Layanan AWS karena Anda tidak perlu menambahkan izin secara manual untuk layanan untuk menyelesaikan tindakan atas nama Anda. Untuk mempelajari lebih lanjut tentang jenis peran ini, lihat Menggunakan peran terkait layanan di AWS Identity and Access Management Panduan Pengguna.
Kebijakan izin untuk peran terkait layanan Macie (AWSServiceRoleForAmazonMacie
) memungkinkan Macie melakukan tindakan yang mencakup pengambilan informasi tentang bucket dan objek S3 Anda, serta mengambil dan menganalisis objek di bucket S3 Anda. Jika akun Anda adalah akun administrator Macie untuk suatu organisasi, kebijakan tersebut juga memungkinkan Macie untuk melakukan tindakan ini atas nama Anda untuk akun anggota di organisasi Anda.
Jika objek S3 dienkripsi, kebijakan izin untuk peran terkait layanan Macie biasanya memberi Macie izin yang diperlukan untuk mendekripsi objek. Namun, ini tergantung pada jenis enkripsi yang digunakan. Hal ini juga dapat tergantung pada apakah Macie diperbolehkan untuk menggunakan kunci enkripsi yang sesuai.
Opsi enkripsi untuk objek Amazon S3
Amazon S3 mendukung beberapa opsi enkripsi untuk objek S3. Untuk sebagian besar opsi ini, Amazon Macie dapat mendekripsi objek dengan menggunakan peran terkait layanan Macie untuk akun Anda. Namun, hal ini tergantung pada tipe enkripsi yang digunakan untuk mengenkripsi suatu objek.
- Enkripsi di sisi server dengan kunci terkelola Amazon S3 (SSE-S3)
-
Jika objek dienkripsi menggunakan enkripsi sisi server dengan kunci terkelola Amazon S3 (SSE-S3), Macie dapat mendekripsi objek tersebut.
Untuk mempelajari jenis enkripsi ini, lihat Menggunakan enkripsi sisi server dengan kunci terkelola Amazon S3 di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.
- Enkripsi sisi server dengan AWS KMS keys (DSSE-KMS dan SSE-KMS)
-
Jika objek dienkripsi menggunakan enkripsi sisi server dua lapisan atau enkripsi sisi server dengan AWS terkelola AWS KMS key (DSSE-KMS atau SSE-KMS), Macie dapat mendekripsi objek tersebut.
Jika objek dienkripsi menggunakan enkripsi sisi server dua lapis atau enkripsi sisi server dengan pelanggan yang dikelola AWS KMS key (DSSE-KMS atau SSE-KMS), Macie dapat mendekripsi objek hanya jika Anda mengizinkan Macie menggunakan kunci tersebut. Ini adalah kasus untuk objek yang dienkripsi dengan kunci KMS dikelola sepenuhnya di dalam AWS KMS dan kunci KMS di penyimpanan kunci eksternal. Jika Macie tidak diizinkan menggunakan kunci KMS yang berlaku, Macie hanya dapat menyimpan dan melaporkan metadata untuk objek tersebut.
Untuk mempelajari jenis enkripsi ini, lihat Menggunakan enkripsi sisi server dua lapis dengan AWS KMS keys dan Menggunakan enkripsi sisi server dengan Panduan Pengguna Layanan Penyimpanan Sederhana AWS KMS keys Amazon.
Tip
Anda dapat secara otomatis membuat daftar semua pelanggan yang dikelola AWS KMS keys yang perlu diakses Macie untuk menganalisis objek di bucket S3 untuk akun Anda. Untuk melakukan ini, jalankan skrip AWS KMS Permission Analyzer, yang tersedia dari repositori Amazon Macie
Scripts. GitHub Script juga dapat menghasilkan script tambahan dari AWS Command Line Interface (AWS CLI) perintah. Anda dapat menjalankan perintah tersebut secara opsional untuk memperbarui pengaturan konfigurasi dan kebijakan yang diperlukan untuk kunci KMS yang Anda tentukan. - Enkripsi sisi server dengan kunci yang disediakan pelanggan (SSE-C)
-
Jika objek dienkripsi menggunakan enkripsi sisi server dengan kunci yang disediakan pelanggan (SSE-C), Macie tidak dapat mendekripsi objek tersebut. Macie hanya dapat menyimpan dan melaporkan metadata untuk objek.
Untuk mempelajari jenis enkripsi ini, lihat Menggunakan enkripsi sisi server dengan kunci yang disediakan pelanggan di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.
- Enkripsi sisi klien
-
Jika objek dienkripsi menggunakan enkripsi sisi klien, Macie tidak dapat mendekripsi objek. Macie hanya dapat menyimpan dan melaporkan metadata untuk objek. Misalnya, Macie dapat melaporkan ukuran objek dan tag yang terkait dengan objek tersebut.
Untuk mempelajari jenis enkripsi ini dalam konteks Amazon S3, lihat Melindungi data dengan menggunakan enkripsi sisi klien di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.
Anda dapat memfilter inventaris bucket di Macie untuk menentukan bucket S3 mana yang menyimpan objek yang menggunakan jenis enkripsi tertentu. Anda juga dapat menentukan bucket mana yang secara default menggunakan tipe enkripsi sisi server tertentu saat menyimpan objek baru. Tabel berikut memberikan contoh filter yang dapat Anda terapkan ke inventaris bucket Anda untuk menemukan informasi ini.
Untuk menunjukkan bucket yang... | Terapkan filter ini... |
---|---|
Menyimpan objek yang menggunakan enkripsi SSE-C | Jumlah objek dengan enkripsi disediakan Pelanggan dan Dari = 1 |
Simpan objek yang menggunakan enkripsi DSSE-KMS atau SSE-KMS | Jumlah objek dengan enkripsi AWS KMS dikelola dan Dari = 1 |
Simpan objek yang menggunakan enkripsi SSE-S3 | Jumlah objek dengan enkripsi dikelola Amazon S3 dan Dari = 1 |
Menyimpan objek yang menggunakan enkripsi sisi klien (atau tidak dienkripsi) | Jumlah objek berdasarkan enkripsi adalah Tidak ada enkripsi dan Dari = 1 |
Enkripsi objek baru secara default menggunakan enkripsi DSSE-KMS | Enkripsi default = aws:kms:dsse |
Enkripsi objek baru secara default menggunakan enkripsi SSE-KMS | Enkripsi default = aws:kms |
Enkripsi objek baru secara default menggunakan enkripsi SSE-S3 | Enkripsi default = AES256 |
Jika bucket dikonfigurasi untuk mengenkripsi objek baru secara default menggunakan enkripsi DSSE-KMS atau SSE-KMS, Anda juga dapat menentukan mana yang digunakan. AWS KMS key Untuk melakukan ini, pilih ember di halaman bucket S3. Di panel detail bucket, di bawah enkripsi sisi server, lihat bidang. AWS KMS key Bidang ini menunjukkan Nama Sumber Daya Amazon (ARN) atau pengenal unik (ID kunci) untuk kunci tersebut.
Mengizinkan Amazon Macie menggunakan pelanggan yang dikelola AWS KMS key
Jika objek Amazon S3 dienkripsi menggunakan enkripsi sisi server dua lapisan atau enkripsi sisi server dengan pelanggan yang dikelola (DSSE-KMS AWS KMS key atau SSE-KMS), Amazon Macie dapat mendekripsi objek hanya jika diizinkan untuk menggunakan kunci. Cara menyediakan akses ini tergantung pada apakah akun yang memiliki kunci juga memiliki bucket S3 yang menyimpan objek:
-
Jika akun yang sama memiliki AWS KMS key dan bucket, pengguna akun harus memperbarui kebijakan kunci.
-
Jika satu akun memiliki AWS KMS key dan akun lain memiliki bucket, pengguna akun yang memiliki kunci harus mengizinkan akses lintas akun ke kunci tersebut.
Topik ini menjelaskan cara melakukan tugas-tugas ini dan memberikan contoh untuk kedua skenario tersebut. Untuk mempelajari selengkapnya tentang mengizinkan akses ke pelanggan yang dikelola AWS KMS keys, lihat Otentikasi dan kontrol akses untuk AWS KMS di Panduan AWS Key Management Service Pengembang.
Mengizinkan akses akun yang sama ke kunci yang dikelola pelanggan
Jika akun yang sama memiliki bucket AWS KMS key dan S3, pengguna akun harus menambahkan pernyataan ke kebijakan untuk kunci tersebut. Pernyataan tambahan harus mengizinkan peran terkait layanan Macie agar akun dapat mendekripsi data dengan menggunakan kunci. Untuk informasi detail tentang pembaruan kebijakan kunci, lihat Mengganti kebijakan kunci dalam Panduan Developer AWS Key Management Service .
Dalam pernyataan:
-
Principal
Elemen harus menentukan Nama Sumber Daya Amazon (ARN) dari peran terkait layanan Macie untuk akun yang memiliki bucket dan S3. AWS KMS keyJika akun dalam opt-in Wilayah AWS, ARN juga harus menyertakan kode Wilayah yang sesuai untuk Wilayah tersebut. Misalnya, jika akun tersebut berada di Wilayah Middle East (Bahrain), yang memiliki kode Wilayah me-south-1, elemen
Principal
harus menentukanarn:aws:iam::
, angka123456789012
:role/aws-service-role/macie.me-south-1.amazonaws.com/AWSServiceRoleForAmazonMacie123456789012
adalah ID akun untuk akun tersebut. Untuk daftar kode Wilayah untuk Wilayah di mana Macie saat ini tersedia, lihat titik akhir dan kuota Amazon Macie di. Referensi Umum AWS -
Array
Action
harus menentukan tindakankms:Decrypt
. Ini adalah satu-satunya AWS KMS tindakan yang Macie harus diizinkan untuk melakukan untuk mendekripsi objek S3 yang dienkripsi dengan kunci.
Berikut ini adalah contoh pernyataan untuk ditambahkan ke kebijakan untuk AWS KMS key.
{ "Sid": "Allow the Macie service-linked role to use the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
123456789012
:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie" }, "Action": [ "kms:Decrypt" ], "Resource": "*" }
Dalam contoh sebelumnya:
-
AWS
Bidang dalamPrincipal
elemen menentukan ARN dari peranAWSServiceRoleForAmazonMacie
terkait layanan Macie () untuk akun. Hal ini memungkinkan peran terkait layanan Macie untuk melakukan tindakan yang ditentukan oleh pernyataan kebijakan.123456789012
adalah contoh ID akun. Ganti nilai ini dengan ID akun untuk akun yang memiliki kunci KMS dan bucket S3. -
Action
Array menentukan tindakan yang diizinkan untuk dilakukan oleh peran terkait layanan Macie menggunakan kunci KMS — mendekripsi ciphertext yang dienkripsi dengan kunci.
Tempat Anda menambahkan pernyataan ini ke kebijakan kunci bergantung pada struktur dan elemen yang saat ini berisi kebijakan. Ketika Anda menambahkan pernyataan, pastikan bahwa sintaksnya valid. Kebijakan kunci menggunakan format JSON. Ini berarti bahwa Anda juga harus menambahkan koma sebelum atau setelah pernyataan, tergantung pada tempat Anda menambahkan pernyataan ke kebijakan.
Mengizinkan akses lintas akun ke kunci yang dikelola pelanggan
Jika satu akun memiliki AWS KMS key (pemilik kunci) dan akun lain memiliki bucket S3 (pemilik bucket), pemilik kunci harus memberi pemilik bucket akses lintas akun ke kunci KMS. Untuk melakukan ini, pemilik kunci terlebih dahulu memastikan bahwa kebijakan kunci memungkinkan pemilik bucket untuk menggunakan kunci dan membuat hibah untuk kunci tersebut. Pemilik ember kemudian membuat hibah untuk kunci tersebut. Hibah adalah instrumen kebijakan yang memungkinkan AWS prinsipal untuk menggunakan kunci KMS dalam operasi kriptografi jika kondisi yang ditentukan oleh hibah terpenuhi. Dalam hal ini, hibah mendelegasikan izin yang relevan ke peran terkait layanan Macie untuk akun pemilik bucket.
Untuk informasi detail tentang pembaruan kebijakan kunci, lihat Mengganti kebijakan kunci dalam Panduan Developer AWS Key Management Service . Untuk mempelajari tentang hibah, lihat Hibah AWS KMS di Panduan AWS Key Management Service Pengembang.
Langkah 1: Perbarui kebijakan utama
Dalam kebijakan kunci, pemilik kunci harus memastikan bahwa kebijakan tersebut mencakup dua pernyataan:
-
Pernyataan pertama memungkinkan pemilik bucket menggunakan kunci untuk mendekripsi data.
-
Pernyataan kedua memungkinkan pemilik bucket untuk membuat hibah untuk peran terkait layanan Macie untuk akun mereka (pemilik bucket).
Dalam pernyataan pertama, elemen Principal
harus menentukan ARN dari akun pemilik bucket. Array Action
harus menentukan tindakan kms:Decrypt
. Ini adalah satu-satunya AWS KMS tindakan yang Macie harus diizinkan untuk melakukan untuk mendekripsi objek yang dienkripsi dengan kunci. Berikut ini adalah contoh pernyataan ini dalam kebijakan untuk AWS KMS key.
{ "Sid": "Allow account
111122223333
to use the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333
:root" }, "Action": [ "kms:Decrypt" ], "Resource": "*" }
Dalam contoh sebelumnya:
-
Bidang
AWS
di elemenPrincipal
menentukan ARN dari akun pemilik bucket ini (111122223333
). Hal ini memungkinkan pemilik bucket untuk melakukan tindakan yang ditentukan oleh pernyataan kebijakan.111122223333
adalah contoh ID akun. Ganti nilai ini dengan ID akun untuk akun pemilik bucket. -
Action
Array menentukan tindakan yang diizinkan oleh pemilik bucket menggunakan kunci KMS—mendekripsi ciphertext yang dienkripsi dengan kunci.
Pernyataan kedua di kebijakan kunci mengizinkan pemilik bucket membuat hibah untuk peran terkait layanan Macie untuk akun mereka. Dalam pernyataan ini, elemen Principal
harus menentukan ARN dari akun pemilik bucket. Array Action
harus menentukan tindakan kms:CreateGrant
. Elemen Condition
dapat memfilter akses ke tindakan kms:CreateGrant
yang ditentukan dalam pernyataan. Berikut ini adalah contoh pernyataan ini dalam kebijakan untuk AWS KMS key.
{ "Sid": "Allow account
111122223333
to create a grant", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333
:root" }, "Action": [ "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringEquals": { "kms:GranteePrincipal": "arn:aws:iam::111122223333
:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie" } } }
Dalam contoh sebelumnya:
-
Bidang
AWS
di elemenPrincipal
menentukan ARN dari akun pemilik bucket ini (111122223333
). Hal ini memungkinkan pemilik bucket untuk melakukan tindakan yang ditentukan oleh pernyataan kebijakan.111122223333
adalah contoh ID akun. Ganti nilai ini dengan ID akun untuk akun pemilik bucket. -
Action
Array menentukan tindakan yang diizinkan dilakukan pemilik bucket pada kunci KMS—buat hibah untuk kunci tersebut. -
Elemen
Condition
menggunakan operator kondisiStringEquals
dan kunci syaratkms:GranteePrincipal
untuk memfilter akses ke tindakan yang ditentukan oleh pernyataan kebijakan. Dalam hal ini, pemilik bucket hanya dapat membuat hibah untuk yang ditentukanGranteePrincipal
, yang merupakan ARN dari peran terkait layanan Macie untuk akun mereka. Dalam ARN itu,111122223333
adalah contoh ID akun. Ganti nilai ini dengan ID akun untuk akun pemilik bucket.Jika akun pemilik bucket ikut serta Wilayah AWS, sertakan juga kode Wilayah yang sesuai di ARN peran terkait layanan Macie. Misalnya, jika akun berada di Wilayah Middle East (Bahrain), yang memiliki kode Wilayah me-south-1, ganti
macie.amazonaws.com
denganmacie.me-south-1.amazonaws.com
di ARN. Untuk daftar kode Wilayah untuk Wilayah di mana Macie saat ini tersedia, lihat titik akhir dan kuota Amazon Macie di. Referensi Umum AWS
Tempat pemilik kunci menambah pernyataan ke kebijakan kunci bergantung pada struktur dan elemen yang saat ini berisi kebijakan. Ketika pemilik kunci menambahkan pernyataan, mereka harus memastikan bahwa sintaksnya valid. Kebijakan kunci menggunakan format JSON. Ini berarti bahwa pemilik kunci juga harus menambahkan koma sebelum atau sesudah setiap pernyataan, tergantung di mana mereka menambahkan pernyataan ke kebijakan.
Langkah 2: Buat hibah
Setelah pemilik kunci memperbarui kebijakan kunci seperlunya, pemilik bucket harus membuat hibah untuk kunci tersebut. Pemberian ini mendelegasikan izin yang relevan ke peran terkait layanan Macie untuk akun (pemilik bucket) mereka. Sebelum pemilik bucket membuat hibah, mereka harus memverifikasi bahwa mereka diizinkan untuk melakukan tindakan kms:CreateGrant
untuk akun mereka. Tindakan ini memungkinkan mereka untuk menambahkan hibah ke pelanggan yang sudah ada dan dikelola AWS KMS key.
Untuk membuat hibah, pemilik bucket dapat menggunakan CreateGrantpengoperasian AWS Key Management Service API. Ketika pemilik bucket membuat hibah, mereka harus menentukan nilai berikut untuk parameter yang diperlukan:
-
KeyId
— ARN dari kunci KMS. Untuk akses lintas akun ke kunci KMS, nilai ini harus berupa ARN. Tidak bisa menggunakan kunci ID. -
GranteePrincipal
— ARN dari peran terkait layanan Macie ()AWSServiceRoleForAmazonMacie
untuk akun mereka. Nilai ini harusarn:aws:iam::
, yang mana111122223333
:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie111122223333
adalah ID akun untuk akun pemilik bucket.Jika akun mereka berada di Wilayah keikutsertaan, ARN harus menyertakan kode Wilayah yang sesuai. Misalnya, jika akun mereka berada di Wilayah Timur Tengah (Bahrain), yang memiliki kode Wilayah me-south-1, ARN
arn:aws:iam::
seharusnya, di111122223333
:role/aws-service-role/macie.me-south-1.amazonaws.com/AWSServiceRoleForAmazonMaciemana
111122223333 adalah ID akun untuk akun pemilik bucket. -
Operations
— Tindakan AWS KMS dekripsi ()Decrypt
. Ini adalah satu-satunya AWS KMS tindakan yang Macie harus diizinkan untuk melakukan untuk mendekripsi objek yang dienkripsi dengan kunci KMS.
Untuk membuat hibah untuk kunci KMS yang dikelola pelanggan dengan menggunakan AWS Command Line Interface (AWS CLI), jalankan perintah create-grant. Contoh berikut menunjukkan caranya. Contoh ini diformat untuk Microsoft Windows dan menggunakan karakter kelanjutan baris caret (^) untuk meningkatkan keterbacaan.
C:\>
aws kms create-grant ^ --key-id
arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab
^ --grantee-principalarn:aws:iam::111122223333:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie
^ --operations "Decrypt"
Di mana:
-
key-id
menentukan ARN dari kunci KMS untuk menerapkan hibah ke. -
grantee-principal
menentukan ARN peran terkait layanan Macie untuk akun yang diizinkan untuk melakukan tindakan yang ditentukan oleh hibah. Nilai ini harus sesuai dengan ARN yang ditentukan olehkms:GranteePrincipal
kondisi pernyataan kedua dalam kebijakan kunci. -
operations
menentukan tindakan bahwa hibah memungkinkan prinsipal yang ditentukan untuk melakukan—mendekripsi ciphertext yang dienkripsi dengan kunci KMS.
Jika perintah berjalan dengan berhasil, Anda menerima output yang mirip dengan berikut ini.
{
"GrantToken": "<grant token>",
"GrantId": "1a2b3c4d2f5e69f440bae30eaec9570bb1fb7358824f9ddfa1aa5a0dab1a59b2"
}
Yang mana GrantToken
merupakan string yang unik, non-rahasia, variabel-panjang, base64-encoded yang mewakili hibah yang diciptakan, dan GrantId
adalah pengidentifikasi unik untuk hibah.