Menganalisis objek Amazon S3 terenkripsi dengan Amazon Macie - Amazon Macie

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:

  • PrincipalElemen harus menentukan Nama Sumber Daya Amazon (ARN) dari peran terkait layanan Macie untuk akun yang memiliki bucket dan S3. AWS KMS key

    Jika 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 menentukan arn:aws:iam::123456789012:role/aws-service-role/macie.me-south-1.amazonaws.com/AWSServiceRoleForAmazonMacie, angka 123456789012 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 tindakan kms: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:

  • AWSBidang dalam Principal elemen menentukan ARN dari peran AWSServiceRoleForAmazonMacie 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.

  • ActionArray 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 elemen Principal 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.

  • ActionArray 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 elemen Principal 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.

  • ActionArray menentukan tindakan yang diizinkan dilakukan pemilik bucket pada kunci KMS—buat hibah untuk kunci tersebut.

  • Elemen Condition menggunakan operator kondisi StringEquals dan kunci syarat kms: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 dengan macie.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 harus arn:aws:iam::111122223333:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie, yang mana 111122223333 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::111122223333:role/aws-service-role/macie.me-south-1.amazonaws.com/AWSServiceRoleForAmazonMacie seharusnya, di mana 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-principal arn:aws:iam::111122223333:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie ^ --operations "Decrypt"

Di mana:

  • key-idmenentukan ARN dari kunci KMS untuk menerapkan hibah ke.

  • grantee-principalmenentukan ARN peran terkait layanan Macie untuk akun yang diizinkan untuk melakukan tindakan yang ditentukan oleh hibah. Nilai ini harus sesuai dengan ARN yang ditentukan oleh kms:GranteePrincipal kondisi pernyataan kedua dalam kebijakan kunci.

  • operationsmenentukan 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.