Definování prostředků rozšíření

Dokončeno

Prostředky rozšíření jsou vždy připojené k dalším prostředkům Azure. Rozšiřují chování těchto prostředků o další funkce.

Mezi příklady běžných prostředků rozšíření patří:

Název Typ prostředku
Přiřazení rolí Microsoft.Authorization/roleAssignments
Přiřazení zásad Microsoft.Authorization/policyAssignments
Zámky Microsoft.Authorization/locks
Nastavení diagnostiky Microsoft.Insights/diagnosticSettings

Představte si například zámek, který se dá použít k zabránění odstranění nebo úpravám prostředku Azure. Nemá smysl nasadit zámek sám o sobě. Vždy se musí nasadit do jiného prostředku.

Poznámka:

Příkazy v této lekci jsou znázorněny pro ilustraci konceptů. Zatím nespouštět příkazy. Brzy si procvičíte, co se tady naučíte.

Jak jsou definované prostředky rozšíření?

V Bicep definujete prostředek rozšíření většinou stejným způsobem jako běžný prostředek. Tuto vlastnost však přidáte scope , aby bicep řekl, že prostředek by měl být připojen k jinému prostředku definovanému jinde v souboru Bicep. Symbolický název zdroje použijete k odkaz na něj. Tady je například definice účtu služby Azure Cosmos DB, který jsme vytvořili dříve:

resource cosmosDBAccount 'Microsoft.DocumentDB/databaseAccounts@2024-05-15' = {
  name: cosmosDBAccountName
  location: location
  properties: {
    // ...
  }
}

Pojďme přidat zámek prostředku, který zabrání všem v odstranění účtu služby Azure Cosmos DB:

resource lockResource 'Microsoft.Authorization/locks@2020-05-01' = {
  scope: cosmosDBAccount
  name: 'DontDelete'
  properties: {
    level: 'CanNotDelete'
    notes: 'Prevents deletion of the toy data Cosmos DB account.'
  }
}

Všimněte si, že příklad používá scope vlastnost se symbolickým názvem účtu služby Azure Cosmos DB. Toto nastavení vlastnosti říká Bicep, aby nasadil zámek prostředku do účtu služby Azure Cosmos DB, což znamená, že už ho nejde odstranit.

ID prostředků rozšíření

Prostředek rozšíření má trochu jiné ID než jiné prostředky. Skládá se z jeho nadřazeného ID prostředku, oddělovače /providers/a ID prostředku rozšíření.

Řekněme, že jste nasadili dříve uvedený účet služby Azure Cosmos DB a tento účet byl pojmenován toyrnd. Id prostředku zámku by vypadalo takto:

/subscriptions/A123b4567c-1234-1a2b-2b1a-1234abc12345/resourceGroups/ToyDevelopment/providers/Microsoft.DocumentDB/databaseAccounts/toyrnd/providers/Microsoft.Authorization/locks/DontDelete

Tady je vizuální reprezentace:

ID prostředku rozšíření pro zámek prostředku použitého u účtu služby Azure Cosmos DB, rozdělené s dvojicí klíč-hodnota na samostatném řádku.

Pokud se zobrazí ID prostředku, které začíná normálním ID prostředku, a pak přidáte /providers/ a další typ a název prostředku, znamená to, že se díváte na ID prostředku rozšíření.