Leer en inglés

Compartir vía


Tipos y proveedores de recursos de Azure

Un proveedor de recursos de Azure es un conjunto de operaciones REST que admiten la funcionalidad de un servicio específico de Azure. Por ejemplo, el servicio Azure Key Vault consta de un proveedor de recursos denominado Microsoft.KeyVault. El proveedor de recursos define las operaciones REST para administrar almacenes, secretos, claves y certificados.

El proveedor de recursos define los recursos de Azure que puede implementar en su cuenta. El nombre de un tipo de recurso tiene el formato: {resource-provider}/{resource-type}. El tipo de recurso para un almacén de claves es Microsoft.KeyVault/vaults.

En este artículo aprenderá a:

  • Ver todos los proveedores de recursos en Azure.
  • Comprobar el estado de registro de un proveedor de recursos.
  • Registro de un proveedor de recursos.
  • Ver tipos de recursos de un proveedor de recursos.
  • Ver ubicaciones válidas para un tipo de recurso.
  • Ver versiones de API válidas para un tipo de recurso.

Para obtener una lista que asigne proveedores de recursos a servicios de Azure, consulte los tipos y proveedores de recursos de Azure.

Registro del proveedor de recursos

Antes de usar un proveedor de recursos, asegúrese de que la suscripción de Azure está registrada para el proveedor de recursos. El registro configura su suscripción para así poder trabajar con el proveedor de recursos.

Importante

Registre un proveedor de recursos solo cuando esté listo para usarlo. Este paso de registro ayuda a mantener los privilegios mínimos dentro de su suscripción. Un usuario malintencionado no puede usar proveedores de recursos no registrados.

Al registrar un proveedor de recursos, Microsoft agrega una aplicación para el proveedor de recursos. El registro de proveedores de recursos innecesarios puede hacer que las aplicaciones que no reconozca aparezcan en el inquilino de Microsoft Entra. Normalmente, la API de Administración de servicios de Windows Azure agrega estas aplicaciones. Para limitar las aplicaciones innecesarias en el inquilino, registre solo los proveedores de recursos que necesita.

Algunos proveedores de recursos están registrados de forma predeterminada. Para obtener una lista de ejemplos, consulte Proveedores de recursos para servicios de Azure.

Al realizar determinadas acciones, Azure registra automáticamente otros proveedores de recursos. Al crear un recurso en Azure Portal, el portal normalmente registra el proveedor de recursos automáticamente. Al implementar una plantilla de Azure Resource Manager o un archivo de Bicep, Azure registra automáticamente los proveedores de recursos definidos en la plantilla. A veces, un recurso de la plantilla requiere recursos auxiliares que no están en la plantilla. Los ejemplos comunes son la supervisión o los recursos de seguridad. Debe registrar esos proveedores de recursos manualmente.

Es posible que tenga que registrar manualmente un proveedor de recursos durante otros escenarios.

Importante

El código de la aplicación no debe bloquear la creación de recursos para un proveedor de recursos que esté en el registrar estado. Al registrar el proveedor de recursos, la operación se realiza de forma individual para cada región admitida. Para crear recursos en una región, el registro solo debe completarse en dicha región. Cuando la aplicación no bloquea un proveedor de recursos en el estado de registro, puede continuar antes de esperar a que se completen todas las regiones.

Debe tener permiso para realizar la operación /register/action para el proveedor de recursos. El permiso se incluye en los roles Colaborador y Propietario.

No se puede anular el registro de un proveedor de recursos si todavía dispone de tipos de recursos de dicho proveedor en la suscripción.

Vuelva a registrar un proveedor de recursos cuando el proveedor de recursos admita nuevas ubicaciones que necesita usar.

Portal de Azure

Registro del proveedor de recursos

