Kontrol akses ke toko kunci eksternal Anda - AWS Key Management Service

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

Kontrol akses ke toko kunci eksternal Anda

Semua fitur kontrol AWS KMS akses — kebijakan utama, IAMkebijakan, dan hibah — yang Anda gunakan dengan KMS kunci standar, bekerja dengan cara yang sama untuk KMS kunci di penyimpanan kunci eksternal. Anda dapat menggunakan IAM kebijakan untuk mengontrol akses ke API operasi yang membuat dan mengelola penyimpanan kunci eksternal. Anda menggunakan IAM kebijakan dan kebijakan utama untuk mengontrol akses ke AWS KMS keys penyimpanan kunci eksternal Anda. Anda juga dapat menggunakan kebijakan kontrol layanan untuk AWS organisasi dan kebijakan VPC titik akhir untuk mengontrol akses ke KMS kunci di penyimpanan kunci eksternal Anda.

Sebaiknya Anda hanya memberikan izin kepada pengguna dan peran yang mereka perlukan untuk tugas yang mungkin mereka lakukan.

Mengotorisasi manajer toko kunci eksternal

Prinsipal yang membuat dan mengelola penyimpanan kunci eksternal memerlukan izin untuk operasi penyimpanan kunci kustom. Daftar berikut menjelaskan izin minimum yang diperlukan untuk pengelola penyimpanan kunci eksternal. Karena penyimpanan kunci khusus bukan AWS sumber daya, Anda tidak dapat memberikan izin ke penyimpanan kunci eksternal untuk prinsipal di tempat lain. Akun AWS

  • kms:CreateCustomKeyStore

  • kms:DescribeCustomKeyStores

  • kms:ConnectCustomKeyStore

  • kms:DisconnectCustomKeyStore

  • kms:UpdateCustomKeyStore

  • kms:DeleteCustomKeyStore

Prinsipal yang membuat penyimpanan kunci eksternal memerlukan izin untuk membuat dan mengkonfigurasi komponen penyimpanan kunci eksternal. Prinsipal dapat membuat toko kunci eksternal hanya di akun mereka sendiri. Untuk membuat penyimpanan kunci eksternal dengan konektivitas layanan VPC endpoint, prinsipal harus memiliki izin untuk membuat komponen berikut:

  • Amazon VPC

  • Subnet publik dan pribadi

  • Penyeimbang beban jaringan dan kelompok sasaran

  • Layanan VPC titik akhir Amazon

Untuk detailnya, lihat Manajemen identitas dan akses untuk Amazon VPC, Identitas, dan manajemen akses untuk layanan VPC titik akhir dan VPC titik akhir serta izin Elastic Load API Balancing.

Mengotorisasi pengguna KMS kunci di toko kunci eksternal

Prinsipal yang membuat dan mengelola AWS KMS keys di toko kunci eksternal Anda memerlukan izin yang sama dengan mereka yang membuat dan mengelola kunci apa pun. KMS AWS KMSKebijakan kunci default untuk KMS kunci di penyimpanan kunci eksternal identik dengan kebijakan kunci default untuk KMS kunci masuk AWS KMS. Attribute-based access control (ABAC), yang menggunakan tag dan alias untuk mengontrol akses ke KMS kunci, juga efektif pada KMS kunci di toko kunci eksternal.

Prinsipal yang menggunakan KMS kunci di toko kunci kustom Anda untuk operasi kriptografi memerlukan izin untuk melakukan operasi kriptografi dengan KMS kunci, seperti KMS: Decrypt. Anda dapat memberikan izin ini dalam kebijakan IAM atau kunci. Namun, mereka tidak memerlukan izin tambahan untuk menggunakan KMS kunci di toko kunci khusus.

Untuk menetapkan izin yang hanya berlaku untuk KMS kunci di penyimpanan kunci eksternal, gunakan kondisi kms:KeyOriginkebijakan dengan nilaiEXTERNAL_KEY_STORE. Anda dapat menggunakan kondisi ini untuk membatasi izin kms: atau CreateKey izin apa pun yang khusus untuk sumber daya KMS utama. Misalnya, IAM kebijakan berikut memungkinkan identitas yang dilampirkan untuk memanggil operasi yang ditentukan pada semua KMS kunci di akun, asalkan KMS kunci berada di penyimpanan kunci eksternal. Perhatikan bahwa Anda dapat membatasi izin untuk KMS kunci di toko kunci eksternal, dan KMS kunci dalam Akun AWS, tetapi tidak untuk penyimpanan kunci eksternal tertentu di akun.

