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 oparta na rolach platformy Azure umożliwia użytkownikom zarządzanie kluczami, wpisami tajnymi i uprawnieniami certyfikatów oraz 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 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 wpisy tajne muszą być współużytkowane przez wiele aplikacji; na przykład, gdy 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 |
---|---|---|
Key Vault Administrator | 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 |
Operator przeczyszczania usługi Key Vault | Umożliwia trwałe usunięcie magazynów usuniętych nietrwale. | a68e7c17-0ab2-4c09-9a58-125dae29748c |
Oficer certyfikatów usługi Key Vault | Wykonaj dowolną akcję na certyfikatach magazynu kluczy, z wyłączeniem odczytywania części wpisu tajnego i klucza oraz 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". | 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 |
---|---|---|
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 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 zarządzać przypisaniami ról, musisz mieć Microsoft.Authorization/roleAssignments/write
uprawnienia i Microsoft.Authorization/roleAssignments/delete
, takie jak Administrator dostępu do danych usługi Key Vault (z ograniczonymi uprawnieniami do przypisywania/usuwania tylko określonych ról usługi Key Vault), administrator 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 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ń.
Włącz uprawnienia kontroli dostępu opartej na rolach platformy Azure w nowym magazynie kluczy:
Włącz uprawnienia RBAC platformy Azure w istniejącym magazynie kluczy:
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 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
Zweryfikuj dodawanie nowego wpisu tajnego bez roli "Key Vault Secrets Officer" na poziomie magazynu kluczy.
Przejdź do karty Kontrola dostępu do magazynu kluczy (IAM) i usuń przypisanie roli "Key Vault Secrets Officer" dla tego zasobu.
Przejdź do wcześniej utworzonego wpisu tajnego. Zobaczysz wszystkie właściwości wpisu tajnego.
Utwórz nowy wpis tajny (Wpisy tajne > +Generuj/Importuj) powinien wyświetlić następujący błąd:
Zweryfikuj edytowanie wpisów tajnych bez roli "Key Vault Secret Officer" na poziomie wpisu tajnego.
Przejdź do wcześniej utworzonej karty kontroli dostępu wpisów tajnych (IAM) i usuń przypisanie roli "Key Vault Secrets Officer" dla tego zasobu.
Przejdź do wcześniej utworzonego wpisu tajnego. Możesz wyświetlić właściwości wpisu tajnego.
Weryfikowanie wpisów tajnych odczytanych bez roli czytelnika na poziomie magazynu kluczy.
Przejdź do karty Kontrola dostępu (IAM) magazynu kluczy i usuń przypisanie roli "Czytelnik usługi Key Vault".
Przejście do karty Wpisy tajne magazynu kluczy powinno spowodować wyświetlenie następującego błędu:
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.