Zapewnianie dostępu do kluczy, certyfikatów i wpisów tajnych usługi Key Vault za pomocą kontroli dostępu opartej na rolach na platformie Azure

Uwaga

Dostawca zasobów usługi Key Vault obsługuje dwa typy zasobów: magazyny i zarządzane moduły HSM. Kontrola dostępu opisana w tym artykule dotyczy tylko magazynów. Aby dowiedzieć się więcej na temat kontroli dostępu dla zarządzanego modułu HSM, zobacz Zarządzanie kontrolą dostępu do modułu HSM.

Uwaga

aplikacja systemu Azure Konfiguracja certyfikatu usługi za pośrednictwem witryny Azure Portal nie obsługuje modelu uprawnień RBAC usługi Key Vault. Możesz użyć programu Azure PowerShell, interfejsu wiersza polecenia platformy Azure, wdrożeń szablonów usługi ARM z przypisaniem roli użytkownika certyfikatu usługi Key Vault dla tożsamości globalnej usługi App Service, na przykład usługi Microsoft aplikacja systemu Azure Service w chmurze publicznej.

Kontrola dostępu oparta na rolach platformy Azure (RBAC) platformy Azure to system autoryzacji oparty na usłudze Azure Resource Manager , który zapewnia scentralizowane zarządzanie dostępem do zasobów platformy Azure.

Kontrola dostępu na podstawie ról platformy Azure umożliwia użytkownikom zarządzanie uprawnieniami klucz, wpisy tajne i certyfikaty. Zapewnia jedno miejsce do zarządzania wszystkimi uprawnieniami we wszystkich magazynach kluczy.

Model RBAC platformy Azure umożliwia użytkownikom ustawianie uprawnień na różnych poziomach zakresu: grupy zarządzania, subskrypcji, grupy zasobów lub poszczególnych zasobów. Kontrola dostępu oparta na rolach platformy Azure dla magazynu kluczy umożliwia również użytkownikom posiadanie oddzielnych uprawnień do poszczególnych kluczy, wpisów tajnych i certyfikatów

Aby uzyskać więcej informacji, zobacz Kontrola dostępu oparta na rolach (RBAC) platformy Azure.

Najlepsze rozwiązania dotyczące poszczególnych kluczy, wpisów tajnych i przypisań ról certyfikatów

Naszym zaleceniem jest użycie magazynu dla poszczególnych aplikacji (programowanie, przedprodukcyjne i produkcja) z rolami przypisanymi w zakresie usługi Key Vault.

Należy unikać przypisywania ról dla poszczególnych kluczy, wpisów tajnych i certyfikatów. Wyjątki od ogólnych wskazówek:

  • Scenariusze, w których poszczególne wpisy tajne muszą być współużytkowane przez wiele aplikacji, na przykład jedna aplikacja musi uzyskiwać dostęp do danych z innej aplikacji

Aby uzyskać więcej informacji na temat wytycznych dotyczących zarządzania usługą Azure Key Vault, zobacz:

Wbudowane role platformy Azure dla operacji płaszczyzny danych usługi Key Vault

Uwaga

Rola Key Vault Contributor dotyczy operacji płaszczyzny zarządzania tylko do zarządzania magazynami kluczy. Nie zezwala na dostęp do kluczy, wpisów tajnych i certyfikatów.

