Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS kunci kondisi global
AWS mendefinisikan kunci kondisi global, satu set kunci kondisi kebijakan untuk semua AWS layanan yang menggunakan IAM untuk kontrol akses. AWS KMS mendukung semua kunci kondisi global. Anda dapat menggunakannya dalam kebijakan AWS KMS utama dan kebijakan IAM.
Misalnya, Anda dapat menggunakan kunci kondisi PrincipalArn global aws: untuk mengizinkan akses ke AWS KMS key (kunci KMS) hanya jika prinsipal dalam permintaan diwakili oleh Amazon Resource Name (ARN) dalam nilai kunci kondisi. Untuk mendukung kontrol akses berbasis atribut (ABAC) di AWS KMS, Anda dapat menggunakan kunci kondisi global aws:ResourceTag/tag-key dalam kebijakan IAM untuk mengizinkan akses ke kunci KMS dengan tag tertentu.
Untuk membantu mencegah AWS layanan digunakan sebagai wakil yang bingung dalam kebijakan di mana prinsipal adalah kepala AWS layanan, Anda dapat menggunakan aws:SourceArnatau kunci kondisi aws:SourceAccountglobal. Lihat perinciannya di Menggunakan aws:SourceArn atau tombol aws:SourceAccount kondisi.
Untuk informasi tentang kunci kondisi AWS global, termasuk jenis permintaan yang tersedia, lihat Kunci Konteks Kondisi AWS Global di Panduan Pengguna IAM. Untuk contoh penggunaan kunci syarat global dalam kebijakan IAM, lihat Mengontrol Akses ke Permintaan dan Mengontrol Kunci Tag di Panduan Pengguna IAM.
Topik berikut memberikan panduan khusus untuk menggunakan kunci syarat berdasarkan alamat IP dan VPC endpoint.
Topik
Menggunakan syarat alamat IP dalam kebijakan dengan izin AWS KMS
Anda dapat menggunakan AWS KMS untuk melindungi data Anda dalam AWS layanan terintegrasi. Tetapi berhati-hatilah saat menentukan operator kondisi alamat IP atau kunci aws:SourceIp
kondisi dalam pernyataan kebijakan yang sama yang memungkinkan atau menolak akses ke. AWS KMS Misalnya, kebijakan di AWS: Denies Access to AWS Based on the Source IP membatasi AWS tindakan ke permintaan dari rentang IP yang ditentukan.
Pertimbangkan skenario ini:
-
Anda melampirkan kebijakan seperti yang ditampilkan di AWS: Denies Access to AWS Based on the Source IP ke identitas IAM. Anda menetapkan nilai kunci syarat
aws:SourceIp
ke rentang alamat IP untuk perusahaan pengguna. Identitas IAM ini memiliki kebijakan lain yang dilampirkan yang memungkinkannya menggunakan Amazon EBS EC2, Amazon, dan. AWS KMS -
Identitas mencoba melampirkan volume EBS terenkripsi ke sebuah instance. EC2 Tindakan ini gagal dengan kesalahan otorisasi meskipun pengguna memiliki izin untuk menggunakan semua layanan yang relevan.
Langkah 2 gagal karena permintaan AWS KMS untuk mendekripsi kunci data terenkripsi volume berasal dari alamat IP yang terkait dengan infrastruktur Amazon. EC2 Agar berhasil, permintaan harus berasal dari alamat IP pengguna asal. Karena kebijakan pada langkah 1 secara eksplisit menolak semua permintaan dari alamat IP selain yang ditentukan, Amazon ditolak EC2 izinnya untuk mendekripsi kunci data terenkripsi volume EBS.
Selain itu, kunci syarat aws:SourceIP
tidak efektif bila permintaan berasal dari Amazon VPC endpoint. Untuk membatasi permintaan ke VPC endpoint, termasuk AWS KMS VPC endpoint, gunakan kunci syarat aws:SourceVpce
atau aws:SourceVpc
. Untuk informasi selengkapnya, lihat VPC endpoint - Mengontrol Penggunaan Titik Akhir di Panduan Pengguna Amazon VPC.
Menggunakan syarat VPC endpoint dalam kebijakan dengan izin AWS KMS
AWS KMS mendukung titik akhir Amazon Virtual Private Cloud (Amazon VPC) yang didukung oleh. AWS PrivateLink Anda dapat menggunakan kunci kondisi global berikut dalam kebijakan utama dan kebijakan IAM untuk mengontrol akses ke AWS KMS sumber daya saat permintaan berasal dari VPC atau menggunakan titik akhir VPC. Lihat perinciannya di Gunakan titik akhir VPC untuk mengontrol akses ke sumber daya AWS KMS.
-
aws:SourceVpc
membatasi akses ke permintaan dari VPC yang ditentukan. -
aws:SourceVpce
membatasi akses ke permintaan dari VPC endpoint yang ditentukan.
Jika Anda menggunakan tombol kondisi ini untuk mengontrol akses ke kunci KMS, Anda mungkin secara tidak sengaja menolak akses ke AWS layanan yang digunakan AWS KMS atas nama Anda.
Berhati-hatilah untuk menghindari situasi seperti contoh kunci syarat alamat IP. Jika Anda membatasi permintaan kunci KMS ke titik akhir VPC atau VPC, panggilan AWS KMS ke dari layanan terintegrasi, seperti Amazon S3 atau Amazon EBS, mungkin gagal. Hal ini dapat terjadi meskipun permintaan sumber pada akhirnya berasal dari VPC atau dari VPC endpoint.
Menggunakan IPv6 alamat dalam kebijakan kunci IAM dan KMS
Sebelum mencoba mengakses KMS IPv6, pastikan kebijakan kunci dan IAM yang berisi batasan alamat IP diperbarui untuk menyertakan rentang IPv6 alamat. Kebijakan berbasis IP yang tidak diperbarui untuk menangani IPv6 alamat dapat mengakibatkan klien salah kehilangan atau mendapatkan akses ketika mereka mulai menggunakan IPv6. Untuk panduan umum tentang kontrol akses KMS, lihatAkses dan izin kunci KMS. Untuk mempelajari tentang KMS dan dukungan dual stack, lihatDukungan titik akhir tumpukan ganda.
penting
Pernyataan ini tidak mengizinkan tindakan apa pun. Gunakan pernyataan ini dalam kombinasi dengan pernyataan lain yang memungkinkan tindakan tertentu.
Pernyataan berikut secara eksplisit menolak akses ke semua izin KMS untuk permintaan yang berasal dari berbagai alamat. 192.0.2.*
IPv4 Alamat IP apa pun di luar rentang ini tidak secara eksplisit ditolak izin KMS. Karena semua IPv6 alamat berada di luar rentang yang ditolak, pernyataan ini tidak secara eksplisit menolak izin KMS untuk alamat apa pun. IPv6
{ "Sid": "DenyKMSPermissions", "Effect": "Deny", "Action": [ "kms:*" ], "Resource": "*", "Condition": { "NotIpAddress": { "aws:SourceIp": [ "
192.0.2.0/24
" ] } } }
Anda dapat memodifikasi Condition
elemen untuk menolak rentang alamat IPv4 IPv6 (192.0.2.0/24
2001:db8:1234::/32
) dan () seperti yang ditunjukkan pada contoh berikut.
{ "Sid": "DenyKMSPermissions", "Effect": "Deny", "Action": [ "kms:*" ], "Resource": "*", "Condition": { "NotIpAddress": { "aws:SourceIp": [ "
192.0.2.0/24
", "2001:db8:1234::/32
" ] } } }