Sediakan akses ke kunci, sertifikat, dan rahasia Key Vault dengan kontrol akses berbasis peran Azure

Catatan

Penyedia sumber daya Key Vault mendukung dua jenis sumber daya: vault dan HSM terkelola. Kontrol akses yang dijelaskan di artikel ini hanya berlaku untuk vault. Untuk mempelajari lebih lanjut tentang kontrol akses untuk HSM terkelola, lihat Kontrol akses HSM terkelola.

Catatan

Konfigurasi sertifikat Azure App Service melalui Portal Azure tidak mendukung model izin RBAC Key Vault. Anda dapat menggunakan penyebaran templat Azure PowerShell, Azure CLI, ARM dengan penetapan peran Pengguna Sertifikat Key Vault untuk identitas global App Service, misalnya Microsoft Azure App Service' di cloud publik.

Kontrol akses berbasis peran Azure (Azure RBAC) adalah sistem otorisasi yang dibangun di Azure Resource Manager yang menyediakan manajemen akses terpusat sumber daya Azure.

RBAC Azure memungkinkan pengguna mengelola izin Kunci, Rahasia, dan Sertifikat. Hal ini memberikan satu tempat untuk mengelola semua izin di semua brankas kunci.

Model Azure RBAC memungkinkan pengguna untuk mengatur izin pada tingkat cakupan yang berbeda: grup manajemen, langganan, grup sumber daya, atau sumber daya individual. Azure RBAC untuk brankas kunci juga memungkinkan pengguna untuk memiliki izin terpisah pada kunci, rahasia, dan sertifikat individual

Untuk mengetahui informasi selengkapnya, lihat Kontrol akses berbasis peran Azure (RBAC Azure).

Praktik Terbaik untuk penetapan peran kunci, rahasia, dan sertifikat individu

Rekomendasi kami adalah menggunakan vault per aplikasi per lingkungan (Pengembangan, Pra-Produksi, dan Produksi) dengan peran yang ditetapkan di cakupan Key Vault.

Menetapkan peran pada kunci, rahasia, dan sertifikat individual harus dihindari. Pengecualian untuk panduan umum:

  • Skenario di mana rahasia individu harus dibagikan antara beberapa aplikasi, misalnya, satu aplikasi perlu mengakses data dari aplikasi lain

Untuk mengetahui informasi selengkapnya tentang panduan manajemen Azure Key Vault, lihat:

Peran bawaan Azure untuk operasi bidang data Key Vault

Catatan

Perannya Key Vault Contributor adalah untuk operasi bidang manajemen hanya untuk mengelola brankas kunci. Hal ini tidak mengizinkan akses ke kunci, rahasia, dan sertifikat.

Peran bawaan Deskripsi ID
Administrator Key Vault Lakukan semua operasi bidang data pada brankas kunci dan semua objek di dalamnya, termasuk sertifikat, kunci, dan rahasia. Tidak dapat mengelola sumber daya brankas kunci atau mengelola penetapan peran. Hanya berfungsi untuk brankas kunci yang menggunakan model izin 'kontrol akses berbasis peran Azure'. 00482a5a-887f-4fb3-b363-3b7fe8e74483
Pembaca Key Vault Baca metadata brankas kunci serta sertifikat, kunci, dan rahasianya. Tidak dapat membaca nilai sensitif seperti konten rahasia atau materi kunci. Hanya berfungsi untuk brankas kunci yang menggunakan model izin 'kontrol akses berbasis peran Azure'. 21090545-7ca7-4776-b22c-e363652d74d2
Petugas Sertifikat Key Vault Lakukan tindakan apa pun pada sertifikat brankas kunci, kecuali izin kelola. Hanya berfungsi untuk brankas kunci yang menggunakan model izin 'kontrol akses berbasis peran Azure'. a4417e6f-fecd-4de8-b567-7b0420556985
Pengguna Sertifikat Key Vault Membaca seluruh konten sertifikat termasuk bagian rahasia dan kunci. Hanya berfungsi untuk brankas kunci yang menggunakan model izin 'kontrol akses berbasis peran Azure'. db79e9a7-68ee-4b58-9aeb-b90e7c24fcba
Petugas Kripto Key Vault Lakukan tindakan apa pun pada kunci brankas kunci, kecuali izin kelola. Hanya berfungsi untuk brankas kunci yang menggunakan model izin 'kontrol akses berbasis peran Azure'. 14b46e9e-c2b7-41b4-b07b-48a6ebf60603
Pengguna Enkripsi Layanan Kripto Key Vault Baca metadata kunci dan lakukan operasi bungkus/buka bungkus. Hanya berfungsi untuk brankas kunci yang menggunakan model izin 'kontrol akses berbasis peran Azure'. e147488a-f6f5-4113-8e2d-b22465e65bf6
Pengguna Kripto Key Vault Lakukan operasi kriptografi menggunakan kunci. Hanya berfungsi untuk brankas kunci yang menggunakan model izin 'kontrol akses berbasis peran Azure'. 12338af0-0e69-4776-bea7-57ae8d297424
Pengguna Rilis Layanan Kripto Key Vault Kunci rilis untuk Azure Confidential Computing dan lingkungan yang setara. Hanya berfungsi untuk brankas kunci yang menggunakan model izin 'kontrol akses berbasis peran Azure'.
Petugas Rahasia Key Vault Lakukan tindakan apa pun pada rahasia brankas kunci, kecuali izin kelola. Hanya berfungsi untuk brankas kunci yang menggunakan model izin 'kontrol akses berbasis peran Azure'. b86a8fe4-44ce-4948-aee5-eccb2c155cd7
Pengguna Rahasia Key Vault Membaca konten rahasia termasuk bagian rahasia sertifikat dengan kunci privat. Hanya berfungsi untuk brankas kunci yang menggunakan model izin 'kontrol akses berbasis peran Azure'. 4633458b-17de-408a-b874-0445c86b69e6

