Hibah di AWS KMS - AWS Key Management Service

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

Hibah di AWS KMS

Hibah adalah instrumen kebijakan yang memungkinkan AWS prinsipal untuk menggunakan KMS kunci dalam operasi kriptografi. Hal ini juga dapat membiarkan mereka melihat KMS key (DescribeKey) dan membuat dan mengelola hibah. Saat mengotorisasi akses ke KMS kunci, hibah dipertimbangkan bersama dengan kebijakan dan IAM kebijakan utama. Hibah sering digunakan untuk izin sementara karena Anda dapat membuatnya, menggunakan izinnya, dan menghapusnya tanpa mengubah kebijakan atau kebijakan utama Anda. IAM

Hibah biasanya digunakan oleh AWS layanan yang terintegrasi dengan AWS KMS untuk mengenkripsi data Anda saat istirahat. Layanan akan membuat pemberian izin atas nama pengguna di akun, menggunakan izinnya, dan menghentikan pemberian izin begitu tugasnya selesai. Untuk detail tentang cara AWS layanan, gunakan hibah, lihat topik Enkripsi saat istirahat di panduan pengguna atau panduan pengembang layanan.

Pemberian izin adalah mekanisme kontrol akses yang sangat fleksibel dan berguna. Saat Anda membuat hibah untuk KMS kunci, hibah memungkinkan prinsipal penerima hibah untuk memanggil operasi hibah yang ditentukan pada KMS kunci asalkan semua kondisi yang ditentukan dalam hibah terpenuhi.

  • Setiap hibah memungkinkan akses ke tepat satu KMS kunci. Anda dapat membuat hibah untuk KMS kunci yang berbeda Akun AWS.

  • Hibah dapat memungkinkan akses ke KMS kunci, tetapi tidak menolak akses.

  • Setiap hibah memiliki satu pokok hibah. Prinsipal penerima hibah dapat mewakili satu atau lebih identitas yang Akun AWS sama dengan KMS kunci atau dalam akun yang berbeda.

  • Hibah hanya dapat memungkinkan operasi hibah. Operasi hibah harus didukung oleh KMS kunci dalam hibah. Jika Anda menentukan operasi yang tidak didukung, CreateGrantpermintaan gagal dengan ValidationError pengecualian.

  • Prinsipal penerima hibah dapat menggunakan izin yang diberikan hibah kepada mereka tanpa menentukan hibah, sama seperti jika izin berasal dari kebijakan atau kebijakan utama. IAM Namun, karena AWS KMS API mengikuti model konsistensi akhirnya, ketika Anda membuat, pensiun, atau mencabut hibah, mungkin ada penundaan singkat, sebelum perubahan tersedia di seluruh. AWS KMS Untuk segera menggunakan izin dalam pemberian izin, gunakan token izin.

  • Kepala sekolah yang berwenang dapat menghapus hibah (pensiun atau mencabutnya). Menghapus hibah menghilangkan semua izin yang diizinkan oleh hibah. Anda tidak perlu mencari tahu kebijakan mana yang akan ditambahkan atau dihapus untuk membatalkan hibah.

  • AWS KMS membatasi jumlah hibah pada setiap KMS kunci. Untuk detailnya, lihat Hibah per KMS kunci: 50.000.

Berhati-hatilah saat membuat pemberian izin dan saat memberi izin kepada orang lain untuk membuat pemberian izin. Izin untuk membuat hibah memiliki implikasi keamanan, seperti mengizinkan PutKeyPolicy izin kms: untuk menetapkan kebijakan.

  • Pengguna dengan izin untuk membuat hibah untuk KMS key (kms:CreateGrant) dapat menggunakan hibah untuk memungkinkan pengguna dan peran, termasuk AWS layanan, untuk menggunakan KMS kunci. Kepala sekolah dapat berupa identitas Anda sendiri Akun AWS atau identitas di akun atau organisasi yang berbeda.

  • Hibah hanya dapat memungkinkan sebagian dari operasi. AWS KMS Anda dapat menggunakan hibah untuk memungkinkan prinsipal melihat KMS kunci, menggunakannya dalam operasi kriptografi, dan membuat dan menghentikan hibah. Untuk detailnya, lihat Operasi pemberian izin. Anda juga dapat menggunakan batasan hibah untuk membatasi izin dalam hibah untuk kunci enkripsi simetris.

  • Kepala sekolah bisa mendapatkan izin untuk membuat hibah dari kebijakan atau kebijakan utama. IAM Kepala sekolah yang mendapatkan kms:CreateGrant izin dari kebijakan dapat membuat hibah untuk operasi hibah apa pun pada kunci. KMS Prinsipal ini tidak diharuskan memiliki izin yang mereka berikan pada kunci. Saat Anda memberikan izin kms:CreateGrant dalam kebijakan, Anda dapat menggunakan ketentuan kebijakan untuk membatasi izin ini.

  • Perwakilan juga bisa mendapatkan izin untuk membuat pemberian izin dari sebuah pemberian izin. Prinsipal ini hanya dapat mendelegasikan izin yang diberikan kepada mereka, meskipun mereka memiliki izin lain dari kebijakan. Untuk detailnya, lihat Pemberian izin CreateGrant .

