Inicio rápido: Creación e implementación del primer archivo de Bicep con recursos de Microsoft Graph
En este inicio rápido, creará un archivo de Bicep que declara un grupo de seguridad de Microsoft Entra y una identidad de servicio administrada (MSI), que representa un recurso de Microsoft Graph y un recurso de Azure, respectivamente. A continuación, agregue el MSI como propietario del grupo. También aprenderá cómo la extensión de Bicep simplifica el desarrollo al proporcionar seguridad de tipos, validación de sintaxis y autocompletar. Por último, implemente el archivo de Bicep mediante un usuario que ha iniciado sesión.
Importante
En este artículo de inicio rápido se usan referencias de tipo dinámico en lugar de tipos integrados que están en desuso y se retirarán el 24 de enero de 2025. Hasta la fecha de retirada, los tipos integrados, indicados por extension microsoftGraph
, coexistirán con los nuevos tipos dinámicos. Si alguno de los archivos de Bicep existentes usa tipos integrados, cambie al uso de tipos dinámicos para evitar problemas futuros de implementación de archivos de Bicep.
Importante
Microsoft Graph Bicep está actualmente en versión preliminar. Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.
Requisitos previos
Tener una suscripción de Azure válida : si no posee una suscripción de Azure, cree una cuenta gratuita antes de comenzar.
Instale las herramientas de Bicep para crear e implementar. En este inicio rápido se usa VS Code con la extensión de Bicep para la creación y la CLI de Azure para la implementación. También se proporcionan ejemplos para Azure PowerShell. La versión mínima necesaria de Bicep es v0.30.3.
Tener un rol de Microsoft Entra que le asigne permisos para crear un grupo de seguridad. Los usuarios tienen este permiso de forma predeterminada. Sin embargo, los administradores pueden desactivar este valor predeterminado en cuyo caso es necesario asignar al menos el rol Administrador de grupos.
Adición de un grupo de aplicaciones de Microsoft Graph
Inicie VS Code y cree dos nuevos archivos, main.bicep y bicepconfig.json en la misma carpeta.
A continuación, para poder declarar recursos de Microsoft Graph en un archivo de Bicep, debe habilitar la característica de vista previa de Bicep y especificar las versiones de tipo de Bicep de Microsoft Graph mediante la configuración de bicepconfig.json.
En este ejemplo se usan los recursos v1.0 y se declara un nombre de extensión descriptivo "microsoftGraphV1_0" para hacer referencia a la versión de br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:0.1.8-preview
tipo en el Registro de artefactos Microsoft.
{
"experimentalFeaturesEnabled": {
"extensibility": true
},
// specify an alias for the version of the v1.0 dynamic types package you want to use
"extensions": {
"microsoftGraphV1_0": "br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:0.1.8-preview"
}
}
También puede declarar recursos de Microsoft Graph desde la versión beta y v1.0 en el mismo archivo de Bicep agregando otra referencia a una versión de tipo beta de la Registro de artefactos Microsoft.
En main.bicep, escriba extension microsoftGraphV1_0
, donde microsoftGraphV1_0
es el nombre descriptivo para hacer referencia al paquete de tipos dinámicos en el Registro de artefactos Microsoft. La extension
instrucción permite al compilador de Bicep saber que incluye los tipos de Microsoft Graph definidos en bicepconfig.json. En la línea siguiente, defina un recurso mediante la resource
palabra clave . Escriba resource exampleGroup
y agregue un espacio.
extension microsoftGraphV1_0
resource exampleGroup
Al agregar un espacio después del nombre simbólico, se muestra una lista de tipos de recursos. Continúe escribiendo grupo hasta que pueda seleccionar Microsoft.Graph/Groups en las opciones disponibles.
Sugerencia
Si no ve las opciones de IntelliSense en VS Code, asegúrese de que ha instalado la extensión de Bicep tal como se especifica en Requisitos previos. Si ya ha instalado la extensión, dé un tiempo al servicio de lenguaje Bicep para que se inicie después de abrir el archivo Bicep. Una notificación en la esquina inferior derecha le indica que el servicio se está iniciando. Cuando esa notificación desaparece, quiere decir que el servicio se está ejecutando.
Después de seleccionar Microsoft.Graph/Groups, se le muestran las versiones de API disponibles: beta o v1.0. Seleccione siempre la versión 1.0 a menos que no esté disponible o las propiedades de recursos que necesita solo estén disponibles en la versión beta. Para este inicio rápido, use v1.0.
Después de la comilla simple del tipo de recurso, agregue = y un espacio. Se mostrarán las opciones para agregar propiedades al recurso. Seleccione required-properties.
Esta opción agrega todas las propiedades del tipo de recurso que son obligatorias para la implementación. Después de seleccionar esta opción, el grupo tiene las siguientes propiedades:
resource exampleGroup 'Microsoft.Graph/groups@v1.0' = {
displayName:
mailEnabled:
mailNickname:
securityEnabled:
uniqueName:
}
Proporcione valores para esas propiedades, estableciendo mailEnabled en false
y securityEnabled en true
. uniqueName representa una clave proporcionada por el cliente inmutable para este recurso de grupo.
Adición de un recurso de identidad administrada
VS Code con la extensión de Bicep simplifica el desarrollo proporcionando fragmentos predefinidos, como un fragmento de código que crea una identidad administrada. En main.bicep, escriba man y seleccione res-managed-identity en la lista y presione [TAB] o [ENTRAR].
Nota: Actualmente no se admiten fragmentos de recursos para recursos extensibles , como los recursos de Microsoft Graph.
El archivo Bicep ahora contiene el código siguiente:
resource managedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2018-11-30' = {
name: 'name'
location: location
}
Puede corregir el error de definición de parámetro que falta agregando una definición de parámetro para location
. En la definición de extensión, agregue param location string = resourceGroup().location
. Para obtener más información sobre la función que se usa aquí, consulte resourceGroup(). Cambie el nombre de la identidad administrada de name
a exampleManagedIdentity
.
Convertir la identidad administrada en propietario del recurso de grupo
En el exampleGroup
recurso, cree una nueva línea en uniqueName
, escriba ow, que muestra a los propietarios como la única opción de propiedad coincidente y, a continuación, presione [TAB] o [ENTRAR].
La propiedad owners es una matriz, por lo que agregue []
y haga referencia ahora al identificador de entidad de seguridad de la identidad administrada mediante intellisense, escribiendo m y seleccionando managedIdentity (el nombre simbólico de la identidad administrada), escribiendo una propiedad . y seleccionando otras propiedades . y picking principalId.
Su archivo main.bicep debería tener ahora un aspecto similar al siguiente:
extension microsoftGraphV1_0
param location string = resourceGroup().location
resource exampleGroup 'Microsoft.Graph/groups@v1.0' = {
displayName: 'My example group'
mailEnabled: false
mailNickname: 'my-example-group'
securityEnabled: true
uniqueName: 'myExampleGroup'
owners: [managedIdentity.properties.principalId]
}
resource managedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2018-11-30' = {
name: 'exampleManagedIdentity'
location: location
}
Implementación del archivo de Bicep mediante un usuario que ha iniciado sesión
Implemente el archivo bicep iniciando sesión en la CLI de Azure o Azure PowerShell con los ejemplos siguientes. En los ejemplos de la CLI de Azure de esta documentación se usa la consola de Bash.
## Sign in to Azure CLI
az login
## 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
Una vez finalizada la implementación, debería mostrarse un mensaje indicando que la implementación se realizó correctamente.
Nota:
Debido a retrasos en la replicación, agregar la identidad de servicio administrada (MSI) como propietario del grupo De Microsoft Entra puede provocar un error en la implementación. Espere un poco y vuelva a implementar el mismo archivo de Bicep.
Limpieza de recursos
Cuando los recursos de Azure dejen de ser necesarios, use la CLI de Azure o el módulo de Azure PowerShell para eliminar el grupo de recursos y el recurso del servidor del inicio rápido.
Nota:
Los grupos de recursos son un concepto de Azure y no tienen ningún impacto en los recursos de Microsoft Graph. Los recursos de Microsoft Graph deben limpiarse con una solicitud adicional a Microsoft Graph. Para ello, puede usar la CLI de Azure o Azure PowerShell, la CLI de Microsoft Graph o PowerShell de Microsoft Graph.
En los ejemplos siguientes se muestran comandos para eliminar primero el recurso de Azure y el recurso de Microsoft Graph mediante la CLI de Azure y Azure PowerShell.
## Delete the resource group
az group delete --name exampleRG
## Delete the Microsoft Graph group
az rest --method delete --url 'https://graph.microsoft.com/v1.0/groups%28uniqueName=%27myExampleGroup%27%29'