

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Jenkins API 토큰
<a name="mes-partner-JenkinsApiToken"></a>

## 보안 암호 값 필드
<a name="w2aac27c11c25b3"></a>

다음은 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를 사용해야 하며 후행 슬래시로 끝나지 않아야 합니다.

## 보안 암호 메타데이터 필드
<a name="w2aac27c11c25b5"></a>

다음은 Jenkins API 토큰의 메타데이터 필드입니다.

```
{
  "adminSecretArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:{{JenkinsAdmin}}"
}
```

adminSecretArn  
(선택 사항) 관리자 토큰이 포함된 JenkinsApiToken 유형의 보안 암호에 대한 Amazon 리소스 이름(ARN)입니다. 관리자 토큰은 대상 사용자에 대한 API 토큰을 생성하고 취소할 수 있습니다. 생략하면 토큰이 자체적으로 회전합니다(자체 회전).

## 사용 흐름
<a name="w2aac27c11c25b7"></a>

이 교체는 단일 보안(자체 교체) 아키텍처와 2개의 보안(관리자 지원) 아키텍처를 모두 지원합니다. `adminSecretArn`를 제공하면 관리자 토큰이 대상 사용자의 토큰을 생성하고 취소합니다. 생략하면 현재 토큰이 자동으로 교체됩니다.

보안 암호를 생성하려면 [CreateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html) API 호출을 사용합니다. 보안 암호 값을 위에 설명된 필드로 설정하고 보안 암호 유형을 JenkinsApiToken으로 설정합니다. 교체를 구성하려면 [RotateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_RotateSecret.html) API 호출을 사용합니다. RotateSecret 호출에서 보안 암호를 교체할 수 있는 권한을 서비스에 부여하는 역할 ARN을 제공합니다. 권한 정책의 예는 [보안 및 권한을 참조하세요](mes-security.md). 관리자 지원 교체를 사용하는 경우 교체 역할에 관리자 보안 암호 ARN에 대한 액세스 권한을 명시적으로 부여합니다.

교체 중에 드라이버는 현재 토큰을 검증하고에서 Cross-Site Request Forgery(CSRF) 크럼을 가져옵니다Jenkins. 그런 다음 새 API 토큰을 생성하고 보류 중인 버전으로 저장합니다. Jenkins API에 대해 새 토큰을 확인하고 이를 최신으로 승격한 다음에 의해 이전 토큰을 취소합니다`tokenUuid`. Secrets Manager 캐싱 라이브러리를 사용하는 애플리케이션은 다음 새로 고침 시 새 토큰을 선택합니다.

Jenkins는 고객 호스팅되므로 Secrets Manager 교체 서비스에서 HTTPS를 통해 Jenkins 인스턴스에 연결할 수 있어야 합니다. 교체 호출은 AWS관리형 접두사 목록에서 시작됩니다`com.amazonaws.{{region}}.secretsmanager-managed-external-secrets`. 인스턴스의 보안 그룹 또는 방화벽에 있는이 접두사 목록에서 인바운드 액세스를 허용하고 인스턴스가 공개적으로 신뢰할 수 있는 TLS 인증서를 제공하는지 확인합니다. 자세한 내용은 *Amazon VPC 사용 설명서*의 [AWS관리형 접두사 목록](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-aws-managed-prefix-lists.html)을 참조하세요. 퍼블릭 인터넷을 통해 연결할 수 없는 인스턴스는 지원되지 않습니다.