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à.
Utilizzo AWS Secrets Manager nel 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
Per utilizzare questa integrazione, creerai un provider di identità OpenID Connect (OIDC) in IAM e un ruolo IAM. AWS Identity and Access Management Ciò consente a GitLab Runner di accedere al tuo segreto di Secrets Manager. Per ulteriori informazioni su GitLab CI/CD e sull'OIDC, consulta la documentazione. GitLab
Considerazioni
Se stai usando un' GitLab istanza non pubblica, non puoi usare 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:
-
Crea un AWS Secrets Manager Secret
Avrai bisogno di un segreto di Secrets Manager che verrà recuperato durante il tuo GitLab lavoro ed elimina la necessità di codificare queste credenziali. Avrai bisogno dell'ID segreto di Secrets Manager per configurare la pipeline. GitLab Per ulteriori informazioni, consulta Crea un AWS Secrets Manager Secret.
-
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 la documentazione e la documentazione relative alla creazione di un provider di identità OpenID Connect (OIDC). GitLab
Quando crei il provider OIDC nella console IAM, utilizza le seguenti configurazioni:
-
Impostalo sulla tua
provider URListanza. GitLab Ad esempio,gitlab.example.com. -
Imposta
audienceoaudsusts.amazonaws.com.
-
-
Crea un ruolo e una policy IAM
Dovrai creare un ruolo e una policy IAM. Questo ruolo è assunto da GitLab with Servizio di token di sicurezza AWS (STS). Per ulteriori informazioni, vedere Creare un ruolo utilizzando criteri di fiducia personalizzati.
-
Nella console IAM, utilizza le seguenti impostazioni per creare il ruolo IAM:
-
Imposta
Trusted entity typesuWeb identity. -
Imposta
Groupsuyour GitLab group. -
Identity providerImposta lo stesso URL del provider (l'GitLab istanza) utilizzato nel passaggio 2. -
AudienceImposta lo stesso pubblico utilizzato nel passaggio 2.
-
-
Di seguito è riportato un esempio di politica di fiducia che consente di GitLab assumere ruoli. La tua politica di fiducia dovrebbe elencare Account AWS il tuo GitLab URL e il percorso del progetto
. -
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRoleWithWebIdentity", "Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/gitlab.example.com" }, "Condition": { "StringEquals": { "gitlab.example.com:aud": [ "sts.amazon.com" ] }, "StringLike": { "gitlab.example.com:sub": [ "project_path:mygroup/project-*:ref_type:branch-*:ref:main*" ] } } } ] }
-
Dovrai inoltre 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 Creazione di politiche IAM.
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:your-secret" } ] }
-
Integrazione AWS Secrets Manager con GitLab
Dopo aver completato i prerequisiti, puoi configurare GitLab l'uso di Secrets Manager per proteggere le tue credenziali.
Configura la GitLab pipeline per utilizzare Secrets Manager
Dovrai aggiornare il tuo file GitLab CI/CD di configurazione
-
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 dei 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 CI/CD variabili https://docs.gitlab.com/ci/variables/#use-file-type-cicd-variables
Di seguito è riportato un frammento del file YAML per un file di configurazione: GitLab CI/CD
variables: AWS_REGION:us-east-1AWS_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 con la GitLab pipeline, assicurati di quanto segue:
-
Il file YAML è formattato correttamente. Per ulteriori informazioni, consulta la documentazione di GitLab
. -
La tua GitLab pipeline sta assumendo il ruolo corretto, dispone delle autorizzazioni appropriate e ha accesso al segreto corretto. AWS Secrets Manager
Risorse aggiuntive
Le seguenti risorse possono aiutarti a risolvere i problemi relativi a e: GitLab AWS Secrets Manager