Aracılığıyla paylaş


Yönetilen HSM rol yönetimi

Not

Key Vault iki tür kaynağı destekler: kasalar ve yönetilen HSM'ler. Bu makale Yönetilen HSM hakkındadır. Kasayı yönetmeyi öğrenmek istiyorsanız bkz . Azure CLI kullanarak Key Vault'ı yönetme.

Yönetilen HSM'ye genel bakış için bkz . Yönetilen HSM nedir?. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Bu makalede, Yönetilen HSM veri düzlemi rollerini yönetme gösterilmektedir. Yönetilen HSM erişim denetimi modeli hakkında bilgi edinmek için bkz . Yönetilen HSM erişim denetimi.

Bir güvenlik sorumlusuna (kullanıcı, hizmet sorumlusu, grup veya yönetilen kimlik gibi) yönetilen HSM veri düzlemi işlemlerini gerçekleştirme izni vermek için, bu işlemleri gerçekleştirmeye izin veren bir rol atanmalıdır. Örneğin, bir uygulamanın bir anahtar kullanarak imzalama işlemi gerçekleştirmesine izin vermek istiyorsanız, veri eylemlerinden biri olarak "Microsoft.KeyVault/managedHSM/keys/sign/action" öğesini içeren bir rol atanmalıdır. Belirli bir kapsamda bir rol atanabilir. Yönetilen HSM yerel RBAC, HSM genelinde ( veya /keys) ve anahtar başına (//keys/<keyname> ) iki kapsamı destekler.

Tüm Yönetilen HSM yerleşik rollerinin ve izin verdikleri işlemlerin listesi için bkz . Yönetilen HSM yerleşik rolleri.

Önkoşullar

Bu makaledeki Azure CLI komutlarını kullanmak için aşağıdaki öğelere sahip olmanız gerekir:

Azure Cloud Shell

Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell'i barındırıyor. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Yerel ortamınıza herhangi bir şey yüklemek zorunda kalmadan bu makaledeki kodu çalıştırmak için Cloud Shell önceden yüklenmiş komutlarını kullanabilirsiniz.

Azure Cloud Shell'i başlatmak için:

Seçenek Örnek/Bağlantı
Kodun veya komut bloğunun sağ üst köşesindeki Deneyin'i seçin. Deneyin seçildiğinde kod veya komut otomatik olarak Cloud Shell'e kopyalanmaz. Azure Cloud Shell için Deneyin örneğini gösteren ekran görüntüsü.
https://shell.azure.comadresine gidin veya Cloud Shell'i tarayıcınızda açmak için Cloud Shell'i Başlat düğmesini seçin. Azure Cloud Shell'i başlatma düğmesi.
Azure portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin. Azure portalında Cloud Shell düğmesini gösteren ekran görüntüsü

Azure Cloud Shell'i kullanmak için:

  1. Cloud Shell'i başlatın.

  2. Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.

  3. Windows ve Linux'ta Ctrl+Shift V'yi seçerek veya macOS üzerinde Cmd+Shift++V'yi seçerek kodu veya komutu Cloud Shell oturumuna yapıştırın.

  4. Kodu veya komutu çalıştırmak için Enter'ı seçin.

Azure'da oturum açma

CLI kullanarak Azure'da oturum açmak için şunu yazabilirsiniz:

az login

CLI aracılığıyla oturum açma seçenekleri hakkında daha fazla bilgi için bkz. Azure CLI ile oturum açma

Yeni rol ataması oluşturma

Tüm anahtarlar için rol atama

ContosoHSM'deki tüm anahtarlar (kapsam/keys) için kullanıcı asıl adıyla user2@contoso.com tanımlanan kullanıcıya Yönetilen HSM Şifreleme Kullanıcısı rolü atamak için komutunu kullanınaz keyvault role assignment create.

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

Belirli bir anahtar için rol atama

myrsakey adlı belirli bir anahtar için kullanıcı asıl adıyla user2@contoso.com tanımlanan kullanıcıya Yönetilen HSM Şifreleme Kullanıcısı rolü atamak için komutunu kullanınaz keyvault role assignment create.

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

Mevcut rol atamalarını listeleme

Rol atamalarını listelemek için kullanın az keyvault role assignment list .

Tüm kullanıcılar için kapsam / (hiçbir --scope belirtilmediğinde varsayılan) tüm rol atamaları (hiçbir --assignee belirtilmediğinde varsayılan)

az keyvault role assignment list --hsm-name ContosoMHSM

Belirli bir kullanıcı user1@contoso.comiçin HSM düzeyindeki tüm rol atamaları.

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

Not

Kapsam / (veya /keys) olduğunda liste komutu yalnızca en üst düzeydeki tüm rol atamalarını listeler ve tek tek anahtar düzeyinde rol atamalarını göstermez.

Belirli bir kullanıcı user2@contoso.com için belirli bir myrsakey anahtarı için tüm rol atamaları.

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

Belirli bir anahtar myrsakey için belirli bir kullanıcı user2@contoso.com için yönetilen HSM Şifreleme Yetkilisi rolü için belirli bir rol ataması

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

Rol ataması silme

myrsakey2 anahtarı için kullanıcıya user2@contoso.com atanmış yönetilen HSM Şifreleme Yetkilisi rolünü silmek için komutunu kullanınaz keyvault role assignment delete.

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

Kullanılabilir tüm rol tanımlarını listeleme

Tüm rol tanımlarını listelemek için komutunu kullanın az keyvault role definition list .

az keyvault role definition list --hsm-name ContosoMHSM

Yeni rol tanımı oluşturma

Yönetilen HSM'nin, en yaygın kullanım senaryoları için yararlı olan birkaç yerleşik (önceden tanımlanmış) rolü vardır. Rolün gerçekleştirmesine izin verilen belirli eylemlerin listesiyle kendi rolünüzü tanımlayabilirsiniz. Ardından bu rolü sorumlulara atayarak belirtilen eylemlere izin verilmektedir.

Komutunu JSON dizesi kullanarak Özel Rolüm adlı bir role kullanınaz keyvault role definition create.

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": []
}'

Bir rol tanımı için JSON dizesini içeren my-custom-role-definition.json adlı dosyadan bir role komutunu kullanınaz keyvault role definition create. Yukarıdaki örne bakın.

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

Rol tanımının ayrıntılarını gösterme

Ad (GUID) kullanarak belirli bir rol tanımının ayrıntılarını görmek için komutunu kullanın az keyvault role definition show .

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

Özel rol tanımını güncelleştirme

JSON dizesi kullanarak Özel Rolüm adlı bir rolü güncelleştirmek için komutunu kullanınaz keyvault role definition update.

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": []
        }'

Özel rol tanımını sil

Ad (GUID) kullanarak belirli bir rol tanımının ayrıntılarını görmek için komutunu kullanın az keyvault role definition delete .

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

Not

Yerleşik roller silinemez. Özel roller silindiğinde, bu özel rolü kullanan tüm rol atamaları geçersiz hale gelir.

Sonraki adımlar