Para ver todos los proveedores de recursos y el estado de registro de la suscripción:

  1. Inicie sesión en Azure Portal.

  2. En el menú de Azure Portal, busque Suscripciones. Seleccione el servicio entre las opciones disponibles.

    Captura de pantalla de la búsqueda de suscripciones en Azure Portal.

  3. Seleccione la suscripción que quiere ver.

  4. En el menú de la izquierda y en Configuración, seleccione Proveedores de recursos.

    Captura de pantalla de la selección de proveedores de recursos en Azure Portal.

  5. Busque el proveedor de recursos que desea registrar.

    Captura de pantalla de la búsqueda de proveedores de recursos en Azure Portal.

  6. Seleccione el proveedor de recursos para ver los detalles del proveedor de recursos.

    Captura de pantalla de los detalles del proveedor de recursos en Azure Portal.

  7. Seleccione el proveedor de recursos y seleccione Registrar. Para mantener los privilegios mínimos en la suscripción, registre solo los proveedores de recursos que está listo para usar.

    Captura de pantalla del registro de un proveedor de recursos en Azure Portal.

    Importante

    Como ya se ha señalado, no bloquee la creación de recursos para un proveedor de recursos con el estado de registro. Cuando la aplicación no bloquea un proveedor de recursos en el estado de registro, puede continuar antes de esperar a que se completen todas las regiones.

  8. Volver a registrar un proveedor de recursos para usar las ubicaciones que agregó desde el registro anterior.

    Captura de pantalla de la acción de registrar nuevamente a un proveedor de recursos en Azure Portal.

Visualización del proveedor de recursos

Para ver información de un proveedor de recursos concreto:

  1. Inicie sesión en Azure Portal.

  2. Seleccione Todos los servicios en el menú de Azure Portal.

  3. En el cuadro Todos los servicios, escriba explorador de recursos y seleccione Explorador de recursos.

    Captura de pantalla de la selección de Todos los servicios en Azure Portal para acceder a Azure Resource Explorer.

  4. Seleccione la flecha derecha para expandir Proveedores.

    Captura de pantalla de la expansión de la sección Proveedores en el Explorador de recursos.

  5. Expanda el proveedor de recursos y el tipo de recurso que desea ver.

  6. El Administrador de recursos se admite en todas las regiones, pero puede que los recursos que implementa no se admitan en todas las regiones. Además, puede haber limitaciones en la suscripción que le impidan usar algunas regiones que admiten el recurso. El Explorador de recursos muestra ubicaciones válidas para el tipo de recurso.

    Captura de pantalla de la visualización de ubicaciones válidas para un tipo de recurso en el Explorador de recursos.

  7. La versión de la API corresponde a una versión de las operaciones de la API de REST del proveedor de recursos. Conforme un proveedor de recursos habilite nuevas características, publicará una nueva versión de la API de REST. El Explorador de recursos muestra versiones de API válidas para el tipo de recurso.

    Captura de pantalla de la visualización de versiones de API válidas para un tipo de recurso en el Explorador de recursos.

Azure PowerShell

Para ver todos los proveedores de recursos en Azure y el estado de registro de la suscripción, use:

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

El comando devuelve:

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

Para ver todos los proveedores de recursos registrados para la suscripción, use:

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

Para mantener los privilegios mínimos en su suscripción, registre solo los proveedores de recursos que esté listo para usar. Para registrar un proveedor de recursos, use:

Azure PowerShell
Register-AzResourceProvider -ProviderNamespace Microsoft.Batch

El comando devuelve:

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

Importante

Como ya se ha señalado, no bloquee la creación de recursos para un proveedor de recursos con el estado de registro. Cuando la aplicación no bloquea un proveedor de recursos en el estado de registro, puede continuar antes de esperar a que se completen todas las regiones.

Para usar las ubicaciones que Azure agregó desde el registro anterior, vuelva a registrar un proveedor de recursos. Para volver a registrar, vuelva a ejecutar el comando de registro.

Para ver información de un proveedor de recursos concreto, use:

Azure PowerShell
Get-AzResourceProvider -ProviderNamespace Microsoft.Batch

El comando devuelve:

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

...

Para ver los tipos de recursos de un proveedor, use:

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

El comando devuelve:

Output
batchAccounts
operations
locations
locations/quotas

La versión de la API corresponde a una versión de las operaciones de la API de REST del proveedor de recursos. Conforme un proveedor de recursos habilite nuevas características, publicará una nueva versión de la API de REST.

Para obtener las versiones de API de un tipo de recurso, use:

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

El comando devuelve:

Output
2023-05-01
2022-10-01
2022-06-01
2022-01-01
2021-06-01
2021-01-01
...

El Administrador de recursos se admite en todas las regiones, pero puede que los recursos que implementa no se admitan en todas las regiones. Además, puede haber limitaciones en la suscripción que le impidan usar algunas regiones que admiten el recurso.

Para obtener las ubicaciones admitidas para un tipo de recurso, use:

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

El comando devuelve:

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

CLI de Azure

Para ver todos los proveedores de recursos en Azure y el estado de registro de la suscripción, use:

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

El comando devuelve:

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

Para ver todos los proveedores de recursos registrados para la suscripción, use:

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

