Provider di risorse e tipi di risorse di Azure

Un provider di risorse di Azure è un set di operazioni REST che consentono la funzionalità per un servizio di Azure specifico. Ad esempio, il servizio Key Vault è costituito da un provider di risorse denominato Microsoft.KeyVault. Il provider di risorse definisce le operazioni REST per la gestione di insiemi di credenziali, segreti, chiavi e certificati.

Il provider di risorse definisce le risorse di Azure che è possibile distribuire nell'account. Il nome di un tipo di risorsa segue il formato {provider-risorse}/{tipo-risorsa}. Il tipo di risorsa per un insieme di credenziali delle chiavi è Microsoft.KeyVault/vaults.

In questo articolo vengono illustrate le operazioni seguenti:

  • Visualizzare tutti i provider di risorse in Azure
  • Controllare lo stato di registrazione di un provider di risorse
  • Registrare un provider di risorse
  • Visualizzare i tipi di risorse per un provider di risorse
  • Visualizzare le località valide per un tipo di risorsa
  • Visualizzare le versioni API valide per un tipo di risorsa

Per un elenco con il mapping dei provider di risorse ai servizi di Azure, vedere provider di risorse per i servizi di Azure.

Registrare il provider di risorse

Prima di usare un provider di risorse, è necessario assicurarsi che la sottoscrizione di Azure sia registrata per il provider. Con la registrazione, la sottoscrizione viene configurata per l'utilizzo del provider di risorse.

Importante

Registrare un provider di risorse solo quando si è pronti per usarlo. Questo passaggio di registrazione consente di mantenere i privilegi minimi all'interno della sottoscrizione. Un utente malintenzionato non può usare i provider di risorse non registrati.

La registrazione di provider di risorse non necessari può comportare la visualizzazione di app non riconosciute nel tenant di Microsoft Entra. Microsoft aggiunge l'app per un provider di risorse al momento della registrazione. Queste app vengono in genere aggiunte dall'API Gestione dei servizi di Microsoft Azure. Per evitare app non necessarie nel tenant, registrare solo i provider di risorse necessari.

Alcuni provider di risorse sono registrati per impostazione predefinita. Per un elenco dei provider di risorse registrati per impostazione predefinita, vedere Provider di risorse per i servizi di Azure.

Altri provider di risorse vengono registrati automaticamente quando si eseguono determinate azioni. Quando si crea una risorsa tramite il portale, il provider di risorse viene in genere registrato automaticamente. Quando si distribuisce un modello di Azure Resource Manager o un file Bicep, i provider di risorse definiti nel modello vengono registrati automaticamente. In alcuni casi, una risorsa nel modello richiede risorse di supporto che non si trovano nel modello. Esempi comuni sono il monitoraggio o le risorse di sicurezza. È necessario registrare manualmente tali provider di risorse.

Per altri scenari, potrebbe essere necessario registrare manualmente un provider di risorse.

Importante

Il codice dell'applicazione non deve bloccare la creazione di risorse per un provider di risorse nello di registrazione. Quando si registra il provider di risorse, l'operazione viene eseguita singolarmente per ogni area supportata. Per creare risorse in un'area, la registrazione deve essere completata solo in tale area. Non bloccando un provider di risorse nello stato di registrazione, l'applicazione può proseguire molto prima perché non deve attendere il completamento di tutte le aree.

È necessario avere l'autorizzazione per eseguire l'operazione /register/action per il provider di risorse. Questa autorizzazione è inclusa nei ruoli Collaboratore e Proprietario.

Non è possibile annullare la registrazione di un provider di risorse quando nella sottoscrizione sono ancora presenti tipi di risorsa di tale provider.

Registrare nuovamente un provider di risorse quando supporta nuove posizioni che è necessario usare.

Azure portal

Registrare il provider di risorse

