Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Назначения ролей позволяют предоставить принципалу (например, пользователю, группе, управляемому идентификатору или служебному субъекту) доступ к конкретному ресурсу Azure. В этой статье описываются сведения о назначениях ролей.
Назначение ролей
Доступ к ресурсам Azure предоставляется путем создания назначения роли и отмены доступа путем удаления назначения ролей.
Назначение роли состоит из нескольких компонентов, в том числе:
- Субъект или которому назначена роль.
- Назначенная им роль.
- Область назначения роли.
- Имя назначения роли и описание, которое помогает объяснить, почему роль назначена.
Например, можно использовать Azure RBAC для назначения ролей, таких как:
- Пользователь Sally имеет права владельца к учетной записи хранилища contoso123 в группе ресурсов ContosoStorage.
- У всех пользователей группы "Администраторы облака" в Microsoft Entra ID есть режим чтения ко всем ресурсам в группе ресурсов ContosoStorage.
- Управляемое удостоверение, связанное с приложением, имеет разрешение перезапускать виртуальные машины в рамках подписки Contoso.
Ниже показан пример свойств назначения ролей при отображении с помощью 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
}
Ниже показан пример свойств назначения ролей при отображении с помощью Azure CLI или REST API:
{
"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"
}
В следующей таблице описывается, что означает свойства назначения ролей.
| Свойство | Описание |
|---|---|
RoleAssignmentNamename |
Имя назначения роли, которое является глобально уникальным идентификатором (GUID). |
RoleAssignmentIdid |
Уникальный идентификатор назначения роли, который включает имя. |
Scopescope |
Идентификатор ресурса Azure, к которому применяется назначение роли. |
RoleDefinitionIdroleDefinitionId |
Уникальный идентификатор роли. |
RoleDefinitionNameroleDefinitionName |
Имя роли. |
ObjectIdprincipalId |
Идентификатор объекта Microsoft Entra для субъекта, которому назначена роль. |
ObjectTypeprincipalType |
Тип объекта Microsoft Entra, который представляет субъект. Допустимыми значениями являются User, Group и ServicePrincipal. |
DisplayName |
Для назначения ролей пользователю отображаемое имя пользователя. |
SignInNameprincipalName |
Уникальное главное имя (UPN) пользователя или имя приложения, связанного с сервисным субъектом. |
Descriptiondescription |
Описание назначения роли. |
Conditioncondition |
Условное выражение, созданное с использованием одного или нескольких действий из определения роли и атрибутов. |
ConditionVersionconditionVersion |
Номер версии условия. По умолчанию используется версия 2.0 и является единственной поддерживаемой версией. |
CanDelegatecanDelegate |
Не реализовано. |
Область
При создании назначения роли необходимо указать область применения. Область действия представляет ресурс или набор ресурсов, к которым разрешен доступ основному субъекту. Можно ограничить назначение роли одним ресурсом, группой ресурсов, подпиской или группой управления.
Совет
Используйте наименьший объем, необходимый для выполнения ваших требований.
Например, если нужно предоставить управляемому удостоверению доступ к одной учетной записи хранения, для обеспечения безопасности целесообразно создать назначение роли в области действия учетной записи хранения, а не группы ресурсов или подписки.
Дополнительные сведения об областях см. в статье Понимание областей.
Роль для назначения
Назначение роли связано с определением роли. Определение роли указывает разрешения, которые субъект должен иметь в области назначения роли.
Можно назначить встроенное определение роли или пользовательское определение роли. При создании назначения ролей некоторые средства требуют использования идентификатора определения роли, а другие средства позволяют указать имя роли.
Дополнительные сведения об определениях ролей см. в разделе "Общие сведения о определениях ролей".
Главный объект
Субъекты включают пользователей, группы безопасности, управляемые удостоверения, удостоверения рабочей нагрузки и служебные основные записи. Субъекты создаются и управляются в клиенте Microsoft Entra. Вы можете назначить роль любому субъекту. Используйте Идентификатор объекта Microsoft Entra ID object ID чтобы определить главный элемент, которому требуется назначить роль.
При создании назначения ролей с помощью Azure PowerShell, Azure CLI, Bicep или других решений для инфраструктуры как кода (IaC), укажите тип руководящего субъекта. К основным типам относятся User, Group и ServicePrincipal. Важно указать правильный тип принципала. В противном случае могут возникать периодические ошибки при развертывании, особенно при работе с принципалами служб и управляемыми идентификаторами.
Назначения ролей с ненайденным удостоверением
При удалении пользователя, группы, учетной записи службы или управляемого удостоверения из Microsoft Entra ID рекомендуется удалить все назначения ролей. Назначения ролей не удаляются автоматически. Назначения ролей, ссылающиеся на удаленный идентификатор, отображаются как идентификатор не найден на портале Azure. Назначения ролей будут продолжать предоставлять доступ к удалённым объектам безопасности, если существуют допустимые токены Microsoft Entra ID и токены не истекли. Дополнительные сведения см. в разделе Симптом — назначения ролей без найденного удостоверения.
Имя.
Имя ресурса назначения роли должно быть глобально уникальным идентификатором (GUID).
Имена ресурсов назначения ролей должны быть уникальными в клиенте Microsoft Entra, даже если область назначения роли является более узкой.
Совет
При создании назначения ролей с помощью портала Azure, Azure PowerShell или Azure CLI в процессе создания автоматически присваивается уникальное имя для роли.
Если вы создаете назначение ролей с помощью Bicep или другой инфраструктуры в качестве кода (IaC), необходимо тщательно спланировать имя назначений ролей. Дополнительные сведения см. в статье "Создание ресурсов Azure RBAC с помощью Bicep".
Повторное использование имени присвоения роли
Если вы попытаетесь повторно использовать имя одной роли для другой, развертывание завершится неудачей. Эта проблема, скорее всего, возникает при использовании Bicep или шаблона Azure Resource Manager (шаблона ARM) для развертывания назначений ролей, так как при использовании этих средств необходимо явно задать имя назначения ролей. Чтобы обойти это поведение, необходимо либо удалить старое назначение ролей, прежде чем повторно создать его, либо убедиться, что при развертывании нового назначения роли используется уникальное имя.
Описание
Вы можете добавить текстовое описание в назначение роли. Хотя описания являются необязательными, рекомендуется добавить их в назначения ролей. Укажите краткое обоснование того, почему субъекту требуется назначенная роль. Когда проводится аудит назначений ролей, описания могут помочь понять, почему они были созданы и актуальны ли они по-прежнему.
Условия
Некоторые роли поддерживают условия назначения ролей на основе атрибутов в контексте конкретных действий. Условие назначения роли — это дополнительная проверка, которую можно дополнительно добавить к назначению роли, чтобы обеспечить более детализированный контроль доступа.
Например, можно добавить условие, требующее наличия определенного тега для пользователя для чтения объекта.
Обычно вы создаете условия с помощью редактора визуальных условий, но вот как выглядит пример условия в коде:
((!(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'))
Предыдущее условие позволяет пользователям считывать блобы с ключом тега индекса блоба Project и значением Cascade.
Дополнительные сведения об условиях см. в статье "Что такое управление доступом на основе атрибутов Azure( Azure ABAC)?