Untuk informasi selengkapnya tentang definisi peran bawaan Azure, lihat peran bawaan Azure.

Mengelola penetapan peran bidang data Key Vault bawaan

Peran bawaan Deskripsi ID
Administrator Akses Data Key Vault Kelola akses ke Azure Key Vault dengan menambahkan atau menghapus penetapan peran untuk Administrator Key Vault, Petugas Sertifikat Key Vault, Petugas Kripto Key Vault, Pengguna Enkripsi Layanan Kripto Key Vault, Pengguna Kripto Key Vault, Pembaca Key Vault, Petugas Rahasia Key Vault, atau Peran Pengguna Rahasia Key Vault. Menyertakan kondisi ABAC untuk membatasi penetapan peran. 8b54135c-b56d-4d72-a534-26097cfdc8d8

Menggunakan izin rahasia, kunci, dan sertifikat RBAC Azure dengan Key Vault

Model izin RBAC Azure baru untuk brankas kunci memberikan alternatif untuk model izin kebijakan akses vault.

Prasyarat

Anda harus memiliki langganan Azure yang aktif. Jika Anda tidak memilikinya, buatlah akun gratis sebelum memulai.

Untuk menambahkan penetapan peran, Anda harus memiliki Microsoft.Authorization/roleAssignments/write izin dan Microsoft.Authorization/roleAssignments/delete , seperti Administrator Akses Data Key Vault, Administrator Akses Pengguna, atau Pemilik.

Mengaktifkan izin RBAC Azure pada Key Vault

Catatan

Mengubah model izin memerlukan izin 'Microsoft.Authorization/roleAssignments/write', yang merupakan bagian dari peran Pemilik dan Administrator Akses Pengguna. Peran administrator langganan klasik seperti 'Administrator Layanan' dan 'Rekan Administrator' tidak didukung.

  1. Aktifkan izin RBAC Azure pada brankas kunci baru:

    Aktifkan izin RBAC Azure - vault baru

  2. Aktifkan izin RBAC Azure pada brankas kunci yang ada:

    Aktifkan izin RBAC Azure - vault yang ada

Penting

Pengaturan model izin RBAC Azure membatalkan semua izin kebijakan akses. Hal ini dapat menyebabkan pemadaman ketika peran Azure yang setara tidak ditetapkan.

Menetapkan peran

Catatan

Disarankan untuk menggunakan ID peran unik daripada nama peran dalam skrip. Oleh karena itu, jika peran diganti namanya, skrip Anda akan terus berfungsi. Dalam dokumen ini, nama peran hanya digunakan untuk keterbacaan.

Untuk membuat penetapan peran menggunakan Azure CLI, gunakan perintah penetapan peran az:

