Manajemen peran Managed HSM

Catatan

Key Vault mendukung dua jenis sumber daya: vault dan HSM terkelola. Artikel ini berisi dasarkan Managed HSM. Jika Anda ingin mempelajari cara mengelola vault, silakan lihat Mengelola Key Vault menggunakan Azure CLI.

Untuk gambaran umum Managed HSM, lihat Apa itu Managed HSM?. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.

Artikel ini menunjukkan cara mengelola peran untuk data plane HSM terkelola. Untuk mempelajari tentang model kontrol akses Managed HSM, lihat kontrol akses Managed HSM.

Untuk mengizinkan prinsip keamanan (seperti pengguna, perwakilan layanan, grup, atau identitas terkelola) untuk melakukan operasi pesawat data HSM terkelola, mereka harus tetapkan peran yang mengizinkan melakukan operasi tersebut. Contohnya, jika Anda ingin mengizinkan aplikasi untuk melakukan operasi tanda menggunakan kunci, aplikasi harus menetapkan peran yang berisi "Microsoft.KeyVault/managedHSM/keys/sign/action" sebagai salah satu tindakan data. Peran dapat ditetapkan pada cakupan tertentu. RBAC lokal Managed HSM mendukung dua cakupan, lebar HSM (/ atau /keys) dan per kunci (/keys/<keyname>).

Untuk daftar semua peran bawaan Managed HSM dan operasi yang mereka izinkan, lihat peran bawaan Managed HSM.

Prasyarat

Untuk menggunakan perintah Azure CLI dalam artikel ini, Anda harus memiliki item berikut:

Azure Cloud Shell

Azure meng-hosting Azure Cloud Shell, lingkungan shell interaktif yang dapat Anda gunakan melalui browser. Anda dapat menggunakan Bash atau PowerShell dengan Cloud Shell untuk bekerja dengan layanan Azure. Anda dapat menggunakan perintah Cloud Shell yang telah diinstal sebelumnya untuk menjalankan kode dalam artikel ini tanpa harus menginstal apa-apa di lingkungan lokal Anda.

Untuk memulai Azure Cloud Shell:

Opsi Contoh/Tautan
Pilih Coba di pojok kanan atas blok kode atau perintah. Memilih Coba tidak otomatis menyalin kode atau perintah ke Cloud Shell. Cuplikan layar yang menunjukkan contoh Try It for Azure Cloud Shell.
Buka https://shell.azure.com, atau pilih tombol Luncurkan Cloud Shell untuk membuka Cloud Shell di browser Anda. Tombol untuk meluncurkan Azure Cloud Shell.
Pilih tombol Cloud Shell pada bilah menu di kanan atas di portal Microsoft Azure. Cuplikan layar yang menunjukkan tombol Cloud Shell di portal Azure

Untuk menggunakan Azure Cloud Shell:

  1. Mulai Cloud Shell.

  2. Pilih tombol Salin pada blok kode (atau blok perintah) untuk menyalin kode atau perintah.

  3. Tempel kode atau perintah ke dalam sesi Cloud Shell dengan memilih Ctrl+Shift+V di Windows dan Linux, atau dengan memilih Cmd+Shift+V di macOS.

  4. Pilih Masukkan untuk menjalankan kode atau perintah.

Masuk ke Azure

Untuk masuk ke Azure menggunakan CLI, ketik:

az login

Untuk informasi selengkapnya tentang opsi masuk melalui CLI, lihat masuk dengan Azure CLI

Membuat penetapan peran baru

Menetapkan peran untuk semua kunci

Gunakan perintah az keyvault role assignment create untuk menetapkan peran Pengguna Kripto HSM Terkelola kepada pengguna yang diidentifikasi oleh nama prinsipal pengguna user2@contoso.com untuk semua kunci (cakupan /keys) di ContosoHSM.

az keyvault role assignment create --hsm-name ContosoMHSM --role "Managed HSM Crypto User" --assignee user2@contoso.com  --scope /keys

Menetapkan peran untuk kunci tertentu

Gunakan perintah az keyvault role assignment create untuk menetapkan peran Pengguna Kripto HSM Terkelola kepada pengguna yang diidentifikasi oleh nama prinsipal pengguna user2@contoso.com untuk kunci tertentu bernama myrsakey.

az keyvault role assignment create --hsm-name ContosoMHSM --role "Managed HSM Crypto User" --assignee user2@contoso.com  --scope /keys/myrsakey

Mendaftarkan penetapan peran yang sudah ada

