Implantar políticas personalizadas com o GitHub Actions
O GitHub Actions permite a criação de fluxos de trabalho de CI (integração contínua) e de CD (implantação contínua) diretamente no seu repositório do GitHub. Este artigo descreve como automatizar o processo de implantação das políticas personalizadas do Azure AD B2C (Azure Active Directory B2C) usando o GitHub Actions.
Para automatizar o processo de implantação de política personalizada, use a Ação do GitHub para implantar políticas personalizadas do Azure AD B2C. Esta ação do GitHub foi desenvolvida pela Comunidade do Azure AD B2C.
Essa ação implanta políticas personalizadas Azure AD B2C em seu locatário do Azure AD B2C usando a API do Microsoft Graph. Se a política ainda não existir em seu locatário, ela será criada. Caso contrário, ela será substituída.
Importante
Atualmente, o gerenciamento de políticas personalizadas do Azure AD B2C com o Azure Pipelines usa operações de versão prévia disponíveis no ponto de extremidade /beta
da API do Microsoft Graph. Não há suporte para o uso dessas APIs em aplicativos de produção. Para obter mais informações, consulte a referência de ponto de extremidade beta da API REST do Microsoft Graph.
Pré-requisitos
- Conclua as etapas em Introdução às políticas personalizadas no Active Directory B2C.
- Caso ainda não tenha criado um repositório GitHub, crie-o.
Selecionar uma pasta de políticas personalizadas
Seu repositório GitHub pode conter todos os seus arquivos de política do Azure AD B2C e outros ativos. No diretório raiz do repositório, crie ou escolha uma pasta existente que contenha suas políticas personalizadas.
Por exemplo, selecione uma pasta chamada políticas. Adicione os arquivos de política personalizados do Azure AD B2C à pasta de políticas. Confirme as alterações.
Não efetue push das alterações. Você fará isso mais tarde, depois de configurar o fluxo de trabalho de implantação.
Registrar um aplicativo Microsoft Graph
Para que a ação do GitHub possa interagir com a API do Microsoft Graph, crie um registro de aplicativo no seu locatário do Azure AD B2C. Se você ainda não fez isso, registre um aplicativo do Microsoft Graph.
Para que sua ação do GitHub acesse dados no Microsoft Graph, conceda ao aplicativo registrado as permissões de aplicativo relevantes. Conceda a permissão Microsoft Graph>Policy>Policy.ReadWrite.TrustFramework em Permissões de API do registro de aplicativo.
Criar um segredo criptografado do GitHub
Os segredos do GitHub são variáveis de ambiente criptografadas que você cria em uma organização, repositório ou ambiente de repositório. Nesta etapa, você armazena o segredo de aplicativo para o aplicativo registrado anteriormente na etapa Registrar um aplicativo do MS Graph.
A ação do GitHub para implantar políticas personalizadas do Azure AD B2C usa o segredo para adquirir um token de acesso que é então usado para interagir com a API do Microsoft Graph. Para obter mais informações, consulte Criar segredos criptografados para um repositório.
Para criar um segredo do GitHub, siga estas etapas:
- No GitHub, acesse a página principal do repositório.
- No nome do seu repositório, selecione Configurações.
- Clique em Segredos na barra lateral esquerda.
- Selecione Novo segredo de repositório.
- Em Nome, digite ClientSecret.
- Em Valor, insira o segredo do aplicativo que você criou anteriormente.
- Selecione Adicionar segredo.
Criar um fluxo de trabalho do GitHub
O fluxo de trabalho do GitHub é um processo automatizado que você adiciona ao seu repositório. Os fluxos de trabalho são formados por um ou mais trabalhos e podem ser agendados ou disparados por um evento. Nesta etapa, você vai criar um fluxo de trabalho para implantar a sua política personalizada.
Para criar um fluxo de trabalho, siga estas etapas:
No GitHub, acesse a página principal do repositório.
No nome do seu repositório, selecione Ações.
Se você não tiver configurado um fluxo de trabalho anteriormente, selecione Configurar um fluxo de trabalho por conta própria. Caso contrário, selecione Novo fluxo de trabalho.
O GitHub oferece a opção de criar um arquivo de fluxo de trabalho com o nome de
main.yml
na pasta.github/workflows
. Esse arquivo contém informações sobre o fluxo de trabalho, tais como o seu ambiente do Azure AD B2C e as políticas personalizadas a serem implantadas. No editor Web do GitHub, adicione o seguinte código YAML:on: push env: clientId: 00001111-aaaa-2222-bbbb-3333cccc4444 tenant: your-tenant.onmicrosoft.com jobs: build-and-deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: 'Upload TrustFrameworkBase Policy' uses: azure-ad-b2c/deploy-trustframework-policy@v3 with: folder: "./Policies" files: "TrustFrameworkBase.xml,TrustFrameworkLocalization.xml,TrustFrameworkExtensions.xml,SignUpOrSignin.xml" tenant: ${{ env.tenant }} clientId: ${{ env.clientId }} clientSecret: ${{ secrets.clientSecret }}
Atualize as seguintes propriedades do arquivo YAML:
Seção Nome Valor env
clientId
ID do aplicativo (cliente) referente ao aplicativo registrado na etapa Registrar um aplicativo do MS Graph. env
tenant
Seu nome de locatário no Azure AD B2C (por exemplo, contoso.onmicrosoft.com). with
folder
Uma pasta onde os arquivos de políticas personalizadas estão armazenados, por exemplo, ./Policies
.with
files
Lista delimitada por vírgulas de arquivos de política a serem implantados, por exemplo, TrustFrameworkBase.xml,TrustFrameworkLocalization.xml,TrustFrameworkExtensions.xml,SignUpOrSignin.xml
.Importante
Ao executar os agentes e carregar os arquivos de política, verifique se eles foram carregados na ordem correta:
- TrustFrameworkBase.xml
- TrustFrameworkLocalization.xml
- TrustFrameworkExtensions.xml
- SignUpOrSignin.xml
- ProfileEdit.xml
- PasswordReset.xml
Selecione Confirmar início.
Abaixo dos campos de mensagem de confirmação, indique se você quer adicionar a confirmação a uma ramificação atual ou a uma nova ramificação. Selecione Confirmar novo arquivo, ou Propor novo arquivo para criar uma solicitação de pull.
Testar seu fluxo de trabalho
Para testar o fluxo de trabalho que você criou, Efetue push nas mudanças da sua política personalizada. Depois que o trabalho começar a ser executado, você poderá ver um grafo de visualização do progresso da execução e exibir a atividade de cada etapa no GitHub.
No GitHub, acesse a página principal do repositório.
No nome do seu repositório, selecione Ações.
Na barra lateral esquerda, selecione o fluxo de trabalho que você criou.
Em Execuções de fluxos de trabalho, selecione o nome da execução que você deseja exibir.
Em Trabalhos ou no grafo de visualização, selecione o trabalho que você deseja exibir.
Exiba os resultados detalhados de cada etapa. A captura de tela a seguir demonstra o log das etapas da Política personalizada de upload.
Opcional: agendar seu fluxo de trabalho
O fluxo de trabalho que você criou é disparado por um evento push. Se preferir, você poderá escolher outro evento para disparar o fluxo de trabalho, por exemplo, uma solicitação de pull.
Você também pode agendar um fluxo de trabalho para ser executado em horários UTC específicos usando a sintaxe POSIX cron. O agendamento de eventos permite disparar um fluxo de trabalho em um horário agendado. Para saber mais, confira Eventos agendados.
O exemplo a seguir dispara o fluxo de trabalho todos os dias às 5:30 e 17:30 UTC:
on:
schedule:
# * is a special character in YAML so you have to quote this string
- cron: '30 5,17 * * *'
Para editar seu fluxo de trabalho:
No GitHub, acesse a página principal do repositório.
No nome do seu repositório, selecione Ações.
Na barra lateral esquerda, selecione o fluxo de trabalho que você criou.
Em Execuções de fluxos de trabalho, selecione o nome da execução que você deseja exibir.
No menu, selecione os três pontos ... e então selecione Exibir o arquivo do fluxo de trabalho.
No editor Web do GitHub, selecione Editar.
Altere
on: push
para o exemplo acima.Confirme suas alterações.
Próximas etapas
- Saiba como configurar Eventos que disparam fluxos de trabalho