Integrare le risorse esistenti di Microsoft Graph per l'utilizzo nei template Bicep
È possibile fare riferimento alle risorse esistenti di Microsoft Graph nei modelli Bicep tramite la proprietà chiave fornita e supportata dal client. Le risorse create tramite HTTP POST potrebbero non avere questa proprietà impostata e richiedere un aggiornamento dati una tantum.
Una volta impostata, la proprietà chiave fornita dal client consente di dichiarare la risorsa in un file Bicep per la ridistribuzione. Per leggere le proprietà della risorsa senza ridistribuire, usare la parola chiave esistente.
Questo articolo illustra come usare la existing
parola chiave e la chiave fornita dal client per leggere le proprietà delle risorse di Microsoft Graph esistenti.
Importante
Microsoft Graph Bicep è attualmente in anteprima. Vedere le condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure per termini legali aggiuntivi che si applicano a funzionalità di Azure in versione beta, in anteprima o in altro modo non ancora disponibili a livello generale.
Bicep consente di leggere le risorse esistenti usando la parola chiave esistente . Per le risorse di Microsoft Graph, le risorse devono essere identificate in modo univoco da una proprietà chiave fornita dal client.
Prerequisiti
- Disporre di una sottoscrizione di Azure Se non si ha un account, è possibile crearne uno gratuito.
- Disporre delle autorizzazioni o dei ruoli con privilegi minimi per leggere o aggiornare la risorsa esistente oppure essere il proprietario della risorsa. Per informazioni sui ruoli da assegnare, vedere Ruoli con privilegi minimi per attività e Autorizzazioni utente predefinite.
- Installare gli strumenti Bicep per la creazione e la distribuzione. Questa guida introduttiva usa VS Code con l'estensione Bicep per la creazione e l'interfaccia della riga di comando di Azure per la distribuzione. Sono disponibili anche esempi per Azure PowerShell.
- È possibile distribuire i file Bicep in modo interattivo o tramite la distribuzione zero-touch (solo app).
Integrare le risorse esistenti di Microsoft Graph e usare tali risorse in un file Bicep
In questo esempio potrebbero essere presenti alcune risorse di Microsoft Graph che non sono state create tramite una distribuzione di file Bicep, che ora è necessario usare o gestire in un file Bicep. Ad esempio, si vuole aggiornare un'applicazione esistente o distribuire il gruppo di sicurezza #1 (nuova distribuzione o ridistribuzione) insieme al gruppo esistente #2 e all'entità servizio #2 come membri.
Per fare riferimento al gruppo esistente n. 2 in un file Bicep, è necessario che la proprietà uniqueName sia impostata. Per fare riferimento all'entità servizio esistente n. 2 se non si conosce il relativo appId, l'applicazione padre deve avere la proprietà uniqueName impostata.
In questa sezione verrà illustrato come:
- Aggiungere la proprietà uniqueName per un gruppo e un'applicazione esistenti usando la CLI di Azure o Azure PowerShell.
- Aggiornare un'applicazione esistente in un file Bicep.
- Usare la parola chiave
existing
nello stesso file Bicep per ottenere l'ID di un gruppo e di un'entità servizio esistenti. - Nel file Bicep configurare le impostazioni per distribuire un gruppo di sicurezza con un gruppo esistente e un'entità servizio come membri e l'entità servizio come proprietario.
- Distribuire il file Bicep.
Passaggio 1: Impostare la proprietà uniqueName per il gruppo e l'applicazione
La richiesta seguente imposta rispettivamente il valore uniqueName per un gruppo e un'applicazione esistente su TestGroup-20241202
e TestApp-20241202
.
Importante
La proprietà chiave fornita dal client uniqueName
non può essere modificata una volta impostata.
# 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-20241202\"}' --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-20241202\"}' --headers "content-type=application/json"
Passaggio 2: Aggiungere un gruppo e un'entità servizio esistenti ai membri e ai proprietari di un altro gruppo
È ora possibile usare la existing
parola chiave per fare riferimento al gruppo esistente #2 e all'entità servizio #2, ottenere i relativi ID e aggiungerli alle raccolte proprietari e membri di un altro gruppo.
Avviare VS Code e creare due nuovi file, main.bicep e bicepconfig.json, assicurandosi che si trovino nella stessa cartella.
Abilitare alcune funzionalità di anteprima configurando bicepconfig.json:
{ "experimentalFeaturesEnabled": { "extensibility": true } }
In main.bicep aggiungere il codice Bicep seguente.
extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:0.1.8-preview' // TEMPLATE OVERVIEW: Updates an existing app and // 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-20241202' } // existing application to be updated with a new display name // and for its SP #2 to be added as a member (to group #1) resource application 'Microsoft.Graph/applications@v1.0' = { uniqueName: 'TestApp-20241202' displayName: 'Updating the displayName to something new' } 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] }
Distribuire il file Bicep usando l'interfaccia della riga di comando di Azure o 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
Al termine della distribuzione, visualizzerai un messaggio che indica che la distribuzione è stata completata.