Para mantener los privilegios mínimos en su suscripción, registre solo los proveedores de recursos que esté listo para usar. Para registrar un proveedor de recursos, use:

Azure CLI
az provider register --namespace Microsoft.Batch

El comando devuelve un mensaje que indica que el registro está en curso.

Para ver información de un proveedor de recursos concreto, use:

Azure CLI
az provider show --namespace Microsoft.Batch

El comando devuelve:

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

Importante

Como ya se ha señalado, no bloquee la creación de recursos para un proveedor de recursos con el estado de registro. Cuando la aplicación no bloquea un proveedor de recursos en el estado de registro, puede continuar antes de esperar a que se completen todas las regiones.

Para ver los tipos de recursos de un proveedor, use:

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

El comando devuelve:

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

La versión de la API corresponde a una versión de las operaciones de la API de REST del proveedor de recursos. Conforme un proveedor de recursos habilite nuevas características, publicará una nueva versión de la API de REST.

Para obtener las versiones de API de un tipo de recurso, use:

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

El comando devuelve:

Output
Result
---------------
2023-05-01
2022-10-01
2022-06-01
2022-01-01
...

El Administrador de recursos se admite en todas las regiones, pero puede que los recursos que implementa no se admitan en todas las regiones. Además, puede haber limitaciones en la suscripción que le impidan usar algunas regiones que admiten el recurso.

Para obtener las ubicaciones admitidas para un tipo de recurso, use:

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

El comando devuelve:

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

Python

Para ver todos los proveedores de recursos en Azure y el estado de registro de la suscripción, use:

Python
import os  
from azure.identity import DefaultAzureCredential  
from azure.mgmt.resource import ResourceManagementClient  
  
# Authentication  
credential = DefaultAzureCredential()  
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]  
  
# Initialize Resource Management client  
resource_management_client = ResourceManagementClient(credential, subscription_id)  
  
# List available resource providers and select ProviderNamespace and RegistrationState  
providers = resource_management_client.providers.list()  
  
for provider in providers:  
    print(f"ProviderNamespace: {provider.namespace}, RegistrationState: {provider.registration_state}")  

El comando devuelve:

Output
ProviderNamespace: Microsoft.AlertsManagement, RegistrationState: Registered
ProviderNamespace: Microsoft.AnalysisServices, RegistrationState: Registered
ProviderNamespace: Microsoft.ApiManagement, RegistrationState: Registered
ProviderNamespace: Microsoft.Authorization, RegistrationState: Registered
ProviderNamespace: Microsoft.Batch, RegistrationState: Registered
...

Para ver todos los proveedores de recursos registrados para la suscripción, use:

Python
# List available resource providers with RegistrationState "Registered" and select ProviderNamespace and RegistrationState  
providers = resource_management_client.providers.list()  
registered_providers = [provider for provider in providers if provider.registration_state == "Registered"]  
  
# Sort by ProviderNamespace  
sorted_registered_providers = sorted(registered_providers, key=lambda x: x.namespace)  
  
for provider in sorted_registered_providers:  
    print(f"ProviderNamespace: {provider.namespace}, RegistrationState: {provider.registration_state}")  

Para mantener los privilegios mínimos en su suscripción, registre solo los proveedores de recursos que esté listo para usar. Para registrar un proveedor de recursos, use:

Python
import os  
from azure.identity import DefaultAzureCredential  
from azure.mgmt.resource import ResourceManagementClient  
  
# Authentication  
credential = DefaultAzureCredential()  
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]  
  
# Initialize Resource Management client  
resource_management_client = ResourceManagementClient(credential, subscription_id)  
  
# Register resource provider  
provider_namespace = "Microsoft.Batch"  
registration_result = resource_management_client.providers.register(provider_namespace)  
  
print(f"ProviderNamespace: {registration_result.namespace}, RegistrationState: {registration_result.registration_state}")  

El comando devuelve:

Output
ProviderNamespace: Microsoft.Batch, RegistrationState: Registered

Importante

Como ya se ha señalado, no bloquee la creación de recursos para un proveedor de recursos con el estado de registro. Cuando la aplicación no bloquea un proveedor de recursos en el estado de registro, puede continuar antes de esperar a que se completen todas las regiones.

Vuelva a registrar un proveedor de recursos para usar ubicaciones que Azure agregó desde el registro anterior. Para volver a registrar, vuelva a ejecutar el comando de registro.

Para ver información de un proveedor de recursos concreto, use:

