Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Чтобы ограничить доступ к ресурсам Azure, можно использовать сервисный принципал для управления назначениями ролей. Каждая роль предоставляет различные разрешения, разрешенные пользователем при доступе к ресурсам Azure. В этом руководстве объясняется, как создавать и удалять служебные роли.
Azure CLI содержит следующие команды для управления назначениями ролей:
Создание или удаление назначения роли
Роль участника имеет полные разрешения на чтение и запись в учетную запись Azure. Роль читателя более ограничена доступом только для чтения. Всегда используйте принцип наименьшей привилегии. Полный список доступных ролей в Azure RBAC см. в статье Встроенные роли Azure.
Добавление роли не ограничивает назначенные ранее разрешения. В этом примере добавляется роль читателя и удаляется роль участника :
az role assignment create --assignee myServicePrincipalID \
--role Reader \
--scope /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName
az role assignment delete --assignee myServicePrincipalID \
--role Contributor \
--scope /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName
Выходная консоль:
{
"condition": null,
"conditionVersion": null,
"createdBy": null,
"createdOn": "yyyy-mm-ddT00:00:00.000000+00:00",
"delegatedManagedIdentityResourceId": null,
"description": null,
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000",
"name": "00000000-0000-0000-0000-000000000000",
"principalId": "00000000-0000-0000-0000-000000000000",
"principalType": "ServicePrincipal",
"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000",
"scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroupName",
"type": "Microsoft.Authorization/roleAssignments",
"updatedBy": "00000000-0000-0000-0000-000000000000",
"updatedOn": "yyyy-mm-ddT00:00:00.000000+00:00"
}
Как получить значение параметра области
Один из возможных вопросов, который может у вас возникнуть: "Как узнать --scope
значение параметра?" Ответ заключается в том, чтобы найти и скопировать идентификатор ресурса Azure, к которому должен получить доступ субъект-служба. Обычно эта информация находится на странице Свойства или Конечные точки каждого ресурса в портале Azure. Вот распространенные --scope
примеры, но опирайтесь на ваш идентификатор ресурса, чтобы получить фактический формат и значение.
Область действия | Пример |
---|---|
Подписка | /subscriptions/mySubscriptionID |
Группа ресурсов | /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName |
Виртуальная машина | /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMname |
Служба файлового хранилища учетной записи | /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Storage/storageAccounts/myStorageAccountName/fileServices/default |
Фабрика данных | /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.DataFactory/factories/myDataFactoryName |
Дополнительные примеры областей см. в статье "Общие сведения о области" для Azure RBAC.
Проверка изменений
Изменения можно проверить, перечислив назначенные роли:
# list all role assignments for the current subscription
az role assignment list --output table
# list role assignments for a user
az role assignment list --assignee [email protected]
# list role assignments for a subscription
az role assignment list --subscription mySubscriptionID
Вы также можете перейти на портал Azure и вручную назначить роль субъекту-службе из меню управления доступом (IAM). Дополнительные примеры перечисления назначений ролей см. в разделе "Список назначений ролей Azure" с помощью Azure CLI.
Дальнейшие шаги
Теперь, когда вы узнали, как управлять ролями сервисного принципала, перейдите к следующему этапу обучения, чтобы узнать, как использовать сервисные принципалы для создания ресурса.