Poskytovatelé a typy prostředků Azure

Poskytovatel prostředků Azure je sada operací REST, které umožňují funkce pro konkrétní službu Azure. Například služba Key Vault se skládá z poskytovatele prostředků s názvem Microsoft.KeyVault. Poskytovatel prostředků definuje operace REST pro správu trezorů, tajných kódů, klíčů a certifikátů.

Poskytovatel prostředků definuje prostředky Azure, které můžete nasadit do svého účtu. Název typu prostředku se řídí formátem: {resource-provider}/{resource-type}. Typ prostředku trezoru klíčů je Microsoft.KeyVault/vaults.

V tomto článku získáte informace o těchto tématech:

  • Zobrazení všech poskytovatelů prostředků v Azure
  • Kontrola stavu registrace poskytovatele prostředků
  • Registrace poskytovatele prostředků
  • Zobrazení typů prostředků pro poskytovatele prostředků
  • Zobrazení platných umístění pro typ prostředku
  • Zobrazení platných verzí rozhraní API pro typ prostředku

Seznam, který mapuje poskytovatele prostředků na služby Azure, najdete v tématu Poskytovatelé prostředků pro služby Azure.

Registrace poskytovatele prostředků

Než použijete poskytovatele prostředků, musíte se ujistit, že je vaše předplatné Azure zaregistrované pro poskytovatele prostředků. Registrace nakonfiguruje vaše předplatné tak, aby fungovalo s poskytovatelem prostředků.

Důležité

Zaregistrujte poskytovatele prostředků jenom tehdy, když jste připravení ho použít. Tento krok registrace pomáhá udržovat nejnižší oprávnění v rámci vašeho předplatného. Uživatel se zlými úmysly nemůže používat neregistrované poskytovatele prostředků.

Registrace nepotřebných poskytovatelů prostředků může mít za následek zobrazení nerozpoznaných aplikací ve vašem tenantovi Microsoft Entra. Microsoft přidá aplikaci pro poskytovatele prostředků, když ji zaregistrujete. Tyto aplikace obvykle přidává rozhraní API pro správu služeb Windows Azure. Pokud chcete zabránit zbytečným aplikacím ve vašem tenantovi, zaregistrujte jenom potřebné poskytovatele prostředků.

Někteří poskytovatelé prostředků jsou ve výchozím nastavení zaregistrovaní. Seznam poskytovatelů prostředků zaregistrovaných ve výchozím nastavení najdete v tématu Poskytovatelé prostředků pro služby Azure.

Ostatní poskytovatelé prostředků se zaregistrují automaticky, když provedete určité akce. Když prostředek vytvoříte prostřednictvím portálu, poskytovatel prostředků je obvykle zaregistrovaný za vás. Když nasadíte šablonu Azure Resource Manageru nebo soubor Bicep, poskytovatelé prostředků definované v šabloně se zaregistrují automaticky. Někdy prostředek v šabloně vyžaduje podpůrné prostředky, které nejsou v šabloně. Mezi běžné příklady patří monitorování nebo prostředky zabezpečení. Tyto poskytovatele prostředků musíte zaregistrovat ručně.

V jiných scénářích možná budete muset poskytovatele prostředků zaregistrovat ručně.

Důležité

Kód aplikace by neměl blokovat vytváření prostředků pro poskytovatele prostředků, který je ve stavu registrace . Při registraci poskytovatele prostředků se operace provádí jednotlivě pro každou podporovanou oblast. Pokud chcete vytvořit prostředky v oblasti, musí být registrace dokončena pouze v této oblasti. Tím, že neblokujete poskytovatele prostředků ve stavu registrace, může vaše aplikace pokračovat mnohem dříve, než čeká na dokončení všech oblastí.

Musíte mít oprávnění k provedení /register/action operace pro poskytovatele prostředků. Oprávnění je součástí rolí Přispěvatel a Vlastník.

Pokud stále máte v předplatném typy prostředků od tohoto poskytovatele prostředků, nemůžete zrušit registraci poskytovatele prostředků.

Znovu zaregistrujte poskytovatele prostředků, když poskytovatel prostředků podporuje nová umístění, která potřebujete použít.

portál Azure

Registrace poskytovatele prostředků

