Cómo utilizar la autenticación OIDC con canalizaciones AWS SAM - AWS Serverless Application Model

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cómo utilizar la autenticación OIDC con canalizaciones AWS SAM

AWS Serverless Application Model (AWS SAM) admite la autenticación de usuarios de OpenID Connect (OIDC) para Bitbucket, GitHub Actions y plataformas de integración GitLab continua y entrega continua (CI/CD). Con este soporte, puede usar cuentas de usuario de CI/CD autorizadas de cualquiera de estas plataformas para administrar sus canalizaciones de aplicaciones sin servidor. De lo contrario, tendrías que crear y gestionar varios usuarios AWS Identity and Access Management (IAM) para controlar el acceso a las canalizaciones. AWS SAM

Configure OIDC con Pipeline AWS SAM

Durante el proceso sam pipeline bootstrap de configuración, haz lo siguiente para configurar el OIDC con tu canalización. AWS SAM

  1. Cuando se le pida que elija un proveedor de identidad, seleccione OIDC.

  2. A continuación, seleccione un proveedor de OIDC compatible.

  3. Introduzca la URL del proveedor del OIDC, empezando por https://.

    nota

    AWS SAM hace referencia a esta URL cuando genera el tipo de AWS::IAM::OIDCProvider recurso.

  4. A continuación, siga las instrucciones e introduzca la información de la plataforma CI/CD necesaria para acceder a la plataforma seleccionada. Estos detalles varían según la plataforma y pueden incluir:

    • ID de cliente OIDC

    • Nombre del repositorio de código o identificador único universal (UUID)

    • Nombre del grupo o de la organización asociado con el repositorio

    • GitHub organización a la que pertenece el repositorio de código.

    • GitHub nombre del repositorio.

    • Ramificación desde la que se realizarán las implementaciones.

  5. AWS SAM muestra un resumen de la configuración OIDC introducida. Introduzca el número de una configuración para editarlo o pulse Enter para continuar.

  6. Cuando se le pida que confirme la creación de los recursos necesarios para admitir la conexión OIDC introducida, pulse Y para continuar.

AWS SAM genera un AWS::IAM::OIDCProvider AWS CloudFormation recurso con la configuración proporcionada que asume la función de ejecución de la canalización. Para obtener más información sobre este tipo de recurso AWS CloudFormation , consulte AWS::IAM::OIDCProvider en la Guía del usuario de AWS CloudFormation .

nota

Si el recurso del proveedor de identidad (IdP) ya existe en su cuenta Cuenta de AWS, AWS SAM haga referencia a él en lugar de crear uno nuevo.

Ejemplo

El siguiente es un ejemplo de cómo configurar el OIDC con 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]:

Más información

Para obtener más información sobre el uso de OIDC con AWS SAM Pipeline, consulte. sam pipeline bootstrap