기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
GitLab 액세스 토큰
보안 암호 값 필드
다음은 Secrets Manager 보안 암호에 포함되어야 하는 필드입니다.
{
"token": "GitLab access token value",
"tokenId": "numeric token ID",
"gitlabUrl": "GitLab instance URL",
"projectId": "project ID (optional)",
"groupId": "group ID (optional)"
}
- token
-
GitLab 액세스 토큰 값(로 시작
glpat-). 교체되는 필드입니다. - tokenId
-
숫자 토큰 ID입니다. 각 교체를 새 토큰의 ID로 업데이트했습니다.
- gitlabUrl
-
GitLab 인스턴스 URL(예:
https://gitlab.com). HTTPS를 사용해야 합니다. - projectId
-
(선택 사항) 숫자 프로젝트 ID입니다. 프로젝트 액세스 토큰에만를 제공합니다.
- groupId
-
(선택 사항) 숫자 그룹 ID입니다. 그룹 액세스 토큰에만를 제공합니다.
보안 암호 메타데이터 필드
다음은 GitLab 액세스 토큰의 메타데이터 필드입니다.
{ "adminSecretArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:GitLabAdmin", "daysToExpiry": "30 (optional)" }
- adminSecretArn
-
(선택 사항)이 보안 암호를 교체하는 데 사용되는 API 범위의 GitLab 액세스 토큰이 포함된 GitLabAccessToken 유형의 보안 암호에 대한 Amazon 리소스 이름(ARN)입니다. GitLab 생략하면 토큰이 자동으로 교체됩니다(
api또는self_rotate범위 필요). 프로젝트 토큰의 경우 관리자 토큰에는 프로젝트에 대한 관리자 역할이 필요합니다. 그룹 토큰의 경우 그룹에 소유자 역할이 필요합니다. - daysToExpiry
-
(선택 사항) 새 토큰이 만료될 때까지의 일수(1~365). GitLab 교체 API의
expires_at필드에 매핑됩니다. 생략하면 새 토큰이 인스턴스 기본 만료를 상속합니다.
사용 흐름
이 교체는 단일 보안(자체 교체) 아키텍처와 2개의 보안(관리자 지원) 아키텍처를 모두 지원합니다. 토큰 범위는 선택적 projectId 및 groupId 필드에 따라 결정됩니다. 두 필드 모두 없는 경우 토큰은 개인 액세스 토큰입니다. projectId이 있는 경우 토큰은 프로젝트 액세스 토큰입니다. groupId이 있는 경우 토큰은 그룹 액세스 토큰입니다.
CreateSecret 호출을 사용하여 보안 암호를 생성합니다. 보안 암호 값을 위에 설명된 필드로 설정하고 보안 암호 유형을 GitLabAccessToken으로 설정합니다. 교체를 구성하려면 RotateSecret 호출을 사용합니다. 보안 암호를 교체하는 데 필요한 권한을 서비스에 부여하는 역할 ARN을 제공합니다. 권한 정책의 예는 보안 및 권한을 참조하세요.
관리자 지원 교체를 사용하는 경우 관리자 보안 암호도 유형입니다GitLabAccessToken. 관리자 보안 암호에 대한 교체 역할 액세스 권한을 명시적으로 제공해야 합니다. 역할 정책에서 직접 관리자 보안 암호 ARN에 범위가 지정된 문을 추가하여이 작업을 수행할 수 있습니다.
교체 중에 드라이버는 현재 토큰이 활성 상태인지 확인합니다. 그런 다음 GitLab 교체 엔드포인트를 호출하여 원자적으로 새 토큰을 생성하고 이전 토큰을 취소합니다. Secrets Manager는 새 토큰 값과 ID를 AWSPENDING으로 저장하고 GitLab API를 통해 확인한 다음 AWSCURRENT로 승격합니다. Secrets Manager 캐싱 라이브러리를 사용하는 애플리케이션은 다음 새로 고침 시 새 토큰을 자동으로 선택합니다.