Sdílet prostřednictvím


Poskytovatelé a typy prostředků Azure

Poskytovatel prostředků Azure je sada operací REST, které podporují funkce pro konkrétní službu Azure. Například služba Azure 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
  • Zkontrolujte stav registrace poskytovatele prostředků.
  • Zaregistrujte poskytovatele prostředků.
  • Zobrazení typů prostředků pro poskytovatele prostředků
  • Umožňuje zobrazit platná 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é a typy prostředků Azure.

Registrace poskytovatele prostředků

Než použijete poskytovatele prostředků, ujistěte se, ž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ů.

Když zaregistrujete poskytovatele prostředků, Microsoft přidá aplikaci pro poskytovatele prostředků. Registrace nepotřebných poskytovatelů prostředků může způsobit, že aplikace, které nerozpoznáte, se zobrazí ve vašem tenantovi Microsoft Entra. Rozhraní API pro správu služeb Windows Azure obvykle tyto aplikace přidává. Pokud chcete omezit nepotřebné aplikace ve vašem tenantovi, zaregistrujte jenom poskytovatele prostředků, které potřebujete.

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

Když provedete určité akce, Azure automaticky zaregistruje další poskytovatele prostředků. Když vytvoříte prostředek na webu Azure Portal, portál obvykle zaregistruje poskytovatele prostředků za vás. Když nasadíte šablonu Azure Resource Manageru nebo soubor Bicep, Azure automaticky zaregistruje poskytovatele prostředků definované v šabloně. 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. Pokud vaše aplikace neblokuje poskytovatele prostředků ve stavu registrace, může pokračovat 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ů

Zobrazení všech poskytovatelů prostředků a stavu 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 a v části Nastavení vyberte Poskytovatele 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. Pokud chcete zachovat nejnižší oprávnění ve vašem předplatném, zaregistrujte pouze poskytovatele prostředků, které jste připraveni použít.

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

    Důležité

    Jak už jsme uvedli dříve, nezablokujte vytváření prostředků pro poskytovatele prostředků, který je ve stavu registrace . Pokud vaše aplikace neblokuje poskytovatele prostředků ve stavu registrace, může pokračovat dříve, než čeká na dokončení všech oblastí.

  8. Znovu zaregistrujte poskytovatele prostředků a použijte umístění, která jste přidali 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 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ů Azure

  4. Výběrem šipky doprava rozbalte zprostředkovatele.

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

  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ů

  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 typ prostředku.

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

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ž jsme uvedli dříve, nezablokujte vytváření prostředků pro poskytovatele prostředků, který je ve stavu registrace . Pokud vaše aplikace neblokuje poskytovatele prostředků ve stavu registrace, může pokračovat dříve, než čeká na dokončení všech oblastí.

Pokud chcete použít umístění přidaná od předchozí registrace, zaregistrujte znovu poskytovatele prostředků. 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ž jsme uvedli dříve, nezablokujte vytváření prostředků pro poskytovatele prostředků, který je ve stavu registrace . Pokud vaše aplikace neblokuje poskytovatele prostředků ve stavu registrace, může pokračovat 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ž jsme uvedli dříve, nezablokujte vytváření prostředků pro poskytovatele prostředků, který je ve stavu registrace . Pokud vaše aplikace neblokuje poskytovatele prostředků ve stavu registrace, může pokračovat 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 Azure. 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