Uso AWS Secrets Manager in GitLab - AWS Secrets Manager

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Uso AWS Secrets Manager in GitLab

AWS Secrets Manager si integra con GitLab. Puoi sfruttare i segreti di Secrets Manager per proteggere GitLab le tue credenziali in modo che non siano più codificate. GitLab Invece, GitLab Runner recupera questi segreti da Secrets Manager quando l'applicazione esegue un lavoro nelle pipeline GitLab CI/CD.

Per utilizzare questa integrazione, creerai un provider di identità OpenID Connect (OIDC) in IAM AWS Identity and Access Management e un ruolo IAM. Ciò consente a GitLab Runner di accedere al tuo segreto di Secrets Manager. Per ulteriori informazioni su GitLab CI/CD e OIDC, consulta la documentazione. GitLab

Considerazioni

Se utilizzi un' GitLab istanza non pubblica, non puoi utilizzare questa integrazione di Secrets Manager. Consulta invece la GitLab documentazione per le istanze non pubbliche.

Prerequisiti

Per integrare Secrets Manager con GitLab, completa i seguenti prerequisiti:

  1. Crea un segreto AWS Secrets Manager

    Avrai bisogno di un segreto di Secrets Manager che verrà recuperato nel tuo GitLab lavoro ed elimina la necessità di codificare queste credenziali. Avrai bisogno dell'ID segreto di Secrets Manager per configurare la tua GitLab pipeline. Per ulteriori informazioni, consulta Crea un AWS Secrets Manager segreto.

  2. Crea GitLab il tuo provider OIDC nella console IAM.

    In questo passaggio, creerai GitLab il tuo provider OIDC nella console IAM. Per ulteriori informazioni, consulta Create an Identity Provider OpenID Connect (OIDC) e documentazione. GitLab

    Quando crei il provider OIDC nella console IAM, utilizza le seguenti configurazioni:

    1. Imposta il sulla tua provider URL istanza. GitLab Ad esempio, gitlab.example.com.

    2. Imposta audience o aud susts.amazonaws.com.

  3. Crea un ruolo e una policy IAM

    Dovrai creare un ruolo e una policy IAM. Questo ruolo è assunto da GitLab with AWS Security Token Service (STS). Per ulteriori informazioni, consulta Creare un ruolo utilizzando politiche di attendibilità personalizzate.

    1. Nella console IAM, utilizza le seguenti impostazioni durante la creazione del ruolo IAM:

      • Imposta Trusted entity type su Web identity.

      • Imposta Group su your GitLab group.

      • Imposta Identity provider lo stesso URL del provider (l'GitLab istanza) che hai utilizzato nel passaggio 2.

      • AudienceImpostato sullo stesso pubblico utilizzato nel passaggio 2.

    2. Dovrai anche creare una policy IAM per consentire GitLab l'accesso a AWS Secrets Manager. Puoi aggiungere questa politica alla tua politica di fiducia. Per ulteriori informazioni, consulta Creare politiche IAM.

Integrazione con AWS Secrets Manager GitLab

Dopo aver completato i prerequisiti, puoi configurare GitLab l'utilizzo di Secrets Manager per proteggere le tue credenziali.

Configurare la GitLab pipeline per utilizzare Secrets Manager

Dovrai aggiornare il file di configurazione GitLab CI/CD con le seguenti informazioni:

  • Il pubblico del token impostato su STS.

  • L'ID segreto di Secrets Manager.

  • Il ruolo IAM che vuoi che GitLab Runner assuma durante l'esecuzione di lavori nella GitLab pipeline.

  • Il Regione AWS luogo in cui è archiviato il segreto.

GitLab recupera il segreto da Secrets Manager e memorizza il valore in un file temporaneo. Il percorso di questo file è memorizzato in una CI/CD variabile, simile alle variabili CI/CD di tipo file.

Quanto segue è un frammento del file YAML per un file di configurazione CI/CD: GitLab

variables: AWS_REGION: us-east-1 AWS_ROLE_ARN: 'arn:aws:iam::111122223333:role/gitlab-role' job: id_tokens: AWS_ID_TOKEN: aud: 'sts.amazonaws.com' secrets: DATABASE_PASSWORD: aws_secrets_manager: secret_id: "arn:aws:secretsmanager:us-east-1:111122223333:secret:secret-name"

Per ulteriori informazioni, consulta la documentazione sull'integrazione di GitLab Secrets Manager.

Facoltativamente, puoi testare la tua configurazione OIDC in. GitLab Per ulteriori informazioni, GitLab consulta la documentazione per testare la configurazione OIDC.

Risoluzione dei problemi

Quanto segue può aiutarti a risolvere i problemi più comuni che potresti riscontrare durante l'integrazione di Secrets Manager con. GitLab

GitLab Problemi relativi alla pipeline

Se riscontri problemi relativi alla GitLab pipeline, accertati di quanto segue:

Risorse aggiuntive

Le seguenti risorse possono aiutarti a risolvere i problemi relativi a e: GitLab AWS Secrets Manager