az role assignment create --role {role-name-or-id} --assignee {assignee-upn}> --scope {scope}

Untuk informasi selengkapnya, lihat Tetapkan peran Azure menggunakan Azure CLI.

Penetapan peran cakupan grup sumber daya

az role assignment create --role "Key Vault Reader" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}

Untuk informasi selengkapnya, lihat Tetapkan peran Azure menggunakan Azure CLI.

Penetapan peran di atas memberikan kemampuan untuk membuat daftar objek brankas kunci di brankas kunci.

Penetapan peran cakupan Key Vault

az role assignment create --role "Key Vault Secrets Officer" --assignee {assignee-upn} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}

Untuk informasi selengkapnya, lihat Tetapkan peran Azure menggunakan Azure CLI.

Penetapan peran cakupan rahasia

Catatan

Rahasia brankas kunci, sertifikat, penetapan peran cakupan kunci hanya boleh digunakan untuk skenario terbatas yang dijelaskan di sini untuk mematuhi praktik terbaik keamanan.

az role assignment create --role "Key Vault Secrets Officer" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}/secrets/RBACSecret

Untuk informasi selengkapnya, lihat Tetapkan peran Azure menggunakan Azure CLI.

Menguji dan memverifikasi

Catatan

Browser menggunakan penembolokan dan refresh halaman diperlukan setelah menghapus penetapan peran. Beri waktu beberapa menit agar penetapan peran di-refresh

  1. Validasi penambahan rahasia baru tanpa peran "Petugas Rahasia Key Vault" pada tingkat brankas kunci.

    1. Buka tab kontrol Akses brankas kunci (IAM) dan hapus penetapan peran "Petugas Rahasia Key Vault" untuk sumber daya ini.

      Hapus penetapan - brankas kunci

    2. Arahkan ke rahasia yang dibuat sebelumnya. Anda dapat melihat semua properti rahasia.

      Tampilan rahasia dengan akses

    3. Buat rahasia baru ( Rahasia > +Hasilkan/Impor) harus menunjukkan kesalahan ini:

      Buat rahasia baru

  2. Validasi pengeditan rahasia tanpa peran "Petugas Rahasia Key Vault" pada tingkat rahasia.

    1. Buka tab Microsoft Azure Access Control Service rahasia (IAM) yang sebelumnya dibuat dan hapus penetapan peran "Petugas Rahasia Key Vault" untuk sumber daya ini.

    2. Arahkan ke rahasia yang dibuat sebelumnya. Anda dapat melihat properti rahasia.

      Tampilan rahasia tanpa akses

  3. Memvalidasi rahasia yang dibaca tanpa peran pembaca pada tingkat brankas kunci.

    1. Buka tab kontrol Akses grup sumber daya brankas kunci (IAM) dan hapus penetapan peran "Pembaca Key Vault".

    2. Menavigasi ke tab Rahasia brankas kunci akan menampilkan kesalahan ini:

      Tab Rahasia - kesalahan

Membuat peran kustom

perintah buat definisi peran az

az role definition create --role-definition '{ \
   "Name": "Backup Keys Operator", \
   "Description": "Perform key backup/restore operations", \
    "Actions": [ 
    ], \
    "DataActions": [ \
        "Microsoft.KeyVault/vaults/keys/read ", \
        "Microsoft.KeyVault/vaults/keys/backup/action", \
         "Microsoft.KeyVault/vaults/keys/restore/action" \
    ], \
    "NotDataActions": [ 
   ], \
    "AssignableScopes": ["/subscriptions/{subscriptionId}"] \
}'

Untuk Informasi selengkapnya tentang cara membuat peran kustom, lihat:

Peran kustom Azure

Pertanyaan Umum

Dapatkah saya menggunakan penetapan cakupan objek model izin kontrol akses berbasis peran (RBAC) Key Vault untuk menyediakan isolasi bagi tim aplikasi dalam Key Vault?

Tidak. Model izin RBAC memungkinkan Anda menetapkan akses ke objek individual di Key Vault ke pengguna atau aplikasi, tetapi operasi administratif apa pun seperti kontrol akses jaringan, pemantauan, dan manajemen objek memerlukan izin tingkat brankas, yang kemudian akan mengekspos informasi aman kepada operator di seluruh tim aplikasi.

Pelajari lebih lanjut