Referera till befintliga Microsoft Graph-resurser i Bicep-mallar
Med Bicep kan du läsa befintliga resurser med hjälp av det befintliga nyckelordet. För Microsoft Graph-resurser måste resurserna först identifieras unikt av en nyckelegenskap som tillhandahålls av klienten.
I den här artikeln får du lära dig hur du använder nyckelordet existing
och nyckeln som tillhandahålls av klienten för att läsa egenskaperna för befintliga Microsoft Graph-resurser.
Viktigt!
Microsoft Graph Bicep är för närvarande i förhandsversion. Juridiska villkor för Azure-funktioner i betaversion, förhandsversion eller som av någon annan anledning inte har gjorts allmänt tillgängliga ännu finns i kompletterande användningsvillkor för Microsoft Azure-förhandsversioner.
Förutsättningar
- Ha en Azure-prenumeration. Om du inte har någon, kan du skapa ett kostnadsfritt konto.
- Ha de minst privilegierade behörigheterna eller rollerna för att antingen läsa eller uppdatera den befintliga resursen eller vara resursens ägare. Läs Minst privilegierade roller efter uppgift och Standardanvändarbehörigheter för att se vilka roller du behöver tilldelas.
- Installera Bicep-verktyg för redigering och distribution. Den här snabbstarten använder VS Code med Bicep-tillägget för redigering och Azure CLI för distribution. Exempel finns också för Azure PowerShell.
- Du kan distribuera Bicep-filerna interaktivt eller via zero-touch-distribution (endast app).
Läs egenskaper för en befintlig Microsoft Graph-resurs
Följande steg visar hur du refererar till en befintlig grupp och ett befintligt program efter deras unika namn i en Bicep-fil.
Starta VS Code och skapa två nya filer, main.bicep och bicepconfig.json, så att de finns i samma mapp.
Aktivera vissa förhandsgranskningsfunktioner genom att konfigurera bicepconfig.json:
{ "experimentalFeaturesEnabled": { "extensibility": true } }
I main.bicep lägger du till följande Bicep-kod, som använder nyckelordet
existing
för att referera till gruppen med dess unika namnTestGroup-20240816
och programmet efterTestApp-20240816
. Det här steget förutsätter att gruppen och programmet med de angivna unika namnen redan finns.extension microsoftGraph @description('Group to use') param groupName string = 'TestGroup-20240816' @description('App to use') param appName string = 'TestApp-20240816' resource group 'Microsoft.Graph/groups@v1.0' existing = { uniqueName: groupName } resource application 'Microsoft.Graph/applications@v1.0' existing = { uniqueName: appName } output groupId string = group.id output applicationId string = application.id
Distribuera Bicep-filen med Hjälp av Azure CLI eller Azure PowerShell.
## Create a resource group az group create --name exampleRG --location eastus ## Deploy the Bicep file az deployment group create --resource-group exampleRG --template-file main.bicep
DeploymentName : main
ResourceGroupName : exampleRG
ProvisioningState : Succeeded
Timestamp : 18/04/2024 16:16:42
Mode : Incremental
TemplateLink :
Parameters :
Name Type Value
=============== ========================= ==========
groupName String "TestGroup-20240816"
appName String "TestApp-20240816"
Outputs :
Name Type Value
=============== ========================= ==========
group-id String "91ded94c-0144-4422-b33c-c4171447a738"
app-id String "cd0bc6bc-fd22-4eb6-9bd3-2f8c5efd6dc9"
Du använder ID:t för gruppen i nästa avsnitt.
Uppdatera eller skapa en Microsoft Graph-resurs med hjälp av inställningar från befintliga resurser
Du kanske också vill distribuera en Microsoft Graph-resurs och konfigurera några av dess egenskaper med hjälp av inställningarna från en befintlig resurs. Du vill till exempel distribuera en säkerhetsgrupp nr 1 (ny distribution eller omdistribution) med en befintlig grupp nr 2 och tjänstens huvudnamn 2 som medlemmar. I det här fallet använder du nyckelordet existing
för att referera till grupp 2 och tjänstens huvudnamn 2 och hämta deras ID:n, som du sedan lägger till i medlemssamlingen i grupp 1.
Om du vill referera till den befintliga gruppen #2 i en Bicep-fil måste den ha egenskapen uniqueName inställd. Om du vill referera till det befintliga tjänstens huvudnamn nr 2 om du inte känner till dess appId måste dess överordnade program ha egenskapen uniqueName inställd.
I det här avsnittet får du:
- Uppdatera egenskapen uniqueName för en befintlig grupp och ett befintligt program med hjälp av Azure CLI eller Azure PowerShell.
- Använd nyckelordet
existing
i en Bicep-fil för att hämta ID:t för en befintlig grupp och tjänstens huvudnamn. - I Bicep-filen konfigurerar du inställningarna för att distribuera en säkerhetsgrupp med en befintlig grupp och tjänstens huvudnamn som medlemmar och tjänstens huvudnamn som ägare.
- Distribuera Bicep-filen.
Steg 1: Ange egenskapen uniqueName för gruppen och programmet
Följande begäran anger uniqueName för en befintlig grupp och ett befintligt program till TestApp-20240817
TestGroup-20240817
respektive . Anta att gruppen och programmet är grupp nr 2 och överordnad app för tjänstens huvudnamn 2 från föregående scenario.
# Sign in to Azure
az login
## Create a resource group
az group create --name exampleRG --location eastus
## Update the uniqueName property of the group and application
## Note: Replace cec00de2-08b9-4081-aaf5-55d78ac9b4c4 and 25ae6414-05a1-4cce-9899-ad11d9eedde2 with IDs for your group and application.
az rest --method patch --url 'https://graph.microsoft.com/v1.0/groups/cec00de2-08b9-4081-aaf5-55d78ac9b4c4' --body '{\"uniqueName\": \"TestGroup-20240817\"}' --headers "content-type=application/json"
az rest --method patch --url 'https://graph.microsoft.com/v1.0/applications/25ae6414-05a1-4cce-9899-ad11d9eedde2' --body '{\"uniqueName\": \"TestApp-20240817\"}' --headers "content-type=application/json"
Steg 2: Lägg till befintlig grupp och tjänstens huvudnamn till medlemmar och ägare av en annan grupp
Nu kan du använda nyckelordet existing
för att referera till den befintliga gruppen #2 och tjänstens huvudnamn 2, hämta deras ID:n och lägga till dem i ägare och medlemssamlingar i en annan grupp.
Starta VS Code och skapa två nya filer, main.bicep och bicepconfig.json, så att de finns i samma mapp.
Aktivera vissa förhandsgranskningsfunktioner genom att konfigurera bicepconfig.json:
{ "experimentalFeaturesEnabled": { "extensibility": true } }
Lägg till följande Bicep-kod i main.bicep.
extension microsoftGraph // TEMPLATE OVERVIEW: Uses existing group and existing SP and sets them // as members of another group // existing group #2 to be added as a member resource groupMember 'Microsoft.Graph/groups@v1.0' existing = { uniqueName: 'TestGroup-20240817' } // existing SP #2 to be added as a member resource application 'Microsoft.Graph/applications@v1.0' existing = { uniqueName: 'TestApp-20240817' } resource servicePrincipalMember 'Microsoft.Graph/servicePrincipals@v1.0' existing = { appId: application.appId } // Add preceding service principal and group as members of another group // Add preceding service principal as owner of the group. // If Group-1 uniqueName doesn't exist, this is a new deployment. // If Group-1 uniqueName exists, this is a redeployment/update. For redeployments, existing members and owners are retained. resource group 'Microsoft.Graph/groups@v1.0' = { displayName: 'Group-1' mailEnabled: false mailNickname: 'Group-1' securityEnabled: true uniqueName: 'Group-1' members: [groupMember.id, servicePrincipalMember.id] owners: [servicePrincipalMember.id] }
Distribuera Bicep-filen med Hjälp av Azure CLI eller Azure PowerShell.
## Create a resource group az group create --name exampleRG --location eastus ## Deploy the Bicep file az deployment group create --resource-group exampleRG --template-file main.bicep
När distributionen är klar bör du se ett meddelande som anger att distributionen lyckades.