Python
import os  
from azure.identity import DefaultAzureCredential  
from azure.mgmt.resource import ResourceManagementClient  
  
# Authentication  
credential = DefaultAzureCredential()  
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]  
  
# Initialize Resource Management client  
resource_management_client = ResourceManagementClient(credential, subscription_id)  
  
# Get resource provider by ProviderNamespace  
provider_namespace = "Microsoft.Batch"  
provider = resource_management_client.providers.get(provider_namespace)  
  
print(f"ProviderNamespace: {provider.namespace}, RegistrationState: {provider.registration_state}\n")  
  
# Add resource types, locations, and API versions with new lines to separate results  
for resource_type in provider.resource_types:  
    print(f"ResourceType: {resource_type.resource_type}\nLocations: {', '.join(resource_type.locations)}\nAPIVersions: {', '.join(resource_type.api_versions)}\n")  

El comando devuelve:

Output
ProviderNamespace: Microsoft.Batch, RegistrationState: Registered

ResourceType: batchAccounts
Locations: West Europe, East US, East US 2, West US, North Central US, Brazil South, North Europe, Central US, East Asia, Japan East, Australia Southeast, Japan West, Korea South, Korea Central, Southeast Asia, South Central US, Australia East, Jio India West, South India, Central India, West India, Canada Central, Canada East, UK South, UK West, West Central US, West US 2, France Central, South Africa North, UAE North, Australia Central, Germany West Central, Switzerland North, Norway East, Brazil Southeast, West US 3, Sweden Central, Qatar Central, Poland Central, East US 2 EUAP, Central US EUAP
APIVersions: 2023-05-01, 2022-10-01, 2022-06-01, 2022-01-01, 2021-06-01, 2021-01-01, 2020-09-01, 2020-05-01, 2020-03-01-preview, 2020-03-01, 2019-08-01, 2019-04-01, 2018-12-01, 2017-09-01, 2017-05-01, 2017-01-01, 2015-12-01, 2015-09-01, 2015-07-01, 2014-05-01-privatepreview

...

Para ver los tipos de recursos de un proveedor, use:

Python
# Get resource provider by ProviderNamespace  
provider_namespace = "Microsoft.Batch"  
provider = resource_management_client.providers.get(provider_namespace)  
  
# Get ResourceTypeName of the resource types  
resource_type_names = [resource_type.resource_type for resource_type in provider.resource_types]  
  
for resource_type_name in resource_type_names:  
    print(resource_type_name)  

El comando devuelve:

Output
batchAccounts
batchAccounts/pools
batchAccounts/detectors
batchAccounts/certificates
operations
locations
locations/quotas
locations/checkNameAvailability
locations/accountOperationResults
locations/virtualMachineSkus
locations/cloudServiceSkus

La versión de la API corresponde a una versión de las operaciones de la API de REST del proveedor de recursos. Conforme un proveedor de recursos habilite nuevas características, publicará una nueva versión de la API de REST.

Para obtener las versiones de API de un tipo de recurso, use:

Python
# Get resource provider by ProviderNamespace  
provider_namespace = "Microsoft.Batch"  
provider = resource_management_client.providers.get(provider_namespace)  
  
# Filter resource type by ResourceTypeName and get its ApiVersions  
resource_type_name = "batchAccounts"  
api_versions = [  
    resource_type.api_versions  
    for resource_type in provider.resource_types  
    if resource_type.resource_type == resource_type_name  
]  
  
for api_version in api_versions[0]:  
    print(api_version)  

El comando devuelve:

Output
2023-05-01
2022-10-01
2022-06-01
2022-01-01
...

El Administrador de recursos se admite en todas las regiones, pero puede que los recursos que implementa no se admitan en todas las regiones. Además, puede haber limitaciones en la suscripción que le impidan usar algunas regiones que admiten el recurso.

Para obtener las ubicaciones admitidas para un tipo de recurso, use:

Python
# Get resource provider by ProviderNamespace  
provider_namespace = "Microsoft.Batch"  
provider = resource_management_client.providers.get(provider_namespace)  
  
# Filter resource type by ResourceTypeName and get its Locations  
resource_type_name = "batchAccounts"  
locations = [  
    resource_type.locations  
    for resource_type in provider.resource_types  
    if resource_type.resource_type == resource_type_name  
]  
  
for location in locations[0]:  
    print(location)  

El comando devuelve:

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

Pasos siguientes

Nota: El autor creó este artículo con ayuda de IA. Más información