Praktik terbaik untuk kebijakan IAM - AWS Key Management Service

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

Praktik terbaik untuk kebijakan IAM

Mengamankan akses ke AWS KMS keys sangat penting untuk keamanan semua sumber AWS daya Anda. Kunci KMS digunakan untuk melindungi banyak sumber daya paling sensitif di Anda Akun AWS. Luangkan waktu untuk merancang kebijakan utama, kebijakan IAM, hibah, dan kebijakan titik akhir VPC yang mengontrol akses ke kunci KMS Anda.

Dalam pernyataan kebijakan IAM yang mengontrol akses ke kunci KMS, gunakan prinsip yang paling tidak memiliki hak istimewa. Berikan kepala sekolah IAM hanya izin yang mereka butuhkan hanya pada kunci KMS yang harus mereka gunakan atau kelola.

Praktik terbaik berikut berlaku untuk kebijakan IAM yang mengontrol akses ke AWS KMS kunci dan alias. Untuk panduan praktik terbaik kebijakan IAM umum, lihat Praktik terbaik keamanan di IAM di Panduan Pengguna IAM.

Gunakan kebijakan kunci

Jika memungkinkan, berikan izin dalam kebijakan utama yang memengaruhi satu kunci KMS, bukan dalam kebijakan IAM yang dapat diterapkan ke banyak kunci KMS, termasuk yang lain. Akun AWS Ini sangat penting untuk izin sensitif seperti kms: PutKeyPolicy dan kms: ScheduleKeyDeletion tetapi juga untuk operasi kriptografi yang menentukan bagaimana data Anda dilindungi.

Batasi CreateKey izin

Berikan izin untuk membuat kunci (kms: CreateKey) hanya untuk kepala sekolah yang membutuhkannya. Prinsipal yang membuat kunci KMS juga menetapkan kebijakan utamanya, sehingga mereka dapat memberi diri mereka sendiri dan orang lain izin untuk menggunakan dan mengelola kunci KMS yang mereka buat. Jika Anda mengizinkan izin ini, pertimbangkan untuk membatasinya menggunakan syarat kebijakan. Misalnya, Anda dapat menggunakan KeySpec kondisi kms: untuk membatasi izin ke kunci KMS enkripsi simetris.

Tentukan kunci KMS dalam kebijakan IAM

Sebagai praktik terbaik, tentukan ARN kunci dari setiap kunci KMS yang izinnya berlaku dalam Resource elemen pernyataan kebijakan. Praktik ini membatasi izin ke kunci KMS yang dibutuhkan kepala sekolah. Misalnya, Resource elemen ini hanya mencantumkan kunci KMS yang perlu digunakan oleh prinsipal.

"Resource": [ "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321" ]

Saat menentukan kunci KMS tidak praktis, gunakan Resource nilai yang membatasi akses ke kunci KMS di tepercaya Akun AWS dan Wilayah, seperti. arn:aws:kms:region:account:key/* Atau batasi akses ke kunci KMS di semua Wilayah (*) yang terpercaya Akun AWS, sepertiarn:aws:kms:*:account:key/*.

Anda tidak dapat menggunakan ID kunci, nama alias, atau alias ARN untuk mewakili kunci KMS di Resource bidang kebijakan IAM. Jika Anda menentukan alias ARN, kebijakan berlaku untuk alias, bukan ke kunci KMS. Untuk informasi tentang kebijakan IAM alias, lihat Mengontrol akses ke alias

Hindari "Sumber Daya": "*" dalam kebijakan IAM

Gunakan karakter kartubebas (*) dengan bijaksana. Dalam kebijakan kunci, karakter wildcard dalam Resource elemen mewakili kunci KMS tempat kebijakan kunci dilampirkan. Namun dalam kebijakan IAM, karakter wildcard saja di Resource element ("Resource": "*") menerapkan izin ke semua kunci KMS di semua Akun AWS yang diizinkan oleh akun prinsipal untuk digunakan. Ini mungkin termasuk kunci KMS di lain Akun AWS, serta kunci KMS di akun kepala sekolah.

Misalnya, untuk menggunakan kunci KMS di akun lain Akun AWS, kepala sekolah memerlukan izin dari kebijakan kunci KMS di akun eksternal, dan dari kebijakan IAM di akun mereka sendiri. Misalkan akun arbitrer memberikan izin Akun AWS KMS: Decrypt Anda pada kunci KMS mereka. Jika demikian, kebijakan IAM di akun Anda yang memberikan kms:Decrypt izin peran pada semua kunci KMS ("Resource": "*") akan memenuhi bagian IAM dari persyaratan tersebut. Akibatnya, kepala sekolah yang dapat mengasumsikan peran itu sekarang dapat mendekripsi ciphertext menggunakan kunci KMS di akun yang tidak tepercaya. Entri untuk operasi mereka muncul di CloudTrail log kedua akun.

Secara khusus, hindari penggunaan "Resource": "*" dalam pernyataan kebijakan yang mengizinkan operasi API berikut. Operasi ini dapat dipanggil pada kunci KMS di lain Akun AWS.

Waktu menggunakan "Sumber Daya": "*"

Dalam kebijakan IAM, gunakan karakter kartubebas di elemen Resource hanya untuk izin yang memerlukannya. Hanya izin berikut yang memerlukan elemen "Resource": "*".

catatan

Izin untuk operasi alias (kms: CreateAlias, kms:UpdateAlias, kms: DeleteAlias) harus dilampirkan ke alias dan kunci KMS. Anda dapat menggunakan "Resource": "*" dalam kebijakan IAM untuk mewakili alias dan kunci KMS, atau menentukan alias dan kunci KMS dalam elemen. Resource Sebagai contoh, lihat Mengontrol akses ke alias.

 

Contoh dalam topik ini memberikan lebih banyak informasi dan panduan untuk merancang kebijakan IAM untuk kunci KMS. Untuk panduan praktik AWS KMS terbaik umum, lihat Praktik AWS Key Management Service Terbaik (PDF). Untuk praktik terbaik IAM untuk semua AWS sumber daya, lihat Praktik terbaik keamanan di IAM di Panduan Pengguna IAM.