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
Ter uma assinatura válida do Azure: se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Instale as ferramentas do Bicep para criação e implantação. Este início rápido usa o VS Code com a extensão Bicep para criação e a CLI do Azure para implantação. Exemplos também são fornecidos para o Azure PowerShell. A versão mínima necessária do Bicep é v0.30.3.
Tenha uma função do Microsoft Entra que atribua permissões para criar um grupo de segurança. Os usuários têm essa permissão por padrão. No entanto, os administradores podem desativar esse padrão e, nesse caso, você precisa receber pelo menos a função de Administrador de Grupos.
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.
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.
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.
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].
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].
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.
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'