Поставщики и типы ресурсов Azure

Поставщик ресурсов Azure — это коллекция операций REST, которые предоставляют функциональные возможности для службы Azure. Например, служба Key Vault состоит из поставщика ресурсов с именем Microsoft.KeyVault. Поставщик ресурсов определяет операции REST для работы с хранилищами, секретами, ключами и сертификатами.

Поставщик ресурсов определяет ресурсы Azure, доступные для развертывания в учетной записи. Формат имени типа ресурса: {поставщик_ресурса}/{тип_ресурса}. Тип ресурса для хранилища ключей — Microsoft.KeyVault/vaults.

Вы узнаете, как выполнять следующие задачи:

  • просмотр всех поставщиков ресурсов в Azure;
  • проверка состояния регистрации поставщика ресурсов;
  • регистрация поставщика ресурсов;
  • просмотр типов ресурсов для поставщика ресурсов;
  • просмотр допустимых расположений для типа ресурса;
  • просмотр допустимых версий API для типа ресурса.

Эти действия можно выполнить через портал Azure, Azure PowerShell или Azure CLI.

Список поставщиков ресурсов для служб Azure см. в статье Поставщики ресурсов для служб Azure.

Регистрация поставщика ресурсов

Перед использованием поставщика ресурсов подписка Azure должна быть зарегистрирована для поставщика ресурсов. В ходе регистрации настраиваются параметры вашей подписки для работы с поставщиком ресурсов.

Важно!

Регистрируйте поставщик ресурса только тогда, когда будете готовы использовать его. Этап регистрации позволяет поддерживать минимальные привилегии в рамках подписки. Пользователь-злоумышленник не может использовать незарегистрированные поставщики ресурсов.

Некоторые поставщики ресурсов зарегистрированы по умолчанию. Список поставщиков ресурсов, зарегистрированных по умолчанию, см. в статье Поставщики ресурсов для служб Azure.

Другие поставщики ресурсов регистрируются автоматически при выполнении определенных действий. При создании ресурса с помощью портала поставщик ресурсов обычно регистрируется для вас. При развертывании шаблона Azure Resource Manager или файла Bicep автоматически регистрируются определенные в нем поставщики ресурсов. Но если ресурс в шаблоне создает вспомогательные ресурсы, которых нет в этом шаблоне (например, для мониторинга или обеспечения безопасности), поставщиков этих ресурсов необходимо зарегистрировать вручную.

Для других сценариев может потребоваться зарегистрировать поставщик ресурсов вручную.

Важно!

Код приложения не должен блокировать создание ресурсов для поставщика ресурсов, который находится в состоянии регистрации. При регистрации поставщика ресурсов операция выполняется отдельно для каждого поддерживаемого региона. Для создания ресурсов в регионе необходимо выполнить регистрацию только в этом регионе. Если поставщик ресурсов не блокируется в состоянии регистрации, то ваше приложение сможет продолжить работу намного быстрее, чем в случае необходимости ожидания завершения операции всеми регионами.

Для выполнения действия /register/action для поставщика ресурса требуется наличие разрешения. Разрешение включено в роли "Участник" и "Владелец".

Невозможно отменить регистрацию поставщика ресурсов, если в вашей подписке еще есть типы ресурсов от этого поставщика ресурсов.

Портал Azure

Регистрация поставщика ресурсов

Чтобы просмотреть всех поставщиков ресурсов, а также состояние регистрации для подписки, сделайте следующее:

  1. Войдите на портал Azure.

  2. В меню "Портал Azure" найдите раздел Подписки. Выберите подходящий вариант из предложенных.

    search subscriptions

  3. Выберите подписку, которую нужно просмотреть.

    select subscriptions

  4. В разделе Параметры выберите Поставщики ресурсов.

    select resource providers

  5. Найдите поставщик ресурсов, который хотите зарегистрировать, и нажмите кнопку Зарегистрировать. Для поддержания минимальных привилегий в подписке следует регистрировать поставщики только тех ресурсов, которые вы готовы использовать.

    register resource providers