Pokud chcete zobrazit všechny poskytovatele prostředků a stav jejich registrace pro vaše předplatné:

  1. Přihlaste se k portálu Azure.

  2. V nabídce webu Azure Portal vyhledejte Předplatná. Vyberte ji z dostupných možností.

    Snímek obrazovky s vyhledáváním předplatných na webu Azure Portal

  3. Vyberte předplatné, které chcete zobrazit.

  4. V nabídce vlevo v části Nastavení vyberte Poskytovatelé prostředků.

    Snímek obrazovky s výběrem poskytovatelů prostředků na webu Azure Portal

  5. Vyhledejte poskytovatele prostředků, kterého chcete zaregistrovat.

    Snímek obrazovky s vyhledáním poskytovatelů prostředků na webu Azure Portal

  6. Výběrem poskytovatele prostředků zobrazíte podrobnosti o poskytovateli prostředků.

    Snímek obrazovky s podrobnostmi o poskytovateli prostředků na webu Azure Portal

  7. Vyberte poskytovatele prostředků a vyberte Zaregistrovat. V zájmu použití nejmenších nezbytných oprávnění ve vašem odběru registrujte pouze poskytovatele prostředků, které jste připraveni využívat.

    Snímek obrazovky s registrací poskytovatele prostředků na webu Azure Portal

    Důležité

    Jak už bylo zmíněno dříve, neblokujte vytváření prostředků pro poskytovatele prostředků, který je v registru . Tím, že neblokujete poskytovatele prostředků ve stavu registrace, může vaše aplikace pokračovat mnohem dříve, než čeká na dokončení všech oblastí.

  8. Znovu zaregistrujte poskytovatele prostředků, aby používal umístění přidaná od předchozí registrace.

    Snímek obrazovky s opětovnou registraci poskytovatele prostředků na webu Azure Portal

Zobrazení poskytovatele prostředků

Zobrazení informací pro konkrétního poskytovatele prostředků:

  1. Přihlaste se k portálu Azure.

  2. V nabídce webu Azure Portal vyberte Všechny služby.

  3. Do pole Všechny služby zadejte Průzkumníka prostředků a pak vyberte Průzkumníka prostředků.

    Snímek obrazovky s výběrem všech služeb na webu Azure Portal pro přístup k Průzkumníku prostředků

  4. Rozbalte zprostředkovatele výběrem šipky doprava.

    Snímek obrazovky s rozbalením oddílu Poskytovatelé v Průzkumníku prostředků Azure

  5. Rozbalte poskytovatele prostředků a typ prostředku, který chcete zobrazit.

  6. Resource Manager je podporovaný ve všech oblastech, ale prostředky, které nasazujete, nemusí být podporované ve všech oblastech. Vaše předplatné může mít také určitá omezení, která vám brání v používání některých oblastí, které prostředek podporují. Průzkumník prostředků zobrazí platná umístění pro typ prostředku.

    Snímek obrazovky zobrazující platná umístění pro typ prostředku v Průzkumníku prostředků Azure

  7. Verze rozhraní API odpovídá verzi operací REST API poskytovatele prostředků. Jako poskytovatel prostředků umožňuje nové funkce, vydává novou verzi rozhraní REST API. Průzkumník prostředků zobrazí platné verze rozhraní API pro daný typ prostředku.

    Snímek obrazovky zobrazující platné verze rozhraní API pro typ prostředku v Průzkumníku prostředků Azure

Azure PowerShell

Pokud chcete zobrazit všechny poskytovatele prostředků v Azure a stav registrace pro vaše předplatné, použijte:

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

Příkaz vrátí:

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

Pokud chcete zobrazit všechny registrované poskytovatele prostředků pro vaše předplatné, použijte:

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

V zájmu použití nejmenších nezbytných oprávnění ve vašem odběru registrujte pouze poskytovatele prostředků, které jste připraveni využívat. Pokud chcete zaregistrovat poskytovatele prostředků, použijte:

Register-AzResourceProvider -ProviderNamespace Microsoft.Batch

Příkaz vrátí:

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

Důležité

Jak už bylo zmíněno dříve, neblokujte vytváření prostředků pro poskytovatele prostředků, který je v registru . Tím, že neblokujete poskytovatele prostředků ve stavu registrace, může vaše aplikace pokračovat mnohem dříve, než čeká na dokončení všech oblastí.

Znovu zaregistrujte poskytovatele prostředků, aby používal umístění přidaná od předchozí registrace. Pokud chcete registraci znovu zaregistrovat, spusťte znovu příkaz registrace.

Pokud chcete zobrazit informace pro konkrétního poskytovatele prostředků, použijte:

Get-AzResourceProvider -ProviderNamespace Microsoft.Batch

Příkaz vrátí:

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

...

Pokud chcete zobrazit typy prostředků pro poskytovatele prostředků, použijte:

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

Příkaz vrátí:

batchAccounts
operations
locations
locations/quotas

