Udostępnij za pośrednictwem


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, Groupi 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)?

Następne kroki