Mengelola pemberian izin - AWS Key Management Service

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.

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 meneleponCreateGrant,ListGrants, atau RevokeGrant hanya ketika AWS layanan yang terintegrasi dengan AWS KMS mengirimkan 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 dengan kms: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 izin kms:RetireGrant. Izin kms:RetireGrant saja tidak memungkinkan kepala sekolah untuk menghentikan pemberian izin. Izin kms:RetireGrant tidak akan efektif dalam kebijakan kunci.

  • Untuk menolak izin penghentian pemberian izin, Anda dapat menggunakan tindakan Deny dengan izin kms: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.