Udostępnij za pośrednictwem


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: skarbce i zarządzane moduły HSM. Kontrola dostępu opisana w tym artykule dotyczy tylko skrytek. 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.

Kontrola dostępu oparta na rolach (Azure RBAC) to system autoryzacji wbudowany w Azure Resource Manager, który umożliwia scentralizowane zarządzanie dostępem do zasobów Azure.

Kontrola dostępu oparta na rolach platformy Azure umożliwia użytkownikom zarządzanie kluczami, wpisami tajnymi oraz uprawnieniami do certyfikatów, a także 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, sekretów i certyfikatów.

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

Najlepsze praktyki dotyczące poszczególnych kluczy, tajnych danych i przypisywania ról dla certyfikatów

Naszym zaleceniem jest użycie sejfu dla każdej aplikacji w każdym środowisku (Rozwój, Przedprodukcja i Produkcja) z rolami przypisanymi w zakresie magazynu kluczy.

Należy unikać przypisywania ról dla poszczególnych kluczy, wpisów tajnych i certyfikatów. Wyjątkiem jest scenariusz, w którym poszczególne tajemnice muszą być udostępniane wielu aplikacjom; na przykład, gdy jedna aplikacja musi uzyskać dostęp do danych 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 jest przeznaczona do operacji w płaszczyźnie sterowania wyłącznie do zarządzania sejfami kluczy. Nie zezwala na dostęp do kluczy, wpisów tajnych i certyfikatów.

Rola wbudowana opis identyfikator
Administrator magazynu kluczy 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 sejfów kluczy, które korzystają z modelu uprawnień "Azure Role-Based Access Control". 00482a5a-887f-4fb3-b363-3b7fe8e74483
Czytelnik Key Vault Odczytywanie metadanych magazynów kluczy oraz ich certyfikatów, kluczy i tajemnic. Nie można odczytać poufnych wartości, takich jak zawartość tajnych danych lub materiał kluczowy. Działa tylko w przypadku sejfów kluczy, które korzystają z modelu uprawnień "Azure Role-Based Access Control". 21090545-7ca7-4776-b22c-e363652d74d2
Operator przeczyszczania Key Vault Umożliwia trwałe usunięcie magazynów usuniętych tymczasowo. a68e7c17-0ab2-4c09-9a58-125dae29748c
Oficer certyfikatów usługi Key Vault Wykonaj dowolne akcje dotyczące certyfikatów magazynu kluczy, z wyjątkiem zarządzania uprawnieniami. Działa tylko w przypadku sejfów kluczy, które korzystają z modelu uprawnień "Azure Role-Based Access Control". a4417e6f-fecd-4de8-b567-7b0420556985
Użytkownik certyfikatu usługi Key Vault Czytaj całą zawartość certyfikatu, w tym część tajną i fragment klucza. Działa tylko w przypadku sejfów kluczy, które korzystają z modelu uprawnień "Azure Role-Based Access Control". db79e9a7-68ee-4b58-9aeb-b90e7c24fcba
Kryptograficzny Zarządca Key Vault Wykonaj dowolną akcję na kluczach skarbca kluczy, z wyjątkiem zarządzania uprawnieniami. Działa tylko w przypadku sejfów kluczy, które korzystają z modelu uprawnień "Azure Role-Based Access Control". 14b46e9e-c2b7-41b4-b07b-48a6ebf60603
Użytkownik szyfrowania usługi kryptograficznej Key Vault Odczytaj metadane kluczy i wykonaj operacje zawijania/odpakowywania. Działa tylko w przypadku sejfów kluczy, które korzystają z modelu uprawnień "Azure Role-Based Access Control". e147488a-f6f5-4113-8e2d-b22465e65bf6
Użytkownik kryptograficzny usługi Key Vault Wykonywanie operacji kryptograficznych przy użyciu kluczy. Działa tylko w przypadku sejfów kluczy, które korzystają z modelu uprawnień "Azure Role-Based Access Control". 12338af0-0e69-4776-bea7-57ae8d297424
Użytkownik wydania usługi kryptograficznej Key Vault Udostępnianie kluczy dla Azure Confidential Computing i równoważnych środowisk. Działa tylko w przypadku sejfów kluczy, które korzystają z modelu uprawnień "Azure Role-Based Access Control".
Menedżer tajemnic Key Vault Wykonaj dowolną akcję na sekretach skrytki kluczy, z wyjątkiem zarządzania uprawnieniami. Działa tylko w przypadku sejfów kluczy, które korzystają z modelu uprawnień "Azure Role-Based Access Control". b86a8fe4-44ce-4948-aee5-eccb2c155cd7
Użytkownik tajemnic usługi Key Vault Odczytaj tajną zawartość, w tym tajną część certyfikatu z kluczem prywatnym. Działa tylko w przypadku sejfów kluczy, które korzystają z modelu uprawnień "Azure Role-Based Access Control". 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 w warstwie danych usługi Key Vault