{ "Sid": "AllowKeysInExternalKeyStores", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/*", "Condition": { "StringEquals": { "kms:KeyOrigin": "EXTERNAL_KEY_STORE" } } }

Otorisasi AWS KMS untuk berkomunikasi dengan proxy penyimpanan kunci eksternal Anda

AWS KMS berkomunikasi dengan pengelola kunci eksternal Anda hanya melalui proxy penyimpanan kunci eksternal yang Anda berikan. AWS KMS mengautentikasi proxy Anda dengan menandatangani permintaannya menggunakan proses Signature Version 4 (SigV4) dengan kredensi otentikasi proxy penyimpanan kunci eksternal yang Anda tentukan. Jika Anda menggunakan konektivitas titik akhir publik untuk proxy penyimpanan kunci eksternal Anda, AWS KMS tidak memerlukan izin tambahan.

Namun, jika Anda menggunakan konektivitas layanan VPC endpoint, Anda harus memberikan AWS KMS izin untuk membuat titik akhir antarmuka ke layanan endpoint Amazon VPC Anda. Izin ini diperlukan terlepas dari apakah proxy penyimpanan kunci eksternal ada di proxy penyimpanan kunci eksternal Anda VPC atau berada di tempat lain, tetapi menggunakan layanan VPC titik akhir untuk berkomunikasi dengannya AWS KMS.

AWS KMS Untuk memungkinkan membuat titik akhir antarmuka, gunakan VPCkonsol Amazon atau ModifyVpcEndpointServicePermissionsoperasinya. Izinkan izin untuk prinsipal berikut:cks.kms.<region>.amazonaws.com.

Misalnya, AWS CLI perintah berikut memungkinkan AWS KMS untuk terhubung ke layanan VPC endpoint yang ditentukan di Wilayah AS Barat (Oregon) (us-west-2). Sebelum menggunakan perintah ini, ganti ID VPC layanan Amazon dan Wilayah AWS dengan nilai yang valid untuk konfigurasi Anda.

modify-vpc-endpoint-service-permissions --service-id vpce-svc-12abc34567def0987 --add-allowed-principals '["cks.kms.us-west-2.amazonaws.com"]'

Untuk menghapus izin ini, gunakan VPCkonsol Amazon atau ModifyVpcEndpointServicePermissionsdengan RemoveAllowedPrincipals parameter.

Otorisasi proxy penyimpanan kunci eksternal (opsional)

Beberapa proxy penyimpanan kunci eksternal menerapkan persyaratan otorisasi untuk penggunaan kunci eksternalnya. Proxy penyimpanan kunci eksternal diizinkan, tetapi tidak diperlukan, untuk merancang dan menerapkan skema otorisasi yang memungkinkan pengguna tertentu untuk meminta operasi tertentu hanya dalam kondisi tertentu. Misalnya, proxy mungkin dikonfigurasi untuk memungkinkan pengguna A mengenkripsi dengan kunci eksternal tertentu, tetapi tidak untuk mendekripsi dengannya.

Otorisasi proxy independen dari otentikasi proxy berbasis SIGV4 yang AWS KMS memerlukan semua proxy penyimpanan kunci eksternal. Ini juga independen dari kebijakan, IAM kebijakan, dan hibah utama yang mengotorisasi akses ke operasi yang memengaruhi penyimpanan kunci eksternal atau kuncinyaKMS.

Untuk mengaktifkan otorisasi oleh proxy penyimpanan kunci eksternal, AWS KMS sertakan metadata di setiap APIpermintaan proxy, termasuk pemanggil, KMS kunci, AWS KMS operasi, Layanan AWS (jika ada). Metadata permintaan untuk versi 1 (v1) dari proxy kunci eksternal API adalah sebagai berikut.

"requestMetadata": { "awsPrincipalArn": string, "awsSourceVpc": string, // optional "awsSourceVpce": string, // optional "kmsKeyArn": string, "kmsOperation": string, "kmsRequestId": string, "kmsViaService": string // optional }

Misalnya, Anda dapat mengonfigurasi proxy Anda untuk mengizinkan permintaan dari prinsipal tertentu (awsPrincipalArn), tetapi hanya jika permintaan dibuat atas nama prinsipal oleh Layanan AWS (kmsViaService) tertentu.

Jika otorisasi proxy gagal, AWS KMS operasi terkait gagal dengan pesan yang menjelaskan kesalahan. Untuk detailnya, lihat Masalah otorisasi proxy.

m TLS otentikasi (opsional)

Untuk mengaktifkan proxy penyimpanan kunci eksternal Anda untuk mengautentikasi permintaan AWS KMS, AWS KMS tandatangani semua permintaan ke proxy penyimpanan kunci eksternal Anda dengan kredensi otentikasi proxy Signature V4 (SigV4) untuk penyimpanan kunci eksternal Anda.

Untuk memberikan jaminan tambahan bahwa proxy penyimpanan kunci eksternal Anda hanya merespons AWS KMS permintaan, beberapa proxy kunci eksternal mendukung Transport Layer Security (mTLS) bersama, di mana kedua pihak dalam transaksi menggunakan sertifikat untuk mengautentikasi satu sama lain. m TLS menambahkan otentikasi sisi klien — di mana server proxy penyimpanan kunci eksternal mengotentikasi klien — ke otentikasi sisi server yang disediakan standar. AWS KMS TLS Dalam kasus yang jarang terjadi bahwa kredensi otentikasi proxy Anda dikompromikan, m TLS mencegah pihak ketiga membuat API permintaan yang berhasil ke proxy penyimpanan kunci eksternal.

Untuk mengimplementasikan mTLS, konfigurasikan proxy penyimpanan kunci eksternal Anda untuk hanya menerima TLS sertifikat sisi klien dengan properti berikut:

  • Nama umum subjek pada TLS sertifikat haruscks.kms.<Region>.amazonaws.com, misalnya,cks.kms.eu-west-3.amazonaws.com.

  • Sertifikat harus dirantai ke otoritas sertifikat yang terkait dengan Amazon Trust Services.