Mengontrol 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.

Mengontrol akses ke toko kunci eksternal Anda

Semua fitur kontrol AWS KMS akses — kebijakan utama, kebijakan IAM, dan hibah — yang Anda gunakan dengan kunci KMS standar, bekerja dengan cara yang sama untuk kunci KMS di penyimpanan kunci eksternal. Anda dapat menggunakan kebijakan IAM untuk mengontrol akses ke operasi API yang membuat dan mengelola penyimpanan kunci eksternal. Anda menggunakan kebijakan IAM 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 titik akhir VPC Anda untuk mengontrol akses ke kunci KMS 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 titik akhir VPC, kepala sekolah harus memiliki izin untuk membuat komponen berikut:

  • VPC Amazon

  • Subnet publik dan pribadi

  • Penyeimbang beban jaringan dan kelompok sasaran

  • Layanan titik akhir Amazon VPC

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

Mengotorisasi pengguna kunci KMS 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 KMS apa pun. AWS KMS Kebijakan kunci default untuk kunci KMS di penyimpanan kunci eksternal identik dengan kebijakan kunci default untuk kunci KMS di. AWS KMS Attribute-based access control (ABAC), yang menggunakan tag dan alias untuk mengontrol akses ke kunci KMS, juga efektif pada kunci KMS di toko kunci eksternal.

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

Untuk menetapkan izin yang hanya berlaku untuk kunci KMS di penyimpanan kunci eksternal, gunakan kondisi kms:KeyOriginkebijakan dengan nilai. EXTERNAL_KEY_STORE Anda dapat menggunakan kondisi ini untuk membatasi izin kms: atau CreateKey izin apa pun yang khusus untuk sumber daya kunci KMS. Misalnya, kebijakan IAM berikut memungkinkan identitas yang dilampirkan untuk memanggil operasi yang ditentukan pada semua kunci KMS di akun, asalkan kunci KMS berada di penyimpanan kunci eksternal. Perhatikan bahwa Anda dapat membatasi izin ke kunci KMS di toko kunci eksternal, dan kunci KMS diAkun 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 KMSberkomunikasi dengan pengelola kunci eksternal Anda hanya melalui proxy penyimpanan kunci eksternal yang Anda berikan. AWS KMSmengautentikasi 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 titik akhir VPC, 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 VPC Anda atau proxy penyimpanan kunci eksternal berada di tempat lain, tetapi menggunakan layanan titik akhir VPC untuk berkomunikasi dengannya. AWS KMS

AWS KMSUntuk memungkinkan membuat titik akhir antarmuka, gunakan konsol VPC 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 titik akhir VPC yang ditentukan di Wilayah AS Barat (Oregon) (us-barat-2). Sebelum menggunakan perintah ini, ganti ID layanan Amazon VPC 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 konsol VPC Amazon atau ModifyVpcEndpointServicePermissionsdengan parameter. RemoveAllowedPrincipals

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 utama, kebijakan IAM, dan hibah yang mengotorisasi akses ke operasi yang mempengaruhi penyimpanan kunci eksternal atau kunci KMS-nya.

Untuk mengaktifkan otorisasi oleh proxy penyimpanan kunci eksternal, AWS KMS sertakan metadata di setiap permintaan API proxy, termasuk pemanggil, kunci KMS, AWS KMS operasi, (jika ada). Layanan AWS Metadata permintaan untuk versi 1 (v1) dari API proxy kunci eksternal 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.

otentikasi mTLS (opsional)

Untuk mengaktifkan proxy penyimpanan kunci eksternal Anda untuk mengautentikasi permintaanAWS 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 mutual Transport Layer Security (mTLS), di mana kedua pihak dalam transaksi menggunakan sertifikat untuk mengautentikasi satu sama lain. mTLS menambahkan otentikasi sisi klien — di mana server proxy penyimpanan kunci eksternal mengautentikasi klien — ke otentikasi sisi server yang disediakan TLS standar. AWS KMS Dalam kasus yang jarang terjadi bahwa kredensi otentikasi proxy Anda dikompromikan, mTL mencegah pihak ketiga membuat permintaan API yang berhasil ke proxy penyimpanan kunci eksternal.

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

  • Nama umum subjek pada sertifikat TLS 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.