

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

# Bitbucket 앱 암호 또는 액세스 토큰
<a name="access-tokens-bitbucket"></a>

## 사전 조건
<a name="access-tokens-bitbucket-prerequisites"></a>

시작하기 전에 Bitbucket 앱 암호 또는 액세스 토큰에 적절한 권한 범위를 추가해야 합니다.

Bitbucket의 경우 앱 암호 또는 액세스 토큰의 범위가 다음과 같아야 합니다.
+ **repository:read**: 권한 있는 사용자가 액세스할 수 있는 모든 리포지토리에 대한 읽기 액세스 권한을 부여합니다.
+ **pullrequest:read**: pull 요청에 대한 읽기 액세스를 부여합니다. 프로젝트에 Bitbucket 웹후크가 있는 경우 앱 암호 또는 액세스 토큰이 이 범위를 가져야 합니다.
+ **webhook**: Webhook에 대한 액세스를 부여합니다. 프로젝트에 웹후크 작업이 있는 경우 앱 암호 또는 액세스 토큰이 범위를 가져야 합니다.
+ **계정**: 사용자의 계정 정보에 대한 읽기 액세스 권한을 부여합니다.

자세한 내용은 Bitbucket 웹사이트의 [Bitbucket 클라우드 REST API에 대한 범위](https://developer.atlassian.com/cloud/bitbucket/bitbucket-cloud-rest-api-scopes/) 및 [Bitbucket 클라우드의 OAuth](https://confluence.atlassian.com/bitbucket/oauth-on-bitbucket-cloud-238027431.html)를 참조하십시오.

## 앱 암호로 Bitbucket에 연결(콘솔)
<a name="access-tokens-bitbucket-password-console"></a>

콘솔에서 앱 암호를 사용하여 프로젝트를 Bitbucket에 연결하려면 프로젝트를 생성할 때 다음과 같이 합니다. 자세한 내용은 [빌드 프로젝트 만들기(콘솔)](create-project.md#create-project-console) 단원을 참조하세요.

1. **소스 공급자**에서 **Bitbucket**을 선택합니다.

1. **자격 증명**에서 다음 중 하나를 수행합니다.
   + 계정 자격 증명을 사용하여 모든 프로젝트에 계정의 기본 소스 자격 증명을 적용하려면 선택합니다.

     1. Bitbucket에 연결되지 않은 경우 **계정 자격 증명 관리**를 선택합니다.

     1. **자격 증명 유형**에서 **앱 암호**를 선택합니다.
   + **서비스**에 계정 수준 자격 증명을 사용하기로 선택한 경우 토큰을 저장하는 데 사용할 서비스를 선택하고 다음을 수행합니다.

     1. **Secrets Manager**를 사용하도록 선택한 경우 기존 보안 암호 연결을 사용하거나 새 보안 암호를 생성하고 **저장**을 선택할 수 있습니다. 새 암호를 생성하는 방법에 대한 자세한 정보는 [Secrets Manager 보안 암호에 토큰 생성 및 저장](asm-create-secret.md) 섹션을 참조하세요.

     1. **CodeBuild**를 사용하도록 선택한 경우 Bitbucket 사용자 이름과 앱 암호를 입력한 다음 **저장**을 선택합니다.
   + 사용자 지정 소스 자격 증명을 사용하여 계정의 자격 증명 설정을 재정의하려면 **이 프로젝트에 대해서만 자격 증명 재정의 사용**을 선택합니다.

     1. 채워진 자격 증명 목록에서 **앱 암호** 아래의 옵션 중 하나를 선택합니다.

     1. 설명에서 **새 앱 암호 연결 생성**을 선택하여 새 앱 암호 토큰을 생성할 수도 있습니다.

## 액세스 토큰을 사용하여 Bitbucket에 연결(콘솔)
<a name="access-tokens-bitbucket-console"></a>

콘솔에서 액세스 토큰을 사용하여 프로젝트를 Bitbucket에 연결하려면 프로젝트를 생성할 때 다음과 같이 합니다. 자세한 내용은 [빌드 프로젝트 만들기(콘솔)](create-project.md#create-project-console) 단원을 참조하세요.

1. **소스 공급자**에서 **Bitbucket**을 선택합니다.

1. **자격 증명**에서 다음 중 하나를 수행합니다.
   + 계정 자격 증명을 사용하여 모든 프로젝트에 계정의 기본 소스 자격 증명을 적용하려면 선택합니다.

     1. Bitbucket에 연결되지 않은 경우 **계정 자격 증명 관리**를 선택합니다.

     1. **자격 증명 유형**에서 **개인 액세스 토큰**을 선택합니다.
   + **서비스**에 계정 수준 자격 증명을 사용하기로 선택한 경우 토큰을 저장하는 데 사용할 서비스를 선택하고 다음을 수행합니다.

     1. **Secrets Manager**를 사용하도록 선택한 경우 기존 보안 암호 연결을 사용하거나 새 보안 암호를 생성하고 **저장**을 선택할 수 있습니다. 새 암호를 생성하는 방법에 대한 자세한 정보는 [Secrets Manager 보안 암호에 토큰 생성 및 저장](asm-create-secret.md) 섹션을 참조하세요.

     1. **CodeBuild**를 사용하도록 선택한 경우 Bitbucket 개인 액세스 토큰을 입력하고 **저장**을 선택합니다.
   + 사용자 지정 소스 자격 증명을 사용하여 계정의 자격 증명 설정을 재정의하려면 **이 프로젝트에 대해서만 자격 증명 재정의 사용**을 선택합니다.

     1. 채워진 자격 증명 목록에서 **개인 액세스 토큰** 아래의 옵션 중 하나를 선택합니다.

     1. 설명에서 **새 개인 액세스 토큰 연결 생성**을 선택하여 새 개인 액세스 토큰을 생성할 수도 있습니다.

## 앱 암호 또는 액세스 토큰을 사용하여 Bitbucket에 연결(CLI)
<a name="access-tokens-bitbucket-cli"></a>

다음 단계에 따라 AWS CLI 를 사용하여 앱 암호 또는 액세스 토큰을 사용하여 프로젝트를 Bitbucket에 연결합니다. 와 AWS CLI 함께를 사용하는 방법에 대한 자세한 내용은 단원을 AWS CodeBuild참조하십시오[명령줄 참조](cmd-ref.md).

1. **import-source-credentials** 명령을 실행합니다.

   ```
   aws codebuild import-source-credentials --generate-cli-skeleton
   ```

   JSON 형식 데이터가 출력에 표시됩니다. 가 설치된 로컬 컴퓨터 또는 인스턴스의 위치에 있는 파일(예: `{{import-source-credentials.json}}`)에 데이터를 복사 AWS CLI 합니다. 복사된 데이터를 다음과 같이 수정하고 결과를 저장합니다.

   ```
   {
       "serverType": "BITBUCKET",
       "authType": "{{auth-type}}",
       "shouldOverwrite": "{{should-overwrite}}",
       "token": "{{token}}",
       "username": "{{username}}"
       }
   ```

   다음을 바꿉니다.
   + {{server-type}}: 필수 값. 이 자격 증명에 사용되는 소스 공급자. 유효한 값은 GITHUB, BITBUCKET, GITHUB\_ENTERPRISE, GITLAB 및 GITLAB\_SELF\_MANAGED입니다.
   + {{auth-type}}: 필수 값. 리포지토리에 연결하는 데 사용되는 인증 유형입니다. 유효한 값은 OAUTH, BASIC\_AUTH, Personal\_ACCESS\_TOKEN, CODECONNECTIONS 및 SECRETS\_MANAGER입니다. GitHub의 경우 PERSONAL\_ACCESS\_TOKEN만 허용됩니다. BASIC\_AUTH는 Bitbucket 앱 암호로만 허용됩니다.
   + {{should-overwrite}}: 선택적 값입니다. 리포지토리 소스 자격 증명을 덮어쓰지 않도록 하려면 `false`로 설정합니다. 리포지토리 소스 자격 증명을 덮어쓰려면 `true`로 설정합니다. 기본값은 `true`입니다.
   + {{token}}: 필수 값. GitHub 또는 GitHub Enterprise Server에서는 개인용 액세스 토큰을 말합니다. Bitbucket의 경우 개인 액세스 토큰 또는 앱 암호입니다. 인증 유형 CODECONNECTIONS의 경우 연결 ARN입니다. 인증 유형 SECRETS\_MANAGER의 경우 보안 암호 ARN입니다.
   + {{username}}: 선택 사항 값. GitHub 및 GitHub Enterprise Server 소스 공급자의 경우 이 파라미터가 무시됩니다.

1. 앱 암호 또는 액세스 토큰으로 계정에 연결하려면 1단계에서 저장한 `import-source-credentials.json` 파일이 있는 디렉터리로 이동한 후 **import-source-credentials** 명령을 다시 실행합니다.

   ```
   aws codebuild import-source-credentials --cli-input-json file://import-source-credentials.json
   ```

   JSON 형식 데이터와 Amazon 리소스 이름(ARN)이 출력에 표시됩니다.

   ```
   {
       "arn": "arn:aws:codebuild:{{region}}:{{account-id}}:token/{{server-type}}"
       }
   ```
**참고**  
**import-source-credentials** 명령을 동일한 서버 유형과 인증 유형으로 다시 실행하면 저장된 액세스 토큰이 업데이트됩니다.

   계정이 앱 암호에 연결된 후 `create-project`를 사용하여 CodeBuild 프로젝트를 생성할 수 있습니다. 자세한 내용은 [빌드 프로젝트 생성(AWS CLI)](create-project.md#create-project-cli) 단원을 참조하십시오.

1. 연결된 앱 암호 또는 액세스 토큰을 보려면 **list-source-credentials** 명령을 실행합니다.

   ```
   aws codebuild list-source-credentials
   ```

   JSON 형식의 `sourceCredentialsInfos` 객체가 출력에 표시됩니다.

   ```
   {
           "sourceCredentialsInfos": [
               {
                   "authType": "{{auth-type}}",
                   "serverType": "BITBUCKET", 
                   "arn": "{{arn}}"
               }
           ]
       }
   ```

   `sourceCredentialsObject`에는 연결된 소스 자격 증명 정보 목록이 포함되어 있습니다.
   + `authType`은 자격 증명에서 사용하는 인증 유형입니다. `OAUTH`, `BASIC_AUTH`, `PERSONAL_ACCESS_TOKEN`, `CODECONNECTIONS` 또는 `SECRETS_MANAGER`일 수 있습니다.
   + `serverType`은 소스 공급자의 유형입니다. `GITHUB`, `GITHUB_ENTERPRISE`, `BITBUCKET`, `GITLAB` 또는 `GITLAB_SELF_MANAGED`일 수 있습니다.
   + `arn`은 토큰의 ARN입니다.

1. 소스 공급자와의 연결을 해제하고 앱 암호 또는 액세스 토큰을 삭제하려면 해당 ARN을 지정하여 **delete-source-credentials** 명령을 실행합니다.

   ```
   aws codebuild delete-source-credentials --arn {{arn-of-your-credentials}}
   ```

   JSON 형식의 데이터가 반환되고 삭제된 자격 증명의 ARN이 표시됩니다.

   ```
   {
       "arn": "arn:aws:codebuild:{{region}}:{{account-id}}:token/{{server-type}}"
       }
   ```