Condividi tramite


Provider di risorse e tipi di risorse di Azure

Un provider di risorse di Azure è un set di operazioni REST che supportano la funzionalità per un servizio di Azure specifico. Ad esempio, il servizio Azure 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 posizioni valide per un tipo di risorsa.
  • Visualizzare le versioni API valide per un tipo di risorsa.

Per un elenco che esegue il mapping dei provider di risorse ai servizi di Azure, vedere Provider e tipi di risorse di Azure.

Registrare il provider di risorse

Prima di usare un provider di risorse, assicurarsi che la sottoscrizione di Azure sia registrata per il provider di risorse. 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.

Quando si registra un provider di risorse, Microsoft aggiunge un'app per il provider di risorse. La registrazione di provider di risorse non necessari può causare la visualizzazione delle app non riconosciute nel tenant di Microsoft Entra. L'API gestione dei servizi di Windows Azure aggiunge in genere queste app. Per limitare le app non necessarie nel tenant, registrare solo i provider di risorse necessari.

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

Quando si eseguono determinate azioni, Azure registra automaticamente altri provider di risorse. Quando si crea una risorsa nella portale di Azure, il portale in genere registra automaticamente il provider di risorse. Quando si distribuisce un modello di Azure Resource Manager o un file Bicep, Azure registra automaticamente i provider di risorse definiti nel modello. 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.

Potrebbe essere necessario registrare manualmente un provider di risorse in altri scenari.

Importante

Il codice dell'applicazione non deve bloccare la creazione di risorse per un provider di risorse nello stato 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. Quando l'applicazione non blocca un provider di risorse nello stato di registrazione, può continuare prima dell'attesa del 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 a sinistra e in Impostazioni selezionare 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 che si è 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 . Quando l'applicazione non blocca un provider di risorse nello stato di registrazione, può continuare prima dell'attesa del 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 portale di Azure.

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

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

  4. Selezionare la freccia destra per espandere Provider.

    Screenshot dell'espansione della sezione Provider in Esplora risorse.

  5. Espandere il provider di risorse e il 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 inoltre esserci limitazioni nella sottoscrizione che impediscono di usare alcune aree che supportano la risorsa. Esplora risorse visualizza i percorsi validi per il tipo di risorsa.

    Screenshot della visualizzazione di percorsi validi per un tipo di risorsa in Esplora risorse.

  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. Esplora risorse visualizza le versioni API valide per il tipo di risorsa.

    Screenshot della visualizzazione di versioni API valide per un tipo di risorsa in Esplora risorse.

Azure PowerShell

Per visualizzare tutti i provider di risorse in Azure e lo stato di registrazione per la sottoscrizione, usare:

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 . Quando l'applicazione non blocca un provider di risorse nello stato di registrazione, può continuare prima dell'attesa del completamento di tutte le aree.

Per usare le posizioni aggiunte da Azure dopo la registrazione precedente, registrare di nuovo un provider di risorse. 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 inoltre esserci limitazioni nella sottoscrizione che impediscono di usare alcune aree che supportano la risorsa.

Per ottenere i percorsi supportati per un tipo di risorsa, usare:

((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 per la sottoscrizione, usare:

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 . Quando l'applicazione non blocca un provider di risorse nello stato di registrazione, può continuare prima dell'attesa del 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 inoltre esserci limitazioni nella sottoscrizione che impediscono di usare alcune aree che supportano la risorsa.

Per ottenere i percorsi supportati per un tipo di risorsa, usare:

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 per la sottoscrizione, 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)  
  
# 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 . Quando l'applicazione non blocca un provider di risorse nello stato di registrazione, può continuare prima dell'attesa del completamento di tutte le aree.

Registrare nuovamente un provider di risorse per usare le posizioni aggiunte da Azure 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 inoltre esserci limitazioni nella sottoscrizione che impediscono di usare alcune aree che supportano la risorsa.

Per ottenere i percorsi supportati per un tipo di risorsa, usare:

# 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