Per visualizzare tutti i provider di risorse e lo stato di registrazione della propria sottoscrizione:

  1. Accedere al portale di Azure.

  2. Nel menu del portale di Azure, cercare Sottoscrizioni. Selezionare il tag tra le opzioni disponibili.

    Screenshot della ricerca di sottoscrizioni nel portale di Azure.

  3. Selezionare la sottoscrizione da visualizzare.

  4. Nel menu sinistro, in Impostazioni, scegliere Provider di risorse.

    Screenshot della selezione di provider di risorse nel portale di Azure.

  5. Trovare il provider di risorse da registrare.

    Screenshot dei risultati della ricerca dei provider di risorse nel portale di Azure.

  6. Selezionare il provider di risorse per visualizzarne i dettagli.

    Screenshot dei dettagli del provider di risorse nel portale di Azure.

  7. Selezionare il provider di risorse, poi Registra. Per mantenere i privilegi minimi nella sottoscrizione, registrare solo i provider di risorse pronti per l'uso.

    Screenshot della registrazione del provider di risorse nel portale di Azure.

    Importante

    Come indicato in precedenza, non bloccare la creazione di risorse per un provider di risorse nello stato di registrazione. Non bloccando un provider di risorse nello stato di registrazione, l'applicazione può proseguire molto prima perché non deve attendere il completamento di tutte le aree.

  8. Registrare nuovamente un provider di risorse per usare le posizioni aggiunte dopo la registrazione precedente.

    Screenshot della nuova registrazione del provider di risorse nel portale di Azure.

Visualizzare il provider di risorse

Per visualizzare le informazioni relative uno specifico provider di risorse:

  1. Accedere al portale di Azure.

  2. Selezionare Tutti i servizi nel menu del portale di Azure.

  3. Nella casella Tutti i servizi immettere esplora risorse e quindi selezionare Esplora risorse.

    Screenshot della selezione di Tutti i servizi nel portale di Azure per accedere a Resource Explorer.

  4. Espandere Provider selezionando la freccia rivolta verso destra.

    Screenshot dell'espansione della sezione Provider in Azure Resource Explorer.

  5. Espandere un provider di risorse e un tipo di risorsa da visualizzare.

  6. Gestione risorse è supportato in tutte le aree, ma le risorse distribuite potrebbero non essere supportate in tutte le aree. Potrebbero essere anche presenti limitazioni sulla sottoscrizione che impediscono l'uso di alcune aree che supportano la risorsa. Resource Explorer visualizza le località valide per il tipo di risorsa.

    Screenshot della visualizzazione di percorsi validi per un tipo di risorsa in Azure Resource Explorer.

  7. La versione dell'API corrisponde a una versione delle operazioni API REST del provider di risorse. Poiché un provider di risorse abilita nuove funzionalità, rilascia una nuova versione dell'API REST. Resource Explorer visualizza le versioni API valide per il tipo di risorsa.

    Screenshot della visualizzazione di versioni API valide per un tipo di risorsa in Azure Resource Explorer.

Azure PowerShell

Per visualizzare tutti i provider di risorse in Azure e lo stato di registrazione di una sottoscrizione, usare il comando seguente:

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

Il comando restituisce:

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

Per visualizzare tutti i provider di risorse registrati per la sottoscrizione, usare:

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

Per mantenere i privilegi minimi nella sottoscrizione, registrare solo i provider di risorse pronti per l'uso. Per registrare un provider di risorse, usare:

Register-AzResourceProvider -ProviderNamespace Microsoft.Batch

Il comando restituisce:

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

Importante

Come indicato in precedenza, non bloccare la creazione di risorse per un provider di risorse nello stato di registrazione. Non bloccando un provider di risorse nello stato di registrazione, l'applicazione può proseguire molto prima perché non deve attendere il completamento di tutte le aree.

Registrare nuovamente un provider di risorse per usare le posizioni aggiunte dopo la registrazione precedente. Per ripetere la registrazione, eseguire di nuovo il comando di registrazione.

Per visualizzare informazioni su un provider di risorse specifico, usare il comando seguente:

Get-AzResourceProvider -ProviderNamespace Microsoft.Batch

Il comando restituisce:

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

...

Per visualizzare i tipi di risorse per un provider di risorse, usare il comando seguente:

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

Il comando restituisce:

batchAccounts
operations
locations
locations/quotas

La versione dell'API corrisponde a una versione delle operazioni API REST del provider di risorse. Poiché un provider di risorse abilita nuove funzionalità, rilascia una nuova versione dell'API REST.

Per ottenere le versioni dell'API disponibili per un tipo di risorsa, usare il comando seguente:

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

