기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Jenkins API 토큰
보안 암호 값 필드
다음은 Secrets Manager 보안 암호에 포함되어야 하는 필드입니다.
{
"apiToken": "API token value",
"tokenUuid": "token UUID",
"username": "user that owns the token",
"jenkinsUrl": "https://jenkins.example.com"
}
- apiToken
-
Jenkins API 토큰 값(32~34자의 16진수 문자열). 교체 프로세스는이 필드를 업데이트합니다.
- tokenUuid
-
API 토큰의 범용 고유 식별자(UUID)입니다. 교체는이 UUID를 사용하여 이전 토큰을 취소하고 각 교체 후이 필드를 새 토큰의 UUID로 업데이트합니다.
- 사용자 이름
-
토큰을 소유한 Jenkins 사용자입니다.
- jenkinsUrl
-
Jenkins 인스턴스 URL(예:
https://jenkins.example.com). URL은 HTTPS를 사용해야 하며 후행 슬래시로 끝나지 않아야 합니다.
보안 암호 메타데이터 필드
다음은 Jenkins API 토큰의 메타데이터 필드입니다.
{ "adminSecretArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:JenkinsAdmin" }
- adminSecretArn
-
(선택 사항) 관리자 토큰이 포함된 JenkinsApiToken 유형의 보안 암호에 대한 Amazon 리소스 이름(ARN)입니다. 관리자 토큰은 대상 사용자에 대한 API 토큰을 생성하고 취소할 수 있습니다. 생략하면 토큰이 자체적으로 회전합니다(자체 회전).
사용 흐름
이 교체는 단일 보안(자체 교체) 아키텍처와 2개의 보안(관리자 지원) 아키텍처를 모두 지원합니다. adminSecretArn를 제공하면 관리자 토큰이 대상 사용자의 토큰을 생성하고 취소합니다. 생략하면 현재 토큰이 자동으로 교체됩니다.
보안 암호를 생성하려면 CreateSecret API 호출을 사용합니다. 보안 암호 값을 위에 설명된 필드로 설정하고 보안 암호 유형을 JenkinsApiToken으로 설정합니다. 교체를 구성하려면 RotateSecret API 호출을 사용합니다. RotateSecret 호출에서 보안 암호를 교체할 수 있는 권한을 서비스에 부여하는 역할 ARN을 제공합니다. 권한 정책의 예는 보안 및 권한을 참조하세요. 관리자 지원 교체를 사용하는 경우 교체 역할에 관리자 보안 암호 ARN에 대한 액세스 권한을 명시적으로 부여합니다.
교체 중에 드라이버는 현재 토큰을 검증하고에서 Cross-Site Request Forgery(CSRF) 크럼을 가져옵니다Jenkins. 그런 다음 새 API 토큰을 생성하고 보류 중인 버전으로 저장합니다. Jenkins API에 대해 새 토큰을 확인하고 이를 최신으로 승격한 다음에 의해 이전 토큰을 취소합니다tokenUuid. Secrets Manager 캐싱 라이브러리를 사용하는 애플리케이션은 다음 새로 고침 시 새 토큰을 선택합니다.
Jenkins는 고객 호스팅되므로 Secrets Manager 교체 서비스에서 HTTPS를 통해 Jenkins 인스턴스에 연결할 수 있어야 합니다. 교체 호출은 AWS관리형 접두사 목록에서 시작됩니다com.amazonaws.. 인스턴스의 보안 그룹 또는 방화벽에 있는이 접두사 목록에서 인바운드 액세스를 허용하고 인스턴스가 공개적으로 신뢰할 수 있는 TLS 인증서를 제공하는지 확인합니다. 자세한 내용은 Amazon VPC 사용 설명서의 AWS관리형 접두사 목록을 참조하세요. 퍼블릭 인터넷을 통해 연결할 수 없는 인스턴스는 지원되지 않습니다.region.secretsmanager-managed-external-secrets