Важно!

Как было отмечено выше, не блокируйте создание ресурсов для поставщика ресурсов, который находится в состоянии регистрации. Если поставщик ресурсов не блокируется в состоянии регистрации, то ваше приложение сможет продолжить работу намного быстрее, чем в случае необходимости ожидания завершения операции всеми регионами.

Просмотреть поставщик ресурса

Чтобы просмотреть сведения для конкретного поставщика ресурсов, сделайте следующее:

  1. Войдите на портал Azure.

  2. В меню портала Azure выберите Все службы.

  3. В поле Все службы введите обозреватель ресурсов и выберите Обозреватель ресурсов.

    Пункт

  4. Разверните список Поставщики, щелкнув стрелку вправо.

    выбор поставщиков

  5. Разверните поставщик ресурсов и тип ресурса, который вы хотите просмотреть.

    Выбор типа ресурсов

  6. Диспетчер ресурсов поддерживается во всех регионах, однако развертываемые вами ресурсы могут поддерживаться не во всех регионах. Кроме того, у вашей подписки могут быть ограничения, которые не позволяют использовать некоторые регионы, поддерживающие ресурс. Обозреватель ресурсов отображает допустимые расположения для типа ресурса.

    Отображение расположений

  7. Версия API соответствует версии операций API REST, выполняемых поставщиком ресурсов. При появлении в поставщике ресурсов новых возможностей выпускается новая версия REST API. Обозреватель ресурсов отображает допустимые версии API для типа ресурса.

    Отображение версий API

Azure PowerShell

Чтобы просмотреть всех поставщиков ресурсов в Azure, а также состояние регистрации для подписки, используйте команду ниже:

Get-AzResourceProvider -ListAvailable | Select-Object ProviderNamespace, RegistrationState

Эта команда возвращает следующее:

ProviderNamespace                RegistrationState
-------------------------------- ------------------
Microsoft.ClassicCompute         Registered
Microsoft.ClassicNetwork         Registered
Microsoft.ClassicStorage         Registered
Microsoft.CognitiveServices      Registered
...

Для просмотра зарегистрированных поставщиков ресурсов для вашей подписки воспользуйтесь:

 Get-AzResourceProvider -ListAvailable | Where-Object RegistrationState -eq "Registered" | Select-Object ProviderNamespace, RegistrationState | Sort-Object ProviderNamespace

Для поддержания минимальных привилегий в подписке следует регистрировать поставщики только тех ресурсов, которые вы готовы использовать. Чтобы зарегистрировать поставщик ресурсов, воспользуйтесь командой:

Register-AzResourceProvider -ProviderNamespace Microsoft.Batch

Эта команда возвращает следующее:

ProviderNamespace : Microsoft.Batch
RegistrationState : Registering
ResourceTypes     : {batchAccounts, operations, locations, locations/quotas}
Locations         : {West Europe, East US, East US 2, West US...}

Важно!

Как было отмечено выше, не блокируйте создание ресурсов для поставщика ресурсов, который находится в состоянии регистрации. Если поставщик ресурсов не блокируется в состоянии регистрации, то ваше приложение сможет продолжить работу намного быстрее, чем в случае необходимости ожидания завершения операции всеми регионами.

Чтобы просмотреть сведения для конкретного поставщика ресурсов, используйте команду ниже:

Get-AzResourceProvider -ProviderNamespace Microsoft.Batch

Эта команда возвращает следующее:

{ProviderNamespace : Microsoft.Batch
RegistrationState : Registered
ResourceTypes     : {batchAccounts}
Locations         : {West Europe, East US, East US 2, West US...}

...

Чтобы просмотреть типы ресурсов для поставщика ресурсов, используйте команду ниже:

(Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes.ResourceTypeName

Эта команда возвращает следующее:

batchAccounts
operations
locations
locations/quotas

Версия API соответствует версии операций API REST, выполняемых поставщиком ресурсов. При появлении в поставщике ресурсов новых возможностей выпускается новая версия REST API.

Чтобы получить список доступных версий API для типа ресурса, используйте следующую команду:

((Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes | Where-Object ResourceTypeName -eq batchAccounts).ApiVersions

Эта команда возвращает следующее:

2017-05-01
2017-01-01
2015-12-01
2015-09-01
2015-07-01

Диспетчер ресурсов поддерживается во всех регионах, однако развертываемые вами ресурсы могут поддерживаться не во всех регионах. Кроме того, у вашей подписки могут быть ограничения, которые не позволяют использовать некоторые регионы, поддерживающие ресурс.

Чтобы получить список поддерживаемых расположений для типа ресурса, используйте следующую команду:

((Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes | Where-Object ResourceTypeName -eq batchAccounts).Locations

Эта команда возвращает следующее:

West Europe
East US
East US 2
West US
...

Azure CLI

Чтобы просмотреть всех поставщиков ресурсов в Azure, а также состояние регистрации для подписки, используйте команду ниже:

az provider list --query "[].{Provider:namespace, Status:registrationState}" --out table

Эта команда возвращает следующее:

Provider                         Status
-------------------------------- ----------------
Microsoft.ClassicCompute         Registered
Microsoft.ClassicNetwork         Registered
Microsoft.ClassicStorage         Registered
Microsoft.CognitiveServices      Registered
...

Для просмотра зарегистрированных поставщиков ресурсов для вашей подписки воспользуйтесь:

az provider list --query "sort_by([?registrationState=='Registered'].{Provider:namespace, Status:registrationState}, &Provider)" --out table

Для поддержания минимальных привилегий в подписке следует регистрировать поставщики только тех ресурсов, которые вы готовы использовать. Чтобы зарегистрировать поставщик ресурсов, воспользуйтесь командой:

az provider register --namespace Microsoft.Batch

Эта команда возвращает сообщение о начале выполнения регистрации.

Чтобы просмотреть сведения для конкретного поставщика ресурсов, используйте команду ниже:

az provider show --namespace Microsoft.Batch

Эта команда возвращает следующее:

{
    "id": "/subscriptions/####-####/providers/Microsoft.Batch",
    "namespace": "Microsoft.Batch",
    "registrationsState": "Registering",
    "resourceTypes:" [
        ...
    ]
}

Важно!

Как было отмечено выше, не блокируйте создание ресурсов для поставщика ресурсов, который находится в состоянии регистрации. Если поставщик ресурсов не блокируется в состоянии регистрации, то ваше приложение сможет продолжить работу намного быстрее, чем в случае необходимости ожидания завершения операции всеми регионами.

Чтобы просмотреть типы ресурсов для поставщика ресурсов, используйте команду ниже:

az provider show --namespace Microsoft.Batch --query "resourceTypes[*].resourceType" --out table

Эта команда возвращает следующее:

Result
---------------
batchAccounts
operations
locations
locations/quotas

Версия API соответствует версии операций API REST, выполняемых поставщиком ресурсов. При появлении в поставщике ресурсов новых возможностей выпускается новая версия REST API.

Чтобы получить список доступных версий API для типа ресурса, используйте следующую команду:

az provider show --namespace Microsoft.Batch --query "resourceTypes[?resourceType=='batchAccounts'].apiVersions | [0]" --out table

Эта команда возвращает следующее:

Result
---------------
2017-05-01
2017-01-01
2015-12-01
2015-09-01
2015-07-01

Диспетчер ресурсов поддерживается во всех регионах, однако развертываемые вами ресурсы могут поддерживаться не во всех регионах. Кроме того, у вашей подписки могут быть ограничения, которые не позволяют использовать некоторые регионы, поддерживающие ресурс.

Чтобы получить список поддерживаемых расположений для типа ресурса, используйте следующую команду:

az provider show --namespace Microsoft.Batch --query "resourceTypes[?resourceType=='batchAccounts'].locations | [0]" --out table

Эта команда возвращает следующее:

Result
---------------
West Europe
East US
East US 2
West US
...

Дальнейшие действия