Compartilhar via


Início Rápido: Criar e implantar seu primeiro arquivo Bicep com recursos do Microsoft Graph

Neste início rápido, você cria um arquivo Bicep que declara um grupo de segurança do Microsoft Entra e uma MSI (identidade de serviço gerenciado), representando um recurso do Microsoft Graph e um recurso do Azure, respectivamente. Em seguida, você adiciona o MSI como proprietário do grupo. Você também aprende como a extensão Bicep simplifica o desenvolvimento ao fornecer segurança de tipo, validação de sintaxe e preenchimento automático. Por fim, você implanta o arquivo Bicep usando um usuário conectado.

Importante

Este artigo de início rápido usa referências de tipo dinâmico em vez de tipos internos que foram preteridos e serão desativados em 24 de janeiro de 2025. Até a data de desativação, os tipos internos, indicados por extension microsoftGraph, coexistirão com os novos tipos dinâmicos. Se algum dos arquivos Bicep existentes usar tipos internos, alterne para o uso de tipos dinâmicos para evitar problemas futuros de implantação de arquivo Bicep.

Importante

O Microsoft Graph Bicep está atualmente em versão prévia. Veja os Termos de Uso Complementares para Versões Prévias do Microsoft Azure para obter termos legais que se aplicam aos recursos do Azure que estão em versão beta, versão prévia ou que, de outra forma, ainda não foram lançados em disponibilidade geral.

Pré-requisitos

Adicionar um grupo de aplicativos do Microsoft Graph

Inicie o VS Code e crie dois novos arquivos, main.bicep e bicepconfig.json na mesma pasta.

Em seguida, para poder declarar recursos do Microsoft Graph em um arquivo Bicep, você precisa habilitar o recurso de visualização do Bicep e especificar as versões do tipo Bicep do Microsoft Graph, configurando bicepconfig.json.

Este exemplo usa os recursos v1.0 e declara um nome de extensão amigável "microsoftGraphV1_0" para fazer referência à versão do br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:0.1.8-preview tipo no Registro do Microsoft Artifact.

{
    "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"
    }
}

Você também pode declarar recursos do Microsoft Graph de beta e v1.0 no mesmo arquivo Bicep adicionando outra referência a uma versão do tipo beta do Registro de Artefatos da Microsoft.

Em main.bicep, digite extension microsoftGraphV1_0, onde microsoftGraphV1_0 é o nome amigável para fazer referência ao pacote de tipos dinâmicos no Registro do Microsoft Artifact. A extension instrução permite que o compilador Bicep saiba que você está incluindo os tipos do Microsoft Graph definidos no bicepconfig.json. Na próxima linha, defina um recurso usando a resource palavra-chave. Digite resource exampleGroup e adicione um espaço.

extension microsoftGraphV1_0

resource exampleGroup

Ao adicionar um espaço após o nome simbólico, uma lista de tipos de recursos será exibida. Continue digitando grupo até que você possa selecionar Microsoft.Graph/Groups nas opções disponíveis.

Captura de tela da seleção de grupos do Microsoft Graph para o tipo de recurso.

Dica

Se você não vir as opções do IntelliSense no VS Code, verifique se instalou a extensão Bicep conforme especificado em Pré-requisitos. Se você tiver instalado a extensão, aguarde algum tempo até que o serviço de linguagem Bicep seja iniciado após abrir o arquivo Bicep. Uma notificação no canto inferior direito indica que o serviço está sendo iniciado. Quando essa notificação desaparecer, o serviço estará em execução.

Depois de selecionar Microsoft.Graph/Groups, você verá as versões de API disponíveis – beta ou v1.0. Sempre selecione v1.0, a menos que ela não esteja disponível ou as propriedades de recurso necessárias estejam disponíveis apenas na versão beta. Para este início rápido, use a v1.0.

Captura de tela da versão selecionada da API para o tipo de recurso.

Adicione = e um espaço após a aspa simples para o tipo de recurso. Você verá as opções para adicionar propriedades ao recurso. Selecione required-properties.

Captura de tela da adição das propriedades necessárias.

Com essa opção, são adicionadas todas as propriedades do tipo de recurso que são necessárias para a implantação. Depois de selecionar essa opção, seu grupo tem as seguintes propriedades:

resource exampleGroup 'Microsoft.Graph/groups@v1.0' = {
  displayName: 
  mailEnabled: 
  mailNickname: 
  securityEnabled: 
  uniqueName: 
}

Forneça valores para essas propriedades, definindo mailEnabled como false e securityEnabled como true. uniqueName representa uma chave imutável fornecida pelo cliente para esse recurso de grupo.

Adicionar um recurso de identidade gerenciada

O VS Code com a extensão Bicep simplifica o desenvolvimento fornecendo snippets predefinidos, como um snippet que cria uma identidade gerenciada. Em main.bicep, digite man e selecione res-managed-identity na lista e pressione [TAB] ou [ENTER].

Captura de tela da adição de um snippet de recurso.

Observação: No momento, não há suporte para snippets de recursos extensíveis, como recursos do Microsoft Graph.

O arquivo Bicep agora contém o código a seguir:

resource managedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2018-11-30' = {
  name: 'name'
  location: location
}

Você pode corrigir o erro de definição de parâmetro ausente adicionando uma definição de parâmetro para location. Na definição de extensão, adicione param location string = resourceGroup().location. Para obter mais informações sobre a função usada aqui, consulte resourceGroup(). Altere o nome da identidade gerenciada de name para exampleManagedIdentity.

Tornar a identidade gerenciada proprietária do recurso de grupo

exampleGroup No recurso, crie uma nova linha em uniqueName, digite ow, que mostra os proprietários como a única opção de propriedade correspondente e, em seguida, pressione [TAB] ou [ENTER].

Captura de tela da adição de uma propriedade do proprietário.

A propriedade owners é uma matriz, portanto, adicione [] e agora faça referência à ID da entidade de segurança da identidade gerenciada usando o intellisense, digitando m e escolhendo managedIdentity (o nome simbólico da identidade gerenciada), digitando um . e escolhendo propriedades, digitando outro . e escolhendo principalId.

Captura de tela da referência à identidade gerenciada.

Seu arquivo main.bicep agora deve ter a seguinte aparência:

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
}

Implantar o arquivo Bicep usando um usuário conectado

Implante o arquivo Bicep entrando na CLI do Azure ou no Azure PowerShell usando os exemplos a seguir. Os exemplos da CLI do Azure nesta documentação usam o console 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

Quando a implantação for concluída, você deverá ver uma mensagem indicando que ela foi bem-sucedida.

Observação

Devido a atrasos de replicação, adicionar a identidade de serviço gerenciado (MSI) como proprietário do grupo do Microsoft Entra pode fazer com que a implantação falhe. Aguarde um pouco e implante o mesmo arquivo Bicep novamente.

Limpar os recursos

Quando os recursos do Azure não forem mais necessários, use o módulo da CLI do Azure ou do Azure PowerShell para excluir o grupo de recursos de início rápido.

Observação

Os grupos de recursos são um conceito do Azure e não têm impacto nos recursos do Microsoft Graph. Os recursos do Microsoft Graph precisam ser limpos com uma solicitação adicional para o Microsoft Graph. Para isso, você pode usar a CLI do Azure ou o Azure PowerShell, a CLI do Microsoft Graph ou o Microsoft Graph PowerShell.

Os exemplos a seguir mostram comandos para excluir o recurso do Azure primeiro e, em seguida, o recurso do Microsoft Graph usando a CLI do Azure e o 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'

Próxima etapa