Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengelola pemberian izin
Perwakilan yang memiliki izin yang diperlukan dapat melihat, menggunakan, dan menghapus (menghentikan atau mencabut) pemberian izin. Untuk menyempurnakan izin untuk membuat dan mengelola hibah, AWS KMS mendukung beberapa kondisi kebijakan yang dapat Anda gunakan dalam kebijakan utama dan kebijakan IAM.
Topik
Mengontrol akses ke pemberian izin
Anda dapat mengontrol akses ke operasi yang membuat dan mengelola pemberian izin dalam kebijakan kunci, kebijakan IAM, dan pemberian izin. Perwakilan yang mendapatkan izin CreateGrant
dari pemberian izin memilikilebih banyak izin pemberian izin terbatas.
Operasi API | Kebijakan kunci atau kebijakan IAM | Pemberian Izin |
---|---|---|
CreateGrant | ✓ | ✓ |
ListGrants | ✓ | - |
ListRetirableGrants | ✓ | - |
Menghentikan Pemberian Izin | (Terbatas. LihatMenghentikan dan mencabut pemberian izin) | ✓ |
RevokeGrant | ✓ | - |
Bila Anda menggunakan kebijakan utama atau kebijakan IAM untuk mengontrol akses ke operasi yang membuat dan mengelola hibah, Anda dapat menggunakan satu atau beberapa ketentuan kebijakan berikut untuk membatasi izin. AWS KMS mendukung semua kunci kondisi terkait hibah berikut. Untuk informasi dan contoh mendetail, lihat AWS KMS kunci kondisi.
- km: GrantConstraintType
-
Memungkinkan perwakilan membuat pemberian izin hanya jika pemberian izin menyertakan batas pemberian izin yang ditentukan.
- km: GrantIsFor AWSResource
-
Memungkinkan kepala sekolah untuk menelepon
CreateGrant
,ListGrants
, atauRevokeGrant
hanya ketika AWS layanan yang terintegrasi dengan AWS KMSmengirimkan permintaan atas nama kepala sekolah. - km: GrantOperations
-
Memungkinkan perwakilan membuat pemberian izin, tetapi membatasi pemberian izin untuk operasi yang ditentukan.
- km: GranteePrincipal
-
Memungkinkan kepala sekolah membuat pemberian izin hanya untuk perwakilan penerima yang ditentukan.
- km: RetiringPrincipal
-
Memungkinkan perwakilan membuat pemberian izin hanya jika pemberian izin menentukan perwakilan penghentian tertentu.
Melihat pemberian izin
Untuk melihat hibah, gunakan ListGrantsoperasi. Anda harus menentukan kunci KMS tempat hibah berlaku. Anda juga dapat memfilter daftar pemberian izin berdasarkan ID pemberian izin atau perwakilan penerima. Untuk contoh lainnya, lihat Melihat izin.
Untuk melihat semua hibah di Akun AWS dan Wilayah dengan kepala sekolah pensiun tertentu, gunakan. ListRetirableGrants Respons meliputi detail tentang setiap pemberian izin.
catatan
Kolom GranteePrincipal
dalam respons ListGrants
biasanya berisi perwakilan penerima pemberian izin. Namun, ketika pokok penerima hibah dalam hibah adalah AWS layanan, GranteePrincipal
bidang tersebut berisi pokok layanan, yang mungkin mewakili beberapa prinsip penerima hibah yang berbeda.
Misalnya, perintah berikut mencantumkan semua hibah untuk kunci KMS.
$
aws kms list-grants --key-id 1234abcd-12ab-34cd-56ef-1234567890ab
{ "Grants": [ { "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1572216195.0, "GrantId": "abcde1237f76e4ba7987489ac329fbfba6ad343d6f7075dbd1ef191f0120514a", "Constraints": { "EncryptionContextSubset": { "Department": "IT" } }, "RetiringPrincipal": "arn:aws:iam::111122223333:role/adminRole", "Name": "", "IssuingAccount": "arn:aws:iam::111122223333:root", "GranteePrincipal": "arn:aws:iam::111122223333:user/exampleUser", "Operations": [ "Decrypt" ] } ] }
Menggunakan token izin
AWS KMS API mengikuti model konsistensi akhirnya. Saat Anda membuat pemberian izin, mungkin tidak langsung efektif. Mungkin ada penundaan singkat sebelum perubahan tersedia di seluruh AWS KMS. Biasanya diperlukan waktu kurang dari beberapa detik agar perubahan menyebar ke seluruh sistem, tetapi dalam beberapa kasus dapat memakan waktu beberapa menit. Setelah perubahan disebarkan sepenuhnya ke seluruh sistem, prinsipal penerima hibah dapat menggunakan izin dalam hibah tanpa menentukan token hibah atau bukti hibah apa pun. Namun, jika hibah yang sangat baru sehingga belum diketahui semua orang AWS KMS, permintaan tersebut mungkin gagal dengan AccessDeniedException
kesalahan.
Untuk segera menggunakan izin dalam pemberian izin baru, gunakan token izin untuk pemberian izin. Simpan token hibah yang dikembalikan oleh CreateGrantoperasi. Kemudian kirimkan token hibah dalam permintaan AWS KMS operasi. Anda dapat mengirimkan token hibah ke operasi AWS KMS hibah apa pun dan Anda dapat mengirimkan beberapa token hibah dalam permintaan yang sama.
Contoh berikut menggunakan CreateGrant
operasi untuk membuat hibah yang memungkinkan GenerateDataKeydan Dekripsi operasi. Operasi tersebut menyimpan token izin yang menampilkan CreateGrant
dalam variabel token
. Kemudian, dalam panggilan ke operasi GenerateDataKey
, ini menggunakan token izin di variabel token
.
# Create a grant; save the grant token
$
token=$(aws kms create-grant \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --grantee-principal arn:aws:iam::111122223333:user/appUser \ --retiring-principal arn:aws:iam::111122223333:user/acctAdmin \ --operations GenerateDataKey Decrypt \ --query GrantToken \ --output text)
# Use the grant token in a request$
aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ –-key-spec AES_256 \ --grant-tokens $token
Kepala sekolah dengan izin juga dapat menggunakan token hibah untuk pensiun hibah baru bahkan sebelum hibah tersedia. AWS KMS(Operasi RevokeGrant
tidak menerima token izin.) Untuk detail selengkapnya, lihat Menghentikan dan mencabut pemberian izin.
# Retire the grant
$
aws kms retire-grant --grant-token $token
Menghentikan dan mencabut pemberian izin
Untuk menghapus, menghentikan, atau mencabut pemberian izin.
Operasi RetireGrantdan RevokeGrantoperasi sangat mirip satu sama lain. Kedua operasi menghapus hibah, yang menghilangkan izin yang diizinkan oleh hibah. Perbedaan utama antara operasi ini adalah bagaimana mereka diotorisasi.
- RevokeGrant
-
Seperti kebanyakan AWS KMS operasi, akses ke
RevokeGrant
operasi dikendalikan melalui kebijakan utama dan kebijakan IAM. RevokeGrantAPI dapat dipanggil oleh kepala sekolah mana pun dengankms:RevokeGrant
izin. Izin ini disertakan dalam izin standar yang diberikan kepada administrator kunci. Biasanya, administrator mencabut pemberian izin untuk menolak izin yang diberikan pemberian izin. - RetireGrant
-
Pemberian izin menentukan orang yang dapat menghentikannya. Desain ini memungkinkan Anda mengontrol siklus hidup pemberian izin tanpa mengubah kebijakan kunci atau kebijakan IAM. Biasanya, Anda akan menghentikan pemberian izin begitu selesai menggunakan izin.
Pemberian izin dapat dihentikan dengan perwakilan penghentian yang ditentukan dalam pemberian izin. Kepala penerima hibah juga dapat mempensiunkan hibah, tetapi hanya jika mereka juga merupakan kepala sekolah pensiun atau hibah termasuk operasi.
RetireGrant
Sebagai cadangan, Akun AWS di mana hibah dibuat dapat menghentikan hibah.Ada izin
kms:RetireGrant
yang dapat digunakan dalam kebijakan IAM, tetapi memiliki utilitas terbatas. Perwakilan yang ditentukan dalam pemberian izin dapat menghentikan pemberian izin tanpa izinkms:RetireGrant
. Izinkms:RetireGrant
saja tidak memungkinkan kepala sekolah untuk menghentikan pemberian izin. Izinkms:RetireGrant
tidak akan efektif dalam kebijakan kunci.-
Untuk menolak izin penghentian pemberian izin, Anda dapat menggunakan tindakan
Deny
dengan izinkms:RetireGrant
. -
Akun AWS Yang memiliki kunci KMS dapat mendelegasikan
kms:RetireGrant
izin kepada kepala IAM di akun. -
Jika kepala sekolah pensiun berbeda Akun AWS, administrator di akun lain dapat menggunakan
kms:RetireGrant
untuk mendelegasikan izin untuk mempensiunkan hibah ke kepala IAM di akun itu.
-
AWS KMS API mengikuti model konsistensi akhirnya. Saat Anda membuat, pensiun, atau mencabut hibah, mungkin ada penundaan singkat sebelum perubahan tersedia secara keseluruhan. AWS KMS Biasanya diperlukan waktu kurang dari beberapa detik agar perubahan menyebar ke seluruh sistem, tetapi dalam beberapa kasus dapat memakan waktu beberapa menit. Jika Anda perlu segera menghapus hibah baru, sebelum tersedia secara keseluruhan AWS KMS, gunakan token hibah untuk menghentikan hibah. Anda tidak dapat menggunakan token izin untuk mencabut pemberian izin.