Rola wbudowana opis identyfikator
Administrator 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 administratora usługi Key Vault, oficera certyfikatów usługi Key Vault, oficera kryptograficznego usługi Key Vault, użytkownika szyfrowania usługi Kryptograficznej usługi Key Vault, użytkownika kryptograficznego 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 w celu ograniczenia przypisywania ról. 8b54135c-b56d-4d72-a534-26097cfdc8d8

Użycie uprawnień do tajemnic, kluczy i certyfikatów w ramach kontroli dostępu opartej na rolach Azure w usłudze Key Vault

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

Wymagania wstępne

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

Aby zarządzać przypisaniami ról, musisz mieć takie uprawnienia jak Microsoft.Authorization/roleAssignments/write (z ograniczonymi uprawnieniami do przypisywania/usuwania tylko określonych ról usługi Key Vault), Microsoft.Authorization/roleAssignments/delete lub właściciel.

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

Uwaga

Zmiana modelu uprawnień wymaga nieograniczonego uprawnienia "Microsoft.Authorization/roleAssignments/write", które jest częścią ról Właściciel i Administrator dostępu użytkowników . Klasyczne role administratora subskrypcji, takie jak "Administrator usługi" i "Współadministrator" lub ograniczone "Administrator dostępu do danych usługi Key Vault", nie mogą być używane do zmiany modelu uprawnień.

  1. W nowym magazynie kluczy włącz uprawnienia RBAC platformy Azure.

    Włączanie uprawnień RBAC platformy Azure: nowy skarbiec

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

    Włącz uprawnienia RBAC platformy Azure — istniejący skarbiec

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 tym dokumencie nazwa roli jest używana dla poprawy 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 w tajnym zakresie

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żenie strony jest wymagane po usunięciu przypisania ról. Poczekaj kilka minut na zaktualizowanie przydziałów ról

  1. Zweryfikuj dodawanie nowego sekretu 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 sekretu. Możesz zobaczyć wszystkie tajne właściwości.

      Tajny widok z dostępem

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

      Utwórz nowy sekret

  2. Sprawdź edytowanie tajnych danych bez roli "Key Vault Secret Officer" na tajnym poziomie.

    1. Przejdź do wcześniej utworzonej karty kontroli dostępu (IAM) i usuń przypisanie roli "Oficer ds. tajemnic Key Vault" dla tego zasobu.

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

      Tajny widok bez dostępu

  3. Sprawdzanie tajemnic odczytanych bez roli czytelnika na poziomie magazynu kluczy.

    1. Przejdź do grupy zasobów magazynu kluczy na kartę Kontrola dostępu (IAM) i usuń przypisanie roli "Key Vault Reader".

    2. Przejście do zakładki Sekretów w magazynie kluczy powinno spowodować wyświetlenie tego błędu:

      Tajna zakładka — błąd

Tworzenie ról niestandardowych

polecenie az role definition create

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ć przypisywania zakresu obiektów w modelu opartego na rolach (RBAC) usługi Key Vault, aby zapewnić izolację dla zespołów aplikacji w usłudze Key Vault?

Nr 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