Rola wbudowana opis ID
Administracja istrator usługi Key Vault Wykonaj wszystkie operacje płaszczyzny danych w magazynie kluczy i wszystkich obiektów, w tym certyfikatów, kluczy i wpisów tajnych. Nie można zarządzać zasobami magazynu kluczy ani zarządzać przypisaniami ról. Działa tylko w przypadku magazynów kluczy korzystających z modelu uprawnień "Kontrola dostępu oparta na rolach na platformie Azure". 00482a5a-887f-4fb3-b363-3b7fe8e74483
Czytelnik usługi Key Vault Odczytywanie metadanych magazynów kluczy i jego certyfikatów, kluczy i wpisów tajnych. Nie można odczytać poufnych wartości, takich jak zawartość wpisu tajnego lub materiał klucza. Działa tylko w przypadku magazynów kluczy korzystających z modelu uprawnień "Kontrola dostępu oparta na rolach na platformie Azure". 21090545-7ca7-4776-b22c-e363652d74d2
Oficer certyfikatów usługi Key Vault Wykonaj dowolną akcję na certyfikatach magazynu kluczy, z wyjątkiem uprawnień zarządzania. Działa tylko w przypadku magazynów kluczy korzystających z modelu uprawnień "Kontrola dostępu oparta na rolach na platformie Azure". a4417e6f-fecd-4de8-b567-7b0420556985
Użytkownik certyfikatu usługi Key Vault Odczytywanie całej zawartości certyfikatu, w tym części wpisu tajnego i klucza. Działa tylko w przypadku magazynów kluczy korzystających z modelu uprawnień "Kontrola dostępu oparta na rolach na platformie Azure". db79e9a7-68ee-4b58-9aeb-b90e7c24fcba
Key Vault Crypto Officer Wykonaj dowolną akcję na kluczach magazynu kluczy, z wyjątkiem zarządzania uprawnieniami. Działa tylko w przypadku magazynów kluczy korzystających z modelu uprawnień "Kontrola dostępu oparta na rolach na platformie Azure". 14b46e9e-c2b7-41b4-b07b-48a6ebf60603
Użytkownik szyfrowania usługi kryptograficznej usługi Key Vault Odczytywanie metadanych kluczy i wykonywanie operacji zawijania/odpakowywanie. Działa tylko w przypadku magazynów kluczy korzystających z modelu uprawnień "Kontrola dostępu oparta na rolach na platformie Azure". e147488a-f6f5-4113-8e2d-b22465e65bf6
Użytkownik kryptograficzny usługi Key Vault Wykonywanie operacji kryptograficznych przy użyciu kluczy. Działa tylko w przypadku magazynów kluczy korzystających z modelu uprawnień "Kontrola dostępu oparta na rolach na platformie Azure". 12338af0-0e69-4776-bea7-57ae8d297424
Użytkownik wydania usługi kryptograficznej usługi Key Vault Klucze wydania dla usługi Azure Confidential Computing i równoważnych środowisk. Działa tylko w przypadku magazynów kluczy korzystających z modelu uprawnień "Kontrola dostępu oparta na rolach na platformie Azure".
Oficer wpisów tajnych usługi Key Vault Wykonaj dowolną akcję wpisów tajnych magazynu kluczy, z wyjątkiem zarządzania uprawnieniami. Działa tylko w przypadku magazynów kluczy korzystających z modelu uprawnień "Kontrola dostępu oparta na rolach na platformie Azure". b86a8fe4-44ce-4948-aee5-eccb2c155cd7
Użytkownik wpisów tajnych usługi Key Vault Odczytaj zawartość wpisu tajnego, w tym część wpisu tajnego certyfikatu z kluczem prywatnym. Działa tylko w przypadku magazynów kluczy korzystających z modelu uprawnień "Kontrola dostępu oparta na rolach na platformie Azure". 4633458b-17de-408a-b874-0445c86b69e6

Aby uzyskać więcej informacji na temat wbudowanych definicji ról platformy Azure, zobacz Role wbudowane platformy Azure.

Zarządzanie wbudowanymi przypisaniami ról płaszczyzny danych usługi Key Vault

Rola wbudowana opis ID
Administracja istrator dostępu do danych usługi Key Vault Zarządzanie dostępem do usługi Azure Key Vault przez dodawanie lub usuwanie przypisań ról dla usługi Key Vault Administracja istratora, oficera certyfikatów usługi Key Vault, oficera kryptograficznego usługi Key Vault, użytkownika szyfrowania usługi Kryptograficznej usługi Key Vault, czytelnika usługi Key Vault, oficera wpisów tajnych usługi Key Vault lub ról użytkownika wpisów tajnych usługi Key Vault. Obejmuje warunek ABAC do ograniczenia przypisań ról. 8b54135c-b56d-4d72-a534-26097cfdc8d8

Używanie uprawnień wpisów tajnych, klucza i certyfikatu kontroli dostępu opartej na rolach platformy Azure w usłudze Key Vault

Nowy model uprawnień RBAC platformy Azure dla magazynu kluczy stanowi alternatywę dla modelu uprawnień zasad dostępu do magazynu.

Wymagania wstępne

Wymagana jest subskrypcja platformy Azure. Jeśli tego nie zrobisz, przed rozpoczęciem możesz utworzyć bezpłatne konto .

Aby dodać przypisania ról, musisz mieć Microsoft.Authorization/roleAssignments/write uprawnienia iMicrosoft.Authorization/roleAssignments/delete, takie jak Administracja istrator dostępu do danych usługi Key Vault, Administracja istrator dostępu użytkowników lub właściciel.

Włączanie uprawnień RBAC platformy Azure w usłudze Key Vault

Uwaga

Zmiana modelu uprawnień wymaga uprawnienia "Microsoft.Authorization/roleAssignments/write", które jest częścią ról właściciela i dostępu użytkowników Administracja istratora. Klasyczne role administratora subskrypcji, takie jak "Service Administracja istrator" i "Co-Administracja istrator" nie są obsługiwane.

  1. Włącz uprawnienia kontroli dostępu opartej na rolach platformy Azure w nowym magazynie kluczy:

    Włączanie uprawnień RBAC platformy Azure — nowy magazyn

  2. Włącz uprawnienia RBAC platformy Azure w istniejącym magazynie kluczy:

    Włączanie uprawnień RBAC platformy Azure — istniejący magazyn