Konsep hibah

Untuk menggunakan pemberian izin secara efektif, Anda harus memahami istilah dan konsep yang digunakan AWS KMS .

Batas pemberian izin

Syarat yang membatasi izin dalam pemberian izin. Saat ini, AWS KMS mendukung batasan hibah berdasarkan konteks enkripsi dalam permintaan operasi kriptografi. Untuk detailnya, lihat Menggunakan batas pemberian izin.

ID Pemberian izin

Pengidentifikasi unik dari hibah untuk KMS kunci. Anda dapat menggunakan ID hibah, bersama dengan pengenal kunci, untuk mengidentifikasi hibah dalam RevokeGrantpermintaan RetireGrantatau permintaan.

Operasi pemberian izin

AWS KMS Operasi yang dapat Anda izinkan dalam hibah. Jika Anda menentukan operasi lain, CreateGrantpermintaan gagal dengan ValidationError pengecualian. Ini juga merupakan operasi yang menerima token izin. Untuk informasi selengkapnya tentang izin ini, lihat AWS KMS izin.

Operasi hibah ini sebenarnya mewakili izin untuk menggunakan operasi. Oleh karena itu, untuk operasi ReEncrypt, Anda dapat menentukan ReEncryptFrom, ReEncryptTo, atau kedua ReEncrypt*.

Operasi pemberian izin adalah:

Operasi hibah yang Anda izinkan harus didukung oleh KMS kunci dalam hibah. Jika Anda menentukan operasi yang tidak didukung, CreateGrantpermintaan gagal dengan ValidationError pengecualian. Misalnya, hibah untuk KMS kunci enkripsi simetris tidak dapat mengizinkan Tanda, Verifikasi, GenerateMacatau VerifyMacoperasi. Hibah untuk KMS kunci asimetris tidak dapat mengizinkan operasi apa pun yang menghasilkan kunci data atau pasangan kunci data.

Token izin

AWS KMS APIBerikut ini adalah model konsistensi akhirnya. Saat Anda membuat hibah, 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. Jika Anda mencoba menggunakan hibah sebelum sepenuhnya menyebar melalui sistem, Anda mungkin mendapatkan kesalahan akses ditolak. Token izin memungkinkan Anda mengacu pada pemberian izin dan segera menggunakan izin pemberian izin.

Token hibah adalah string unik, tidak rahasia, panjang variabel, berenkode base64 yang mewakili hibah. Anda dapat menggunakan token izin untuk mengidentifikasi pemberian izin dalam operasi pemberian izin. Namun, karena nilai token merupakan intisari hash, nilai tersebut tidak mengungkap detail tentang pemberian izin.

Token hibah dirancang untuk digunakan hanya sampai hibah telah sepenuhnya disebarkan. AWS KMS Setelah itu, perwakilan penerima dapat menggunakan izin dalam pemberian izin tanpa memberikan token izin atau bukti izin lain. Anda dapat menggunakan token hibah kapan saja, tetapi setelah hibah pada akhirnya konsisten, AWS KMS gunakan hibah untuk menentukan izin, bukan token hibah.

Misalnya, perintah berikut memanggil GenerateDataKeyoperasi. Ini menggunakan token hibah untuk mewakili hibah yang memberikan izin kepada penelepon (prinsipal penerima hibah) untuk memanggil kunci yang GenerateDataKey ditentukan. KMS

$ aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-spec AES_256 \ --grant-token $token

Anda juga dapat menggunakan token izin untuk mengidentifikasi pemberian izin dalam operasi yang mengelola pemberian izin. Misalnya, kepala sekolah yang pensiun dapat menggunakan token hibah dalam panggilan ke RetireGrantoperasi.

$ aws kms retire-grant \ --grant-token $token

CreateGrant adalah satu-satunya operasi yang menampilkan token izin. Anda tidak bisa mendapatkan token hibah dari AWS KMS operasi lain atau dari peristiwa CloudTrail log untuk CreateGrant operasi. ListRetirableGrantsOperasi ListGrantsdan mengembalikan ID hibah, tetapi bukan token hibah.

Untuk detailnya, lihat Menggunakan token izin.

Perwakilan penerima

Identitas yang mendapatkan izin yang ditentukan dalam hibah. Setiap hibah memiliki satu pokok penerima hibah, tetapi pokok penerima hibah dapat mewakili banyak identitas.

