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

При развертывании ресурсов часто бывает необходимо получить сведения о типах и поставщиках ресурсов. Например, чтобы хранить ключи и секреты, вам придется работать с поставщиком ресурсов Microsoft.KeyVault. Этот поставщик ресурсов предлагает тип ресурса с именем vaults для создания хранилища ключей.

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

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

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

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

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

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

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

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

В этой статье показано, как проверить состояние регистрации поставщика ресурсов и в случае необходимости зарегистрировать его. Для выполнения действия /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
...

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