Entender os registros de módulo

Concluído

Nesta unidade, você aprenderá o que são registros do Bicep e por que eles são úteis para compartilhar seu código do Bicep. Você também aprenderá a criar um registro para sua própria organização.

Por que você compartilha módulos Bicep?

Quando você trabalha com o Bicep, costuma usar recursos semelhantes repetidamente. Além disso, é comum criar combinações de recursos que você implanta em vários locais. Os módulos Bicep fornecem uma maneira conveniente de criar arquivos Bicep reutilizáveis. Cada módulo normalmente define um conjunto de recursos com uma configuração predefinida.

Um dos benefícios de usar módulos é que você pode compartilhá-los com outras pessoas e pode se beneficiar dos módulos que outras pessoas compartilham com você. Por exemplo, você pode investir tempo na criação e teste de um arquivo Bicep para implantar um conjunto de recursos que você costuma usar juntos. Quando você compartilha o arquivo como um módulo Bicep, seus colegas podem usar o módulo para implantar rapidamente os mesmos recursos.

Um registro do Bicep é o local onde os módulos são armazenados e compartilhados. Qualquer pessoa pode criar seu próprio registro. No futuro, a Microsoft planeja dar suporte à publicação de mais tipos de conteúdo do Bicep em registros, além de módulos.

Dica

A Microsoft mantém um registro público do módulo Bicep. O registro público contém módulos que qualquer pessoa da comunidade pode usar. Com o tempo, o registro público conterá módulos para ajudar a alcançar alguns cenários comuns no Bicep.

Este módulo do Learn se concentra em compartilhar seus próprios módulos usando registros privados. A unidade de resumo tem um link para mais informações sobre o registro público.

Como os registros se comparam às especificações de modelo?

Você pode salvar um modelo do ARM (Azure Resource Manager) como uma especificação de modelo. Uma especificação de modelo é uma maneira de tornar seus modelos reutilizáveis e compartilhá-los por meio de sua organização.

Os módulos armazenados em registros do Bicep e as especificações de modelo são formas de adicionar a reutilização ao seu código de implantação. Mas eles são otimizados para coisas diferentes:

  • Os módulos Bicep devem ser combinados em uma implantação maior. As especificações de modelo foram projetadas para serem implantadas como um modelo completo. Você pode implantar especificações de modelo usando o portal do Azure, bem como ferramentas como a CLI do Azure e o Azure PowerShell. No entanto, se você tiver criado uma especificação de modelo, o Bicep também permitirá usá-la como um módulo, se você desejar.
  • As especificações de modelo são armazenadas no Azure como recursos. Os módulos em registros são armazenados como artefatos de contêineres.
  • As especificações do modelo fornecem recursos de controle de acesso. Ao trabalhar com um registro privado, você precisa controlar o acesso aos seus módulos de outras maneiras. Você aprenderá mais sobre controle de acesso em uma unidade posterior.

Quando você está decidindo entre especificações de modelo e módulos Bicep, uma boa regra geral é: se o modelo for implantado como está em toda a sua organização, as especificações de modelo provavelmente serão uma boa medida. Mas se você tiver a probabilidade de reutilizar esse modelo em vários modelos pai, os módulos Bicep poderão atender melhor às suas necessidades. Um registro é uma boa maneira de compartilhar módulos.

Registros privados

Os registros do Bicep são criados em uma tecnologia chamada registros de contêiner.

Se a sua organização usa o Kubernetes ou outra tecnologia de conteinerização, talvez você já tenha familiaridade com registros. No entanto, você não precisa usar contêineres ou o Kubernetes para trabalhar com o Bicep. Os registros fornecem uma forma genérica e conveniente de armazenar e compartilhar artefatos. Considere-os como sendo análogos às contas de armazenamento.

Atualmente, o Bicep dá suporte ao Registro de Contêiner do Azure. No futuro, a Microsoft planeja dar suporte a outros registros, como Docker Hub.

O Registro de Contêiner do Azure fornece várias camadas de serviço, com diferentes recursos e limites. Ao provisionar seu próprio registro, você precisará selecionar a camada que atenda às suas necessidades. Há links para mais informações na unidade de resumo.

Em breve, você aprenderá a publicar módulos em um registro.

Dica

No Registro de Contêiner do Azure, um módulo é chamado de repositório. Não confunda isso com um repositório Git. Os termos são os mesmos, mas o significado é diferente.

Controle de acesso

Como o Registro de Contêiner do Azure fornece um registro privado para sua organização, você pode controlar quem tem acesso a ele. O Registro de Contêiner do Azure fornece várias opções para gerenciar o acesso, incluindo o Microsoft Entra ID e as chaves que você emite para usuários individuais.

Quando você trabalha com o Bicep, a abordagem mais fácil é usar a autenticação do Microsoft Entra. O Bicep detecta automaticamente a identidade do Microsoft Entra que você usa na CLI do Azure ou no Azure PowerShell, para que você não precise entrar novamente. Você verá como a autenticação funciona no próximo exercício. Ao usar um registro de módulo Bicep de um pipeline, você usa um tipo especial de identidade chamado entidade de serviço.

Você pode controlar separadamente quem tem permissão para gravar módulos no registro e quem tem permissão para ler módulos.