Gunakan az keyvault role assignment list untuk mandaftarkan penetapan peran.

Semua penetapan peran pada cakupan / (default ketika tidak ada -- cakupan yang ditentukan) untuk semua pengguna (default ketika tidak ada -- penerima tugas yang ditentukan)

az keyvault role assignment list --hsm-name ContosoMHSM

Semua penetapan peran di tingkat HSM untuk pengguna tertentu user1@contoso.com.

az keyvault role assignment list --hsm-name ContosoMHSM --assignee user@contoso.com

Catatan

Ketika cakupan adalah / (atau /kunci) perintah daftar hanya mendaftarkan semua penetapan peran di tingkat atas dan tidak menampilkan penetapan peran pada tingkat kunci individual.

Semua penetapan peran untuk pengguna tertentu user2@contoso.com untuk kunci tertentu myrsakey.

az keyvault role assignment list --hsm-name ContosoMHSM --assignee user2@contoso.com --scope /keys/myrsakey

Penetapan peran tertentu untuk peran Petugas Crypto HSM Terkelola untuk pengguna tertentu user2@contoso.com untuk kunci tertentu myrsakey

az keyvault role assignment list --hsm-name ContosoMHSM --assignee user2@contoso.com --scope /keys/myrsakey --role "Managed HSM Crypto Officer"

Menghapus penetapan peran

Gunakan perintah az keyvault role assignment delete untuk menghapus peran Petugas Crypto HSM Terkelola yang ditetapkan untuk pengguna user2@contoso.com untuk kunci myrsakey2.

az keyvault role assignment delete --hsm-name ContosoMHSM --role "Managed HSM Crypto Officer" --assignee user2@contoso.com  --scope /keys/myrsakey2

Daftar semua definisi peran yang tersedia

Gunakan az keyvault role definition list perintah untuk mendaftarkan semua definisi peran.

az keyvault role definition list --hsm-name ContosoMHSM

Membuat definisi peran baru

Managed HSM memiliki beberapa peran bawaan (yang telah ditentukan sebelumnya) yang berguna untuk skenario penggunaan yang paling umum. Anda dapat menentukan peran Anda sendiri dengan daftar tindakan tertentu yang diizinkan untuk dilakukan oleh peran tersebut. Kemudian Anda dapat menetapkan peran ini kepada prinsipal untuk memberi mereka izin untuk tindakan yang ditentukan.

Gunakan az keyvault role definition create perintah ke peran bernama Peran Kustom Saya menggunakan string JSON.

az keyvault role definition create --hsm-name ContosoMHSM --role-definition '{
    "roleName": "My Custom Role",
    "description": "The description of the custom rule.",
    "actions": [],
    "notActions": [],
    "dataActions": [
        "Microsoft.KeyVault/managedHsm/keys/read/action"
    ],
    "notDataActions": []
}'

Gunakan az keyvault role definition create perintah ke peran dari file bernamamy-custom-role-definition.json berisi string JSON untuk definisi peran. Lihat contoh di atas.

az keyvault role definition create --hsm-name ContosoMHSM --role-definition @my-custom-role-definition.json

Menampilkan detail definisi peran

Gunakan az keyvault role definition show perintah untuk melihat detail definisi peran tertentu menggunakan nama (GUID).

az keyvault role definition show --hsm-name ContosoMHSM --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Memperbarui definisi peran kustom

Gunakan az keyvault role definition update perintah untuk memperbarui peran bernama Peran Kustom Saya menggunakan string JSON.

az keyvault role definition create --hsm-name ContosoMHSM --role-definition '{
            "roleName": "My Custom Role",
            "name": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "id": "Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/xxxxxxxx-
        xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "description": "The description of the custom rule.",
            "actions": [],
            "notActions": [],
            "dataActions": [
                "Microsoft.KeyVault/managedHsm/keys/read/action",
                "Microsoft.KeyVault/managedHsm/keys/write/action",
                "Microsoft.KeyVault/managedHsm/keys/backup/action",
                "Microsoft.KeyVault/managedHsm/keys/create"
            ],
            "notDataActions": []
        }'

Hapus definisi peran kustom

Gunakan az keyvault role definition delete perintah untuk melihat detail definisi peran tertentu menggunakan nama (GUID).

az keyvault role definition delete --hsm-name ContosoMHSM --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Catatan

Peran bawaan tidak dapat dihapus. Saat peran kustom dihapus, semua penetapan peran menggunakan peran kustom tersebut menjadi tidak berfungsi.

Langkah berikutnya