Il comando restituisce:

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

Gestione risorse è supportato in tutte le aree, ma le risorse distribuite potrebbero non essere supportate in tutte le aree. Potrebbero essere anche presenti limitazioni sulla sottoscrizione che impediscono l'uso di alcune aree che supportano la risorsa.

Per ottenere le località supportate per un tipo di risorsa, usare il comando seguente:

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

Il comando restituisce:

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

Interfaccia della riga di comando di Azure

Per visualizzare tutti i provider di risorse in Azure e lo stato di registrazione di una sottoscrizione, usare il comando seguente:

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

Il comando restituisce:

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

Per visualizzare tutti i provider di risorse registrati per la sottoscrizione, usare:

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

Per mantenere i privilegi minimi nella sottoscrizione, registrare solo i provider di risorse pronti per l'uso. Per registrare un provider di risorse, usare:

az provider register --namespace Microsoft.Batch

Il comando restituisce un messaggio che indica che la registrazione è in corso.

Per visualizzare informazioni su un provider di risorse specifico, usare il comando seguente:

az provider show --namespace Microsoft.Batch

Il comando restituisce:

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

Importante

Come indicato in precedenza, non bloccare la creazione di risorse per un provider di risorse nello stato di registrazione. Non bloccando un provider di risorse nello stato di registrazione, l'applicazione può proseguire molto prima perché non deve attendere il completamento di tutte le aree.

Per visualizzare i tipi di risorse per un provider di risorse, usare il comando seguente:

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

Il comando restituisce:

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

La versione dell'API corrisponde a una versione delle operazioni API REST del provider di risorse. Poiché un provider di risorse abilita nuove funzionalità, rilascia una nuova versione dell'API REST.

Per ottenere le versioni dell'API disponibili per un tipo di risorsa, usare il comando seguente:

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

Il comando restituisce:

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

Gestione risorse è supportato in tutte le aree, ma le risorse distribuite potrebbero non essere supportate in tutte le aree. Potrebbero essere anche presenti limitazioni sulla sottoscrizione che impediscono l'uso di alcune aree che supportano la risorsa.

Per ottenere le località supportate per un tipo di risorsa, usare il comando seguente:

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

Il comando restituisce:

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

Python

Per visualizzare tutti i provider di risorse in Azure e lo stato di registrazione di una sottoscrizione, usare il comando seguente:

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}")  

Il comando restituisce:

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
...

Per visualizzare tutti i provider di risorse registrati per la sottoscrizione, usare:

# 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}")  

Per mantenere i privilegi minimi nella sottoscrizione, registrare solo i provider di risorse pronti per l'uso. Per registrare un provider di risorse, usare:

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}")  

Il comando restituisce:

ProviderNamespace: Microsoft.Batch, RegistrationState: Registered

Importante

Come indicato in precedenza, non bloccare la creazione di risorse per un provider di risorse nello stato di registrazione. Non bloccando un provider di risorse nello stato di registrazione, l'applicazione può proseguire molto prima perché non deve attendere il completamento di tutte le aree.

Registrare nuovamente un provider di risorse per usare le posizioni aggiunte dopo la registrazione precedente. Per ripetere la registrazione, eseguire di nuovo il comando di registrazione.

Per visualizzare informazioni su un provider di risorse specifico, usare il comando seguente:

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")  

Il comando restituisce:

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

...

Per visualizzare i tipi di risorse per un provider di risorse, usare il comando seguente:

# 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)  

Il comando restituisce:

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

La versione dell'API corrisponde a una versione delle operazioni API REST del provider di risorse. Poiché un provider di risorse abilita nuove funzionalità, rilascia una nuova versione dell'API REST.

Per ottenere le versioni dell'API disponibili per un tipo di risorsa, usare il comando seguente:

# 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)  

Il comando restituisce:

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

Gestione risorse è supportato in tutte le aree, ma le risorse distribuite potrebbero non essere supportate in tutte le aree. Potrebbero essere anche presenti limitazioni sulla sottoscrizione che impediscono l'uso di alcune aree che supportano la risorsa.

Per ottenere le località supportate per un tipo di risorsa, usare il comando seguente:

# 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)  

Il comando restituisce:

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

Passaggi successivi