Menganalisis objek Amazon S3 terenkripsi - 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

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 jenis peran ini, lihat IAMperan di Panduan AWS Identity and Access Management 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 sisi server dengan kunci terkelola Amazon S3 (-S3) SSE

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- dan -KMS) SSE KMS

Jika objek dienkripsi menggunakan enkripsi sisi server dua lapis atau enkripsi sisi server dengan AWS managed AWS KMS key (DSSE- atau -KMS), Macie dapat mendekripsi objek tersebut. SSE KMS

Jika suatu 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. Ini adalah kasus untuk objek yang dienkripsi dengan KMS kunci yang dikelola sepenuhnya di dalam AWS KMS dan KMS kunci di penyimpanan kunci eksternal. Jika Macie tidak diizinkan menggunakan KMS kunci 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 KMS kunci yang Anda tentukan.

Enkripsi sisi server dengan kunci yang disediakan pelanggan (-C) SSE

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...
Simpan objek yang menggunakan enkripsi SSE -C Jumlah objek dengan enkripsi disediakan Pelanggan dan Dari = 1
Simpan objek yang menggunakan DSSE - KMS atau SSE - KMS enkripsi 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 DSSE - KMS enkripsi Enkripsi default = aws:kms:dsse
Enkripsi objek baru secara default menggunakan SSE - KMS enkripsi 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 DSSE - KMS atau SSE - KMS enkripsi, Anda juga dapat menentukan mana yang AWS KMS key digunakan. 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 Amazon Resource Name (ARN) atau pengenal unik (ID kunci) untuk kunci.

Mengizinkan 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 (- AWS KMS key atau DSSE -KMS)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 akses KMS utama dan izin 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 Amazon Resource Name (ARN) peran terkait layanan Macie untuk akun yang memiliki bucket AWS KMS key dan S3.

    Jika akun dalam keikutsertaan Wilayah AWS, akun tersebut juga ARN harus menyertakan kode Wilayah yang sesuai untuk Wilayah tersebut. Misalnya, jika akun berada di Wilayah Timur Tengah (Bahrain), yang memiliki kode Wilayah me-south-1, elemen harus menentukan, di mana Principal arn:aws:iam::123456789012:role/aws-service-role/macie.me-south-1.amazonaws.com/AWSServiceRoleForAmazonMacie 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 peran terkait layanan Macie (AWSServiceRoleForAmazonMacie) untuk akun. ARN 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 KMS kunci dan bucket S3.

  • ActionArray menentukan tindakan yang diizinkan untuk dilakukan oleh peran terkait layanan Macie menggunakan ciphertext KMS kunci—dekripsi 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 utama menggunakan JSON format. 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 tersebut. 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 KMS kunci 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, Principal elemen harus menentukan ARN 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:

  • AWSBidang dalam Principal elemen menentukan akun ARN pemilik bucket (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 KMS kunci—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, Principal elemen harus menentukan akun pemilik bucket. ARN 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:

  • AWSBidang dalam Principal elemen menentukan akun ARN pemilik bucket (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 KMS kunci—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 peran terkait layanan Macie untuk akun mereka. ARN Dalam hal ituARN, 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 dalam peran terkait layanan Macie. ARN Misalnya, jika akun berada di Wilayah Timur Tengah (Bahrain), yang memiliki kode Wilayah me-south-1, ganti dengan di. macie.amazonaws.com macie.me-south-1.amazonaws.com 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 utama menggunakan JSON format. 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 ember dapat menggunakan CreateGrantpengoperasian AWS Key Management Service API. Ketika pemilik bucket membuat hibah, mereka harus menentukan nilai berikut untuk parameter yang diperlukan:

  • KeyId— KMS Kunci. ARN Untuk akses lintas akun ke KMS kunci, nilai ini harus berupaARN. Tidak bisa menggunakan kunci ID.

  • GranteePrincipal— ARN Peran terkait layanan Macie (AWSServiceRoleForAmazonMacie) untuk akun mereka. Nilai ini seharusnyaarn:aws:iam::111122223333:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie, di 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, seharusnya, di mana ARN arn:aws:iam::111122223333:role/aws-service-role/macie.me-south-1.amazonaws.com/AWSServiceRoleForAmazonMacie 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 KMS kunci 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 KMS kunci ARN untuk menerapkan hibah ke.

  • grantee-principalmenentukan peran terkait layanan Macie untuk akun yang diizinkan untuk melakukan tindakan yang ditentukan oleh hibah. ARN Nilai ini harus sesuai dengan yang ARN 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.