기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
GitLab AWS Secrets Manager 에서 사용
AWS Secrets Manager 는 GitLab과 통합됩니다. Secrets Manager 보안 암호를 활용하여 GitLab에서 더 이상 하드코딩되지 않도록 GitLab 자격 증명을 보호할 수 있습니다. 대신 GitLab Runner
이 통합을 사용하려면 IAM 및 IAM 역할에 OpenID Connect(OIDC) 자격 증명 공급자 AWS Identity and Access Management 를 생성합니다. 이렇게 하면 GitLab Runner가 Secrets Manager 보안 암호에 액세스할 수 있습니다. GitLab CI/CD 및 OIDC에 대한 자세한 내용은 GitLab 설명서를
고려 사항
비공개 GitLab 인스턴스를 사용하는 경우이 Secrets Manager 통합을 사용할 수 없습니다. 대신 비공개 인스턴스에 대한 GitLab 설명서를
사전 조건
Secrets Manager를 GitLab과 통합하려면 다음 사전 조건을 완료합니다.
-
AWS Secrets Manager 보안 암호 생성
GitLab 작업에서 검색되고 이러한 자격 증명을 하드 코딩할 필요가 없는 Secrets Manager 보안 암호가 필요합니다. GitLab 파이프라인을 구성할 때 Secrets Manager 보안 암호 ID가 필요합니다. 자세한 정보는 AWS Secrets Manager 보안 암호 생성을 참조하세요.
-
IAM 콘솔에서 GitLab을 OIDC 공급자로 설정합니다.
이 단계에서는 IAM 콘솔에서 GitLab을 OIDC 공급자로 설정합니다. 자세한 내용은 OpenID Connect(OIDC) 자격 증명 공급자 생성 및 GitLab 설명서를
참조하세요. IAM 콘솔에서 OIDC 공급자를 생성할 때 다음 구성을 사용합니다.
-
를 GitLab 인스턴스
provider URL
로 설정합니다. 예를 들어gitlab.example.com
입니다. -
audience
또는를aud
로 설정합니다sts.amazonaws.com
.
-
-
IAM 역할 및 정책 생성
IAM 역할 및 정책을 생성해야 합니다. 이 역할은 GitLab with AWS Security Token Service (STS)에서 수임합니다. 자세한 내용은 사용자 지정 신뢰 정책을 사용하여 역할 생성을 참조하세요.
-
IAM 콘솔에서 IAM 역할을 생성할 때 다음 설정을 사용합니다.
-
Trusted entity type
을Web identity
으로 설정합니다. -
Group
를your GitLab group
로 설정합니다. -
Identity provider
를 2단계에서 사용한 것과 동일한 공급자 URL(GitLab 인스턴스)로 설정합니다. -
2단계에서 사용한 것과 동일한 대상으로
Audience
설정합니다.
-
또한 GitLab 액세스를 허용하려면 IAM 정책을 생성해야 합니다 AWS Secrets Manager. 이 정책을 신뢰 정책에 추가할 수 있습니다. 자세한 내용은 IAM 정책 생성을 참조하세요.
-
GitLab AWS Secrets Manager 과 통합
사전 조건을 완료한 후 Secrets Manager를 사용하여 자격 증명을 보호하도록 GitLab을 구성할 수 있습니다.
Secrets Manager를 사용하도록 GitLab 파이프라인 구성
GitLab CI/CD 구성 파일을
-
STS로 설정된 토큰의 대상입니다.
-
Secrets Manager 보안 암호 ID입니다.
-
GitLab 파이프라인에서 작업을 실행할 때 GitLab Runner가 수임할 IAM 역할입니다.
-
보안 암호가 저장 AWS 리전 되는 입니다.
GitLab은 Secrets Manager에서 암호를 가져와 임시 파일에 값을 저장합니다. 이 파일의 경로는 파일 유형 CI/CD 변수와 유사한 CI/CD 변수
다음은 GitLab CI/CD 구성 파일의 YAML 파일 조각입니다.
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
"
자세한 내용은 GitLab Secrets Manager 통합 설명서를
선택적으로 GitLab에서 OIDC 구성을 테스트할 수 있습니다. 자세한 내용은 OIDC 구성 테스트에 대한 GitLab 설명서를
문제 해결
다음은 Secrets Manager를 GitLab과 통합할 때 발생할 수 있는 일반적인 문제를 해결하는 데 도움이 될 수 있습니다.
GitLab 파이프라인 문제
GitLab 파이프라인 문제가 발생하는 경우 다음을 확인하세요.
-
YAML 파일의 형식이 올바르게 지정되었습니다. 자세한 내용은 GitLab 설명서를
참조하세요. -
GitLab 파이프라인이 올바른 역할을 수임하고, 적절한 권한을 가지며, 올바른 AWS Secrets Manager 보안 암호에 액세스합니다.
추가 리소스
다음 리소스는 GitLab 및 관련 문제를 해결하는 데 도움이 될 수 있습니다. AWS Secrets Manager