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á.
Use AWS Secrets Manager em GitLab
AWS Secrets Manager integra-se com GitLab. Você pode aproveitar os segredos do Secrets Manager para proteger suas GitLab credenciais para que elas não sejam mais codificadas. GitLab Em vez disso, o GitLab Runner
Para usar essa integração, você criará um provedor de identidade OpenID Connect (OIDC) no IAM AWS Identity and Access Management e uma função do IAM. Isso permite que o GitLab Runner acesse seu segredo do Secrets Manager. Para obter mais informações sobre GitLab CI/CD e OIDC, consulte a documentação. GitLab
Considerações
Se você estiver usando uma GitLab instância não pública, não poderá usar essa integração com o Secrets Manager. Em vez disso, consulte a GitLab documentação de instâncias não públicas
Pré-requisitos
Para integrar o Secrets Manager com GitLab, preencha os seguintes pré-requisitos:
-
Crie um AWS Secrets Manager segredo
Você precisará de um segredo do Secrets Manager que será recuperado em seu GitLab trabalho e eliminará a necessidade de codificar essas credenciais. Você precisará do ID secreto do Secrets Manager ao configurar seu GitLab pipeline. Consulte Crie um AWS Secrets Manager segredo para obter mais informações.
-
Crie GitLab seu provedor OIDC no console do IAM.
Nesta etapa, você criará GitLab seu provedor OIDC no console do IAM. Para obter mais informações, consulte Criar um provedor de identidade e documentação do OpenID Connect (OIDC). GitLab
Ao criar o provedor OIDC no console do IAM, use as seguintes configurações:
-
Defina o
provider URL
para sua GitLab instância. Por exemplo, .gitlab.example.com
-
Defina o
audience
ouaud
parasts.amazonaws.com
.
-
-
Criar uma política e um perfil do IAM
Você precisará criar uma função e uma política do IAM. Essa função é assumida por GitLab with AWS Security Token Service (STS). Consulte Criar uma função usando políticas de confiança personalizadas para obter mais informações.
-
No console do IAM, use as seguintes configurações ao criar a função do IAM:
-
Defina
Trusted entity type
comoWeb identity
. -
Defina
Group
comoyour GitLab group
. -
Identity provider
Defina com o mesmo URL do provedor (a GitLab instância) que você usou na etapa 2. -
Audience
Defina para o mesmo público que você usou na etapa 2.
-
Você também precisará criar uma política do IAM para permitir o GitLab acesso AWS Secrets Manager a. Você pode adicionar essa política à sua política de confiança. Para obter mais informações, consulte Criar políticas do IAM.
-
Integrando com AWS Secrets Manager GitLab
Depois de concluir os pré-requisitos, você pode configurar GitLab para usar o Secrets Manager para proteger suas credenciais.
Configurar o GitLab pipeline para usar o Secrets Manager
Você precisará atualizar seu arquivo de configuração de GitLab CI/CD
-
O público do token definido como STS.
-
O ID secreto do Secrets Manager.
-
A função do IAM que você deseja que o GitLab Runner assuma ao executar trabalhos no GitLab pipeline.
-
O Região da AWS local onde o segredo está armazenado.
GitLab busca o segredo do Secrets Manager e armazena o valor em um arquivo temporário. O caminho para esse arquivo é armazenado em uma CI/CD variável, semelhante às variáveis CI/CD do tipo de arquivo
Veja a seguir um trecho do arquivo YAML para um arquivo de configuração GitLab CI/CD:
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
"
Para obter mais informações, consulte a documentação de integração do GitLab Secrets Manager
Opcionalmente, você pode testar sua configuração do OIDC em. GitLab Consulte a GitLab documentação para testar a configuração do OIDC
Solução de problemas
O seguinte pode ajudá-lo a solucionar problemas comuns que você pode encontrar ao integrar o Secrets Manager com o. GitLab
GitLab Problemas de tubulação
Se você tiver problemas no GitLab pipeline, verifique o seguinte:
-
Seu arquivo YAML está formatado corretamente. Para obter mais informações, consulte a documentação da GitLab
. -
Seu GitLab funil está assumindo a função correta, tem as permissões apropriadas e acesso ao AWS Secrets Manager segredo correto.
Recursos adicionais
Os recursos a seguir podem ajudá-lo a solucionar problemas com GitLab e AWS Secrets Manager: