Управление ролями субъекта-службы
Чтобы ограничить доступ к ресурсам 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 myUserName@contoso.com
# list role assignments for a subscription
az role assignment list --subscription mySubscriptionID
Вы также можете перейти в портал Azure и вручную назначить роль субъекту-службе из меню управления доступом (IAM). Дополнительные примеры перечисления назначений ролей см. в разделе "Список назначений ролей Azure" с помощью Azure CLI.
Дальнейшие действия
Теперь, когда вы узнали, как управлять ролями субъекта-службы, перейдите к следующему шагу, чтобы узнать, как использовать субъекты-службы для создания ресурса.