Como usar autenticação OIDC com pipelines do AWS SAM - AWS Serverless Application Model

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como usar autenticação OIDC com pipelines do AWS SAM

O AWS Serverless Application Model (AWS SAM) oferece suporte à autenticação de usuário do OpenID Connect (OIDC) para plataformas de integração contínua e entrega contínua (CI/CD) do Bitbucket, GitHub Actions e GitLab. Com esse suporte, você pode usar contas de usuário autorizadas de CI/CD de qualquer uma dessas plataformas para gerenciar seus pipelines de aplicativos com tecnologia sem servidor. Caso contrário, você precisaria criar e gerenciar vários usuários do IAM AWS Identity and Access Management para controlar o acesso aos pipelines AWS SAM.

Configurar o OIDC com pipeline AWS SAM

Durante o processo de configuração do sam pipeline bootstrap, faça o seguinte para configurar o OIDC com seu pipeline AWS SAM.

  1. Quando solicitado a escolher um provedor de identidade, selecione OIDC.

  2. Em seguida, selecione um provedor OIDC compatível.

  3. Insira a URL do provedor OIDC, começando com https://.

    nota

    O AWS SAM faz referência a esse URL quando ele gera o tipo de recurso AWS::IAM::OIDCProvider.

  4. Em seguida, siga as instruções e insira as informações da plataforma CI/CD necessárias para acessar a plataforma selecionada. Esses detalhes variam de acordo com a plataforma e podem incluir:

    • ID do cliente do OIDC.

    • Nome do repositório do código ou identificador universalmente exclusivo (UUUID).

    • O nome do grupo ou da organização associada ao repositório.

    • Organização do GitHub à qual o repositório de código pertence.

    • Nome do repositório do GitHub.

    • Filial a partir da qual as implantações ocorrerão.

  5. O AWS SAM exibe um resumo da configuração do OIDC inserida. Insira o número de uma configuração para editá-la ou pressione Enter para continuar.

  6. Quando solicitado a confirmar a criação dos recursos necessários para suportar a conexão OIDC inserida, pressione Y para continuar.

O AWS SAM gera um recurso AWS::IAM::OIDCProvider AWS CloudFormation com a configuração fornecida que assume a função de execução do pipeline. Para saber mais sobre esse CloudFormationtipo de recurso, consulte AWS::IAM::OIDCProvider no AWS CloudFormation Guia do usuário.

nota

Se o recurso do provedor de identidade (IdP) já existir no seu Conta da AWS, AWS SAM faça referência a ele em vez de criar um novo recurso.

Exemplo

A seguir está um exemplo de configuração do OIDC com pipeline AWS SAM.

Select a permissions provider:
    1 - IAM (default)
    2 - OpenID Connect (OIDC)
Choice (1, 2): 2
Select an OIDC provider:
    1 - GitHub Actions
    2 - GitLab
    3 - Bitbucket
Choice (1, 2, 3): 1
Enter the URL of the OIDC provider [https://token.actions.githubusercontent.com]:
Enter the OIDC client ID (sometimes called audience) [sts.amazonaws.com]:
Enter the GitHub organization that the code repository belongs to. If there is no organization enter your username instead: my-org
Enter GitHub repository name: testing
Enter the name of the branch that deployments will occur from [main]:

[3] Reference application build resources
Enter the pipeline execution role ARN if you have previously created one, or we will create one for you []:
Enter the CloudFormation execution role ARN if you have previously created one, or we will create one for you []:
Please enter the artifact bucket ARN for your Lambda function. If you do not have a bucket, we will create one for you []:
Does your application contain any IMAGE type Lambda functions? [y/N]:

[4] Summary
Below is the summary of the answers:
    1 - Account: 123456
    2 - Stage configuration name: dev
    3 - Region: us-east-1
    4 - OIDC identity provider URL: https://token.actions.githubusercontent.com
    5 - OIDC client ID: sts.amazonaws.com
    6 - GitHub organization: my-org
    7 - GitHub repository: testing
    8 - Deployment branch: main
    9 - Pipeline execution role: [to be created]
    10 - CloudFormation execution role: [to be created]
    11 - Artifacts bucket: [to be created]
    12 - ECR image repository: [skipped]
Press enter to confirm the values above, or select an item to edit the value:

This will create the following required resources for the 'dev' configuration:
    - IAM OIDC Identity Provider
    - Pipeline execution role
    - CloudFormation execution role
    - Artifact bucket
Should we proceed with the creation? [y/N]:

Saiba mais

Para obter mais informações sobre como usar a OIDC com o pipeline AWS SAM, consulte sam pipeline bootstrap.