Ważne

Ustawienie modelu uprawnień RBAC platformy Azure powoduje unieważnienie wszystkich uprawnień zasad dostępu. Może to spowodować awarie, gdy równoważne role platformy Azure nie są przypisane.

Przypisywanie roli

Uwaga

Zaleca się użycie unikatowego identyfikatora roli zamiast nazwy roli w skryptach. W związku z tym jeśli nazwa roli zostanie zmieniona, skrypty będą nadal działać. W tej nazwie roli dokumentu jest używana tylko do czytelności.

Aby utworzyć przypisanie roli przy użyciu interfejsu wiersza polecenia platformy Azure, użyj polecenia az role assignment :

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

Aby uzyskać szczegółowe informacje, zobacz Przypisywanie ról platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure.

Przypisanie roli zakresu grupy zasobów

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

Aby uzyskać szczegółowe informacje, zobacz Przypisywanie ról platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure.

Powyższe przypisanie roli umożliwia wyświetlanie listy obiektów magazynu kluczy w magazynie kluczy.

Przypisanie roli zakresu usługi 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}

Aby uzyskać szczegółowe informacje, zobacz Przypisywanie ról platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure.

Przypisanie roli zakresu wpisu tajnego

Uwaga

Klucz tajny magazynu kluczy, certyfikat, przypisania ról zakresu klucza powinny być używane tylko w przypadku ograniczonych scenariuszy opisanych tutaj w celu zachowania zgodności z najlepszymi rozwiązaniami w zakresie zabezpieczeń.

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

Aby uzyskać szczegółowe informacje, zobacz Przypisywanie ról platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure.

Testowanie i weryfikowanie

Uwaga

Przeglądarki używają buforowania i odświeżania stron jest wymagane po usunięciu przypisań ról. Poczekaj kilka minut na odświeżenie przypisań ról

  1. Zweryfikuj dodawanie nowego wpisu tajnego bez roli "Key Vault Secrets Officer" na poziomie magazynu kluczy.

    1. Przejdź do karty Kontrola dostępu do magazynu kluczy (IAM) i usuń przypisanie roli "Key Vault Secrets Officer" dla tego zasobu.

      Usuwanie przypisania — magazyn kluczy

    2. Przejdź do wcześniej utworzonego wpisu tajnego. Zobaczysz wszystkie właściwości wpisu tajnego.

      Widok wpisu tajnego z dostępem

    3. Utwórz nowy wpis tajny (Wpisy tajne > +Generuj/Importuj) powinien wyświetlić następujący błąd:

      Tworzenie nowego wpisu tajnego

  2. Zweryfikuj edytowanie wpisów tajnych bez roli "Key Vault Secret Officer" na poziomie wpisu tajnego.

    1. Przejdź do wcześniej utworzonej karty kontroli dostępu wpisów tajnych (IAM) i usuń przypisanie roli "Key Vault Secrets Officer" dla tego zasobu.

    2. Przejdź do wcześniej utworzonego wpisu tajnego. Możesz wyświetlić właściwości wpisu tajnego.

      Widok wpisu tajnego bez dostępu

  3. Weryfikowanie wpisów tajnych odczytanych bez roli czytelnika na poziomie magazynu kluczy.

    1. Przejdź do karty Kontrola dostępu (IAM) magazynu kluczy i usuń przypisanie roli "Czytelnik usługi Key Vault".

    2. Przejście do karty Wpisy tajne magazynu kluczy powinno spowodować wyświetlenie następującego błędu:

      Karta Wpis tajny — błąd

Tworzenie ról niestandardowych

az role definition create, polecenie

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

Aby uzyskać więcej informacji na temat tworzenia ról niestandardowych, zobacz:

Role niestandardowe platformy Azure

Często zadawane pytania

Czy można używać przypisań zakresu obiektów modelu uprawnień modelu uprawnień opartej na rolach (RBAC) usługi Key Vault w celu zapewnienia izolacji dla zespołów aplikacji w usłudze Key Vault?

L.p. Model uprawnień RBAC umożliwia przypisanie dostępu do poszczególnych obiektów w usłudze Key Vault do użytkownika lub aplikacji, ale wszelkie operacje administracyjne, takie jak kontrola dostępu do sieci, monitorowanie i zarządzanie obiektami, wymagają uprawnień na poziomie magazynu, co spowoduje uwidocznienie bezpiecznych informacji operatorom w zespołach aplikacji.

Dowiedz się więcej