Prinsipal penerima hibah dapat berupa AWS prinsipal apa pun, termasuk Akun AWS (root), IAMpengguna, peran, IAMperan atau pengguna federasi, atau pengguna peran yang diasumsikan. Prinsipal penerima hibah dapat berada di akun yang sama dengan KMS kunci atau akun yang berbeda. Namun, pokok penerima hibah tidak dapat berupa kepala layanan, IAMkelompok, atau organisasi AWS .

catatan

IAMPraktik terbaik mencegah penggunaan IAM pengguna dengan kredensi jangka panjang. Bila memungkinkan, gunakan IAM peran, yang menyediakan kredensi sementara. Untuk detailnya, lihat Praktik terbaik keamanan IAM di Panduan IAM Pengguna.

Penghentian (pemberian izin)

Mengakhiri pemberian izin. Anda menghentikan hibah ketika Anda selesai menggunakan izin.

Mencabut dan menghentikan pemberian izin akan menghapus pemberian izin tersebut. Namun penghentian dilakukan oleh perwakilan yang ditentukan dalam pemberian izin. Pencabutan biasanya dilakukan oleh administrator kunci. Untuk detail selengkapnya, lihat Menghentikan dan mencabut pemberian izin.

Perwakilan penghentian

Perwakilan yang dapat menghentikan pemberian izin. Anda dapat menentukan perwakilan penghentian dalam pemberian izin, tetapi tidak diperlukan. Prinsipal pensiun dapat berupa AWS prinsipal apa pun, termasuk Akun AWS, IAM pengguna, IAM peran, pengguna federasi, dan pengguna peran yang diasumsikan. Kepala sekolah yang pensiun dapat berada di akun yang sama dengan KMS kunci atau akun yang berbeda.

catatan

IAMPraktik terbaik mencegah penggunaan IAM pengguna dengan kredensi jangka panjang. Bila memungkinkan, gunakan IAM peran, yang menyediakan kredensi sementara. Untuk detailnya, lihat Praktik terbaik keamanan IAM di Panduan IAM Pengguna.

Selain pensiun kepala sekolah yang ditentukan dalam hibah, hibah dapat dipensiunkan oleh Akun AWS di mana hibah itu dibuat. Jika pemberian izin mengizinkan operasi RetireGrant, perwakilan penerima dapat menghentikan pemberian izin. Juga, Akun AWS atau yang merupakan kepala sekolah Akun AWS yang pensiun dapat mendelegasikan izin untuk pensiun hibah kepada IAM kepala sekolah dalam hal yang sama. Akun AWS Untuk detailnya, lihat Menghentikan dan mencabut pemberian izin.

Mencabut (pemberian izin)

Mengakhiri pemberian izin. Anda mencabut pemberian izin untuk secara aktif menolak izin yang diberikan pemberian izin.

Mencabut dan menghentikan pemberian izin akan menghapus pemberian izin tersebut. Namun penghentian dilakukan oleh perwakilan yang ditentukan dalam pemberian izin. Pencabutan biasanya dilakukan oleh administrator kunci. Untuk detail selengkapnya, lihat Menghentikan dan mencabut pemberian izin.

Eventual consistency (untuk pemberian izin)

AWS KMS APIBerikut ini adalah 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.

Anda mungkin menyadari penundaan singkat ini jika Anda mengalami kesalahan yang tidak terduga. Misalnya, Jika Anda mencoba mengelola hibah baru atau menggunakan izin dalam hibah baru sebelum hibah diketahui seluruhnya AWS KMS, Anda mungkin mendapatkan kesalahan akses ditolak. Jika Anda menghentikan atau mencabut pemberian izin, perwakilan penerima mungkin masih bisa menggunakan izin selama jangka waktu yang singkat sampai pemberian izin sepenuhnya dihapus. Strategi tipikal adalah mencoba kembali permintaan, dan beberapa AWS SDKs menyertakan backoff otomatis dan logika coba lagi.

AWS KMS memiliki fitur untuk mengurangi penundaan singkat ini.

  • Untuk segera menggunakan izin dalam pemberian izin baru, gunakan token izin. Anda dapat menggunakan token izin untuk mengacu pada pemberian izin dalam operasi pemberian izin. Untuk petunjuk, silakan lihat Menggunakan token izin.

  • CreateGrantOperasi memiliki Name parameter yang mencegah operasi coba lagi membuat hibah duplikat.

catatan

Token izin menggantikan validitas pemberian izin sampai semua titik akhir dalam layanan telah diperbarui dengan status izin baru. Dalam kebanyakan kasus, eventual consistency akan tercapai dalam waktu lima menit.

Untuk informasi lebih lanjut, lihat konsistensi AWS KMS akhirnya.