Verze rozhraní API odpovídá verzi operací REST API poskytovatele prostředků. Jako poskytovatel prostředků umožňuje nové funkce, vydává novou verzi rozhraní REST API.

Pokud chcete získat dostupné verze rozhraní API pro typ prostředku, použijte:

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

Příkaz vrátí:

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

Resource Manager je podporovaný ve všech oblastech, ale prostředky, které nasazujete, nemusí být podporované ve všech oblastech. Vaše předplatné může mít také určitá omezení, která vám brání v používání některých oblastí, které prostředek podporují.

Pokud chcete získat podporovaná umístění pro typ prostředku, použijte.

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

Příkaz vrátí:

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

Azure CLI

Pokud chcete zobrazit všechny poskytovatele prostředků v Azure a stav registrace pro vaše předplatné, použijte:

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

Příkaz vrátí:

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

Pokud chcete zobrazit všechny registrované poskytovatele prostředků pro vaše předplatné, použijte:

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

V zájmu použití nejmenších nezbytných oprávnění ve vašem odběru registrujte pouze poskytovatele prostředků, které jste připraveni využívat. Pokud chcete zaregistrovat poskytovatele prostředků, použijte:

az provider register --namespace Microsoft.Batch

Příkaz vrátí zprávu, že registrace probíhá.

Pokud chcete zobrazit informace pro konkrétního poskytovatele prostředků, použijte:

az provider show --namespace Microsoft.Batch

Příkaz vrátí:

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

Důležité

Jak už bylo zmíněno dříve, neblokujte vytváření prostředků pro poskytovatele prostředků, který je v registru . Tím, že neblokujete poskytovatele prostředků ve stavu registrace, může vaše aplikace pokračovat mnohem dříve, než čeká na dokončení všech oblastí.

Pokud chcete zobrazit typy prostředků pro poskytovatele prostředků, použijte:

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

Příkaz vrátí:

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

Verze rozhraní API odpovídá verzi operací REST API poskytovatele prostředků. Jako poskytovatel prostředků umožňuje nové funkce, vydává novou verzi rozhraní REST API.

Pokud chcete získat dostupné verze rozhraní API pro typ prostředku, použijte:

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

Příkaz vrátí:

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

Resource Manager je podporovaný ve všech oblastech, ale prostředky, které nasazujete, nemusí být podporované ve všech oblastech. Vaše předplatné může mít také určitá omezení, která vám brání v používání některých oblastí, které prostředek podporují.

Pokud chcete získat podporovaná umístění pro typ prostředku, použijte.

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

Příkaz vrátí:

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

Python

Pokud chcete zobrazit všechny poskytovatele prostředků v Azure a stav registrace pro vaše předplatné, použijte:

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

Příkaz vrátí:

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

Pokud chcete zobrazit všechny registrované poskytovatele prostředků pro vaše předplatné, použijte:

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

V zájmu použití nejmenších nezbytných oprávnění ve vašem odběru registrujte pouze poskytovatele prostředků, které jste připraveni využívat. Pokud chcete zaregistrovat poskytovatele prostředků, použijte:

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

Příkaz vrátí:

ProviderNamespace: Microsoft.Batch, RegistrationState: Registered

Důležité

Jak už bylo zmíněno dříve, neblokujte vytváření prostředků pro poskytovatele prostředků, který je v registru . Tím, že neblokujete poskytovatele prostředků ve stavu registrace, může vaše aplikace pokračovat mnohem dříve, než čeká na dokončení všech oblastí.

Znovu zaregistrujte poskytovatele prostředků, aby používal umístění přidaná od předchozí registrace. Pokud chcete registraci znovu zaregistrovat, spusťte znovu příkaz registrace.

Pokud chcete zobrazit informace pro konkrétního poskytovatele prostředků, použijte:

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

Příkaz vrátí:

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

...

Pokud chcete zobrazit typy prostředků pro poskytovatele prostředků, použijte:

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

Příkaz vrátí:

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

Verze rozhraní API odpovídá verzi operací REST API poskytovatele prostředků. Jako poskytovatel prostředků umožňuje nové funkce, vydává novou verzi rozhraní REST API.

Pokud chcete získat dostupné verze rozhraní API pro typ prostředku, použijte:

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

Příkaz vrátí:

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

Resource Manager je podporovaný ve všech oblastech, ale prostředky, které nasazujete, nemusí být podporované ve všech oblastech. Vaše předplatné může mít také určitá omezení, která vám brání v používání některých oblastí, které prostředek podporují.

Pokud chcete získat podporovaná umístění pro typ prostředku, použijte.

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

Příkaz vrátí:

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

Další kroky