Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A legtöbb Azure erőforrás kezelése a Azure Resource Manager (ARM) vezérlősíkon keresztül történik – egyetlen egységes API-felület management.azure.com. A azapi_resource, azapi_update_resourceés azapi_resource_action az erőforrástípusok mind ezt a vezérlősíkot célozzák.
Néhány Azure szolgáltatás külön adat sík API-t fed fel, ami egy szolgáltatásspecifikus HTTPS-végpont, ahol közvetlenül a szolgáltatással kommunikálhat az ARM helyett. Ilyenek például a Key Vault titkok API-ja a {vaultName}.vault.azure.net, az Azure AI Keresés index API a {searchServiceName}.search.windows.net, valamint a Synapse munkaterület-kapcsolat API-ja a {workspaceName}.dev.azuresynapse.net.
azapi_data_plane_resource áthidalja ezt a rést azáltal, hogy lehetővé teszi a Terraform számára, hogy ugyanazon az AzAPI-szolgáltatói hitelesítéssel és életciklus-modellel kezelje az ezen adatsík-végpontokon lévő erőforrásokat.
Miért csak a válogatott erőforrástípusok támogatottak?
Ellentétben azapi_resource, amely bármilyen ARM-erőforrástípust megcélz, azapi_data_plane_resource csak a regisztrált erőforrástípusok specifikus listájával működik.
Ez a korlátozás azért létezik, mert az adatsík bővíthetőségéhez explicit regisztrációra van szükség az AzAPI-szolgáltató adatsík-keretrendszerében. A keretrendszernek tudnia kell:
- A szolgáltatás alapvégpont-mintája (például
{vaultName}.vault.azure.net) - Az egyes támogatott erőforrástípusok REST-elérési útja (például
/secrets/{secret-name}) - Hogyan lehet hitelesíteni ezt a végpontot (egyes szolgáltatások esetében szolgáltatás-specifikus token célközönség szükséges az alapértelmezett ARM célközönség helyett
https://management.azure.com)
Minden regisztrált erőforrástípus hozzáadja ezt a leképezést a keretrendszerhez. A nem regisztrált erőforrástípusok nem célozhatók meg azapi_data_plane_resource, mert a szolgáltató nem tudja meghatározni a megfelelő végpontot vagy hitelesítési hatókört.
Tip
Ha a szükséges adatsík-erőforrástípus nem támogatott, megnyithat egy problémát, vagy regisztrálhat a terraform-provider-azapi GitHub adattárban.
Az parent_id adatsík erőforrásainak működése
A vezérlősík erőforrásai (azapi_resource) parent_id mindig ARM azonosító-erőforrások—egy elérési út /subscriptions/{sub}/resourceGroups/{rg}/providers/{namespace}/{type}/{name} formájában.
Az adatsík-erőforrások parent_id esetében a szolgáltatás adatsíkjának állomásneve, amely le van vonva a https:// sémáról és a záró perjelről. Ez a végpont általában az ARM vezérlősík erőforrásán a létrehozás után elérhető tulajdonság.
A minta szolgáltatásonként eltérő:
| Service | ARM kimeneti tulajdonság |
parent_id minta |
|---|---|---|
| Key Vault | properties.vaultUri |
{vaultName}.vault.azure.net |
| Azure App Configuration | properties.endpoint |
{storeName}.azconfig.io |
| Azure AI Keresés | (névből készült) | {searchServiceName}.search.windows.net |
| Synapse munkaterület | connectivityEndpoints.dev |
{workspaceName}.dev.azuresynapse.net |
| IoT Central-alkalmazás | properties.subdomain |
{appSubdomain}.azureiotcentral.com |
| Microsoft Purview | (névből készült) | {accountName}.purview.azure.com |
Kinyerés parent_id ARM-kimenetből
Használja response_export_values a szülő ARM-erőforráson az adatsík végpontjának kinyeréséhez, majd távolítsa el a sémát trimprefix vagy replace segítségével.
resource "azurerm_key_vault" "example" {
# ... configuration
}
resource "azapi_data_plane_resource" "secret" {
type = "Microsoft.KeyVault/vaults/secrets@7.4"
# Strip "https://" and the trailing "/" from the vault URI
parent_id = trimsuffix(trimprefix(azurerm_key_vault.example.vault_uri, "https://"), "/")
name = "my-secret"
body = {
value = var.secret_value
attributes = { enabled = true }
}
}
Ha azapi_resource használja az AzureRM helyett a szülő létrehozására, response_export_values használja a végpont rögzítéséhez:
resource "azapi_resource" "app_config" {
type = "Microsoft.AppConfiguration/configurationStores@2023-03-01"
name = "my-store"
parent_id = azapi_resource.resource_group.id
location = "eastus"
body = { sku = { name = "standard" } }
response_export_values = {
endpoint = "properties.endpoint"
}
}
resource "azapi_data_plane_resource" "key_value" {
type = "Microsoft.AppConfiguration/configurationStores/keyValues@1.0"
parent_id = replace(azapi_resource.app_config.output.endpoint, "https://", "")
name = "mykey"
body = { value = "myvalue", content_type = "" }
}
Azoknál a szolgáltatásoknál, ahol a végpont az erőforrás nevéből származik URI-tulajdonság helyett, közvetlenül hozza létre:
resource "azurerm_search_service" "example" {
name = "my-search"
# ... configuration
}
resource "azapi_data_plane_resource" "index" {
type = "Microsoft.Search/searchServices/indexes@2024-07-01"
parent_id = "${azurerm_search_service.example.name}.search.windows.net"
name = "my-index"
body = { fields = [ /* ... */ ] }
}
Hitelesítés az adatsík végpontjaihoz
Az AzAPI-szolgáltató transzparens módon kezeli a hitelesítést. A provider "azapi" blokkon (Azure CLI, szolgáltatásnév, felügyelt identitás vagy OpenID Connect (OIDC) konfigurált hitelesítő adatokat használja, de automatikusan kéri az egyes szolgáltatások adatsík-célközönségének hatókörébe tartozó jogkivonatokat az ARM-célközönség helyett.
Például a Key Vault adatsík műveleteihez https://vault.azure.net jogkivonat célközönségre van szükség, nem https://management.azure.com. Az AzAPI-szolgáltató a megfelelő célközönséget választja ki az egyes erőforrástípusok regisztrált végpontja alapján.
Gyakorlóként semmi mást nem kell konfigurálnia. A szolgáltatás általános szerepköralapú hozzáférés-vezérlési (RBAC) engedélyei érvényesek, például Key Vault Secrets Officer Key Vault titkos kulcsok kezeléséhez, vagy App Configuration Data Owner az alkalmazáskonfiguráció kulcsértékeinek kezeléséhez.
Note
Egyes szolgáltatások (például Azure App Configuration és Azure AI Keresés) esetében a hívónak a megfelelő adatsík-szerepkör-hozzárendeléssel kell rendelkeznie, nem csak a vezérlősík tulajdonosi szerepkörével. Győződjön meg arról, hogy a Terraformot futtató identitás rendelkezik a megfelelő adatsík-szerepköralapú hozzáférés-vezérlési (RBAC) hozzárendeléssel, mielőtt alkalmazná azokat a konfigurációkat, amelyek azapi_data_plane_resource-t használnak.
Erőforrás-azonosító formátuma importáláshoz
Az adatsík erőforrásazonosítói más formátumot használnak, mint az ARM-erőforrásazonosítók. Meglévő adatsík-erőforrás importálásakor használja a következő formátumot {parent_id}/{path}|{resource-type}@{api-version}:
import {
to = azapi_data_plane_resource.example
id = "exampleappconf.azconfig.io/kv/mykey|Microsoft.AppConfiguration/configurationStores/keyValues@1.0"
}
Vagy a következővel terraform import:
terraform import azapi_data_plane_resource.example 'exampleappconf.azconfig.io/kv/mykey|Microsoft.AppConfiguration/configurationStores/keyValues@1.0'
Támogatott adatsík-szolgáltatások
Az AzAPI-szolgáltató jelenleg az alábbi szolgáltatásokban támogatja azapi_data_plane_resource az erőforrástípusokat:
- Azure App Configuration – kulcsértékek
- Azure AI Foundry – ügynökök
- Azure Eszközfrissítés – csoportok, telepítések
- Azure Digital Twins – digitális ikerpéldányok, kapcsolatok, eseményútvonalak, importálási feladatok
- Azure IoT Central – szervezetek, felhasználók, ütemezett feladatok, API-jogkivonatok, irányítópultok, eszközcsoportok, eszközsablonok, eszközök, regisztrációs csoportok, adatexportálások, üzembehelyezési jegyzékek
- Azure Key Vault – tanúsítványok névjegyei, tanúsítványkibocsátók, kulcsok, titkos kódok, tárfiókok, SAS-definíciók
- Microsoft Purview – gyűjtemények, erőforráskészlet-szabálykonfigurációk, kulcstartók, besorolási szabályok, hitelesítő adatok, adatforrások, vizsgálatok, vizsgálati eseményindítók, integrációs futtatókörnyezetek, felügyelt privát végpontok, munkafolyamatok
- Azure AI Keresés – adatforrások, indexelők, indexek, képességkészletek, szinonimatérképek
- Azure Synapse Analytics – adatbázisok, adatfolyamok, adatkészletek, Kusto Lekérdezési nyelv (KQL) szkriptek, tárak, kapcsolatkapcsolatok, társított szolgáltatások, felügyelt privát végpontok, jegyzetfüzetek, folyamatok, szerepkör-hozzárendelések, Spark-feladatdefiníciók, Spark-konfigurációk, SQL-szkriptek, eseményindítók
Az API-verziók és a végpontminták teljes listáját a Terraform-beállításjegyzék available resources reference című témakörben találja.