Opis przypisań ról na platformie Azure.
Przypisania ról umożliwiają przyznanie jednostce (takiej jak użytkownik, grupa, tożsamość zarządzana lub jednostka usługi) dostępu do określonego zasobu platformy Azure. W tym artykule opisano szczegóły przypisań ról.
Przypisanie roli
Dostęp do zasobów platformy Azure jest udzielany przez utworzenie przypisania roli, a dostęp zostanie odwołany przez usunięcie przypisania roli.
Przypisanie roli ma kilka składników, w tym:
- Podmiot zabezpieczeń lub osoba, która ma przypisaną rolę.
- Przypisana rola .
- Zakres, do którego przypisano rolę.
- Nazwa przypisania roli i opis, który pomaga wyjaśnić, dlaczego rola została przypisana.
Możesz na przykład użyć kontroli dostępu opartej na rolach platformy Azure, aby przypisać role, takie jak:
- Użytkownik Sally ma dostęp właściciela do konta magazynu contoso123 w grupie zasobów ContosoStorage.
- Wszyscy administratorzy chmury w grupie Microsoft Entra ID mają dostęp czytelnika do wszystkich zasobów w grupie zasobów ContosoStorage.
- Tożsamość zarządzana skojarzona z aplikacją może ponownie uruchamiać maszyny wirtualne w ramach subskrypcji firmy Contoso.
Poniżej przedstawiono przykład właściwości przypisania roli podczas wyświetlania przy użyciu programu Azure PowerShell:
{
"RoleAssignmentName": "00000000-0000-0000-0000-000000000000",
"RoleAssignmentId": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000",
"Scope": "/subscriptions/11111111-1111-1111-1111-111111111111",
"DisplayName": "User Name",
"SignInName": "user@contoso.com",
"RoleDefinitionName": "Contributor",
"RoleDefinitionId": "b24988ac-6180-42a0-ab88-20f7382dd24c",
"ObjectId": "22222222-2222-2222-2222-222222222222",
"ObjectType": "User",
"CanDelegate": false,
"Description": null,
"ConditionVersion": null,
"Condition": null
}
Poniżej przedstawiono przykład właściwości przypisania roli podczas wyświetlania przy użyciu interfejsu wiersza polecenia platformy Azure lub interfejsu API REST:
{
"canDelegate": null,
"condition": null,
"conditionVersion": null,
"description": null,
"id": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000",
"name": "00000000-0000-0000-0000-000000000000",
"principalId": "22222222-2222-2222-2222-222222222222",
"principalName": "user@contoso.com",
"principalType": "User",
"roleDefinitionId": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c",
"roleDefinitionName": "Contributor",
"scope": "/subscriptions/11111111-1111-1111-1111-111111111111",
"type": "Microsoft.Authorization/roleAssignments"
}
W poniższej tabeli opisano, co oznaczają właściwości przypisania roli.
Właściwości | opis |
---|---|
RoleAssignmentName name |
Nazwa przypisania roli, która jest globalnie unikatowym identyfikatorem (GUID). |
RoleAssignmentId id |
Unikatowy identyfikator przypisania roli, który zawiera nazwę. |
Scope scope |
Identyfikator zasobu platformy Azure, do którego przypisanie roli ma zakres. |
RoleDefinitionId roleDefinitionId |
Unikatowy identyfikator roli. |
RoleDefinitionName roleDefinitionName |
Nazwa roli. |
ObjectId principalId |
Identyfikator obiektu Entra firmy Microsoft dla podmiotu zabezpieczeń, któremu przypisano rolę. |
ObjectType principalType |
Typ obiektu Microsoft Entra reprezentowanego przez podmiot zabezpieczeń. Prawidłowe wartości to User , Group i ServicePrincipal . |
DisplayName |
W przypadku przypisań ról dla użytkowników nazwa wyświetlana użytkownika. |
SignInName principalName |
Unikatowa główna nazwa użytkownika (UPN) lub nazwa aplikacji skojarzonej z jednostką usługi. |
Description description |
Opis przypisania roli. |
Condition condition |
Instrukcja warunek utworzona przy użyciu co najmniej jednej akcji z definicji i atrybutów roli. |
ConditionVersion conditionVersion |
Numer wersji warunku. Wartość domyślna to 2.0 i jest jedyną obsługiwaną wersją. |
CanDelegate canDelegate |
Nie zaimplementowano. |
Scope
Podczas tworzenia przypisania roli należy określić zakres, w którym jest stosowany. Zakres reprezentuje zasób lub zestaw zasobów, do którego podmiot zabezpieczeń może uzyskać dostęp. Można określić zakres przypisania roli do pojedynczego zasobu, grupy zasobów, subskrypcji lub grupy zarządzania.
Napiwek
Użyj najmniejszego zakresu, który musisz spełnić wymagania.
Jeśli na przykład musisz udzielić tożsamości zarządzanej dostępu do pojedynczego konta magazynu, dobrym rozwiązaniem jest utworzenie przypisania roli w zakresie konta magazynu, a nie w grupie zasobów lub zakresie subskrypcji.
Aby uzyskać więcej informacji na temat zakresu, zobacz Omówienie zakresu.
Rola do przypisania
Przypisanie roli jest skojarzone z definicją roli. Definicja roli określa uprawnienia, które podmiot zabezpieczeń powinien mieć w zakresie przypisania roli.
Możesz przypisać wbudowaną definicję roli lub niestandardową definicję roli. Podczas tworzenia przypisania roli niektóre narzędzia wymagają użycia identyfikatora definicji roli, a inne narzędzia umożliwiają podanie nazwy roli.
Aby uzyskać więcej informacji na temat definicji ról, zobacz Omówienie definicji ról.
Główne
Podmioty zabezpieczeń obejmują użytkowników, grupy zabezpieczeń, tożsamości zarządzane, tożsamości obciążeń i jednostki usługi. Podmioty zabezpieczeń są tworzone i zarządzane w dzierżawie firmy Microsoft Entra. Rolę można przypisać do dowolnego podmiotu zabezpieczeń. Użyj identyfikatora obiektu Entra firmy Microsoft, aby zidentyfikować podmiot zabezpieczeń, do którego chcesz przypisać rolę.
Podczas tworzenia przypisania roli przy użyciu programu Azure PowerShell, interfejsu wiersza polecenia platformy Azure, Bicep lub innej technologii infrastruktury jako kodu (IaC) należy określić typ podmiotu zabezpieczeń. Typy podmiotów zabezpieczeń to Użytkownik, Grupa i ServicePrincipal. Ważne jest, aby określić prawidłowy typ podmiotu zabezpieczeń. W przeciwnym razie mogą wystąpić sporadyczne błędy wdrażania, szczególnie w przypadku pracy z jednostkami usługi i tożsamościami zarządzanymi.
Nazwisko
Nazwa zasobu przypisania roli musi być unikatowym identyfikatorem globalnym (GUID).
Nazwy zasobów przypisania roli muszą być unikatowe w dzierżawie firmy Microsoft Entra, nawet jeśli zakres przypisania roli jest węższy.
Napiwek
Podczas tworzenia przypisania roli przy użyciu witryny Azure Portal, programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure proces tworzenia automatycznie nadaje przypisaniu roli unikatową nazwę.
Jeśli tworzysz przypisanie roli przy użyciu technologii Bicep lub innej infrastruktury jako kodu (IaC), należy dokładnie zaplanować sposób nadawania przypisań ról. Aby uzyskać więcej informacji, zobacz Create Azure RBAC resources by using Bicep (Tworzenie zasobów RBAC platformy Azure przy użyciu Bicep).
Zachowanie usuwania zasobów
Po usunięciu użytkownika, grupy, jednostki usługi lub tożsamości zarządzanej z identyfikatora Entra firmy Microsoft dobrym rozwiązaniem jest usunięcie wszelkich przypisań ról. Nie są one usuwane automatycznie. Wszystkie przypisania ról odwołujące się do usuniętego identyfikatora podmiotu zabezpieczeń stają się nieprawidłowe.
Jeśli spróbujesz ponownie użyć nazwy przypisania roli dla innego przypisania roli, wdrożenie zakończy się niepowodzeniem. Ten problem jest bardziej prawdopodobny, gdy używasz szablonu usługi Bicep lub szablonu usługi Azure Resource Manager (szablonu usługi ARM) do wdrażania przypisań ról, ponieważ podczas korzystania z tych narzędzi musisz jawnie ustawić nazwę przypisania roli. Aby obejść to zachowanie, należy usunąć stare przypisanie roli przed jego ponownym utworzeniem lub upewnić się, że używasz unikatowej nazwy podczas wdrażania nowego przypisania roli.
opis
Opis tekstu można dodać do przypisania roli. Chociaż opisy są opcjonalne, dobrym rozwiązaniem jest dodanie ich do przypisań ról. Podaj krótkie uzasadnienie, dlaczego podmiot zabezpieczeń potrzebuje przypisanej roli. Gdy ktoś przeprowadza inspekcję przypisań ról, opisy mogą pomóc zrozumieć, dlaczego zostały utworzone i czy nadal mają zastosowanie.
Warunki
Niektóre role obsługują warunki przypisywania ról na podstawie atrybutów w kontekście określonych akcji. Warunek przypisania roli to dodatkowa kontrola, którą można opcjonalnie dodać do przypisania roli, aby zapewnić bardziej szczegółową kontrolę dostępu.
Można na przykład dodać warunek, który wymaga, aby obiekt miał określony tag dla użytkownika w celu odczytania obiektu.
Zazwyczaj warunki kompilacji są wykonywane przy użyciu edytora warunków wizualnych, ale poniżej przedstawiono przykładowy warunek w kodzie:
((!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'} AND NOT SubOperationMatches{'Blob.List'})) OR (@resource[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$key_case_sensitive$>] StringEqualsIgnoreCase 'Cascade'))
Powyższy warunek umożliwia użytkownikom odczytywanie obiektów blob przy użyciu klucza tagu indeksu obiektów blob projektu i wartości kaskadowej.
Aby uzyskać więcej informacji na temat warunków, zobacz Co to jest kontrola dostępu oparta na atrybutach platformy Azure (Azure ABAC)?