액세스 토큰 사전 조건
시작하기 전에 GitHub 액세스 토큰에 적절한 권한 범위를 추가해야 합니다.
GitHub의 경우 개인용 액세스 토큰 범위가 다음과 같아야 합니다.
-
repo: 프라이빗 리포지토리의 전체 제어를 부여합니다.
-
repo:status: 퍼블릭 및 프라이빗 리포지토리 커밋 상태에 대한 읽기/쓰기 권한을 부여합니다.
-
admin:repo_hook: 리포지토리 후크의 전체 제어를 부여합니다. 토큰에
repo
범위가 있을 경우 이 범위가 필요하지 않습니다. -
admin:org_hook: 조직 후크를 완전히 제어할 수 있습니다. 이 범위는 조직 웹후크 기능을 사용하는 경우에만 필요합니다.
자세한 내용은 GitHub 웹사이트의 OAuth 앱에 대한 범위 이해
세분화된 개인 액세스 토큰을 사용하는 경우 사용 사례에 따라 개인 액세스 토큰에 다음 권한이 필요할 수 있습니다.
-
목차: 읽기 전용: 프라이빗 리포지토리에 대한 액세스 권한을 부여합니다. 프라이빗 리포지토리를 소스로 사용하는 경우 이 권한이 필요합니다.
-
커밋 상태: 읽기 및 쓰기: 커밋 상태를 생성할 수 있는 권한을 부여합니다. 프로젝트에 웹후크가 설정되어 있거나 보고서 빌드 상태 기능이 활성화된 경우 이 권한이 필요합니다.
-
웹후크: 읽기 및 쓰기: 웹후크를 관리할 수 있는 권한을 부여합니다. 프로젝트에 웹후크가 설정된 경우 이 권한이 필요합니다.
-
pull 요청: 읽기 전용: pull 요청에 액세스할 수 있는 권한을 부여합니다. 이 권한은 웹후크에 pull 요청 이벤트에 대한
FILE_PATH
필터가 있는 경우 필요합니다. -
관리: 읽기 및 쓰기: CodeBuild에서 자체 호스팅 GitHub Action 실행기 기능을 사용하는 경우 이 권한이 필요합니다. 자세한 내용은 리포지토리에 대한 등록 토큰 생성
및 자습서: CodeBuild 호스팅 GitHub Action 실행기 구성 섹션을 참조하세요.
참고
조직 리포지토리에 액세스하려면 조직을 액세스 토큰의 리소스 소유자로 지정해야 합니다.
자세한 내용은 GitHub 웹 사이트의 세분화된 개인 액세스 토큰에 필요한 권한을
액세스 토큰을 사용하여 GitHub에 연결(콘솔)
콘솔에서 액세스 토큰을 사용하여 프로젝트를 GitHub에 연결하려면 프로젝트를 생성할 때 다음과 같이 합니다. 자세한 내용은 빌드 프로젝트 만들기(콘솔)을 참조하세요.
-
소스 공급자에서 GitHub를 선택합니다.
-
자격 증명에서 다음 중 하나를 수행합니다.
-
기본 소스 자격 증명을 선택하여 계정의 기본 소스 자격 증명을 사용하여 모든 프로젝트에 적용합니다.
-
GitHub에 연결되지 않은 경우 기본 소스 자격 증명 관리를 선택합니다.
-
자격 증명 유형에서 개인 액세스 토큰을 선택합니다.
-
기본 소스 자격 증명을 선택한 경우 서비스에서 토큰을 저장하는 데 사용할 서비스를 선택하고 다음을 수행합니다.
-
Secrets Manager를 사용하도록 선택한 경우 기존 보안 암호 연결을 사용하거나 새 보안 암호를 생성하고 저장을 선택할 수 있습니다. 새 암호를 생성하는 방법에 대한 자세한 정보는 Secrets Manager 보안 암호에 토큰 생성 및 저장 섹션을 참조하세요.
-
CodeBuild 사용하도록 선택한 경우 GitHub 개인 액세스 토큰을 입력하고 저장을 선택합니다.
-
-
-
사용자 지정 소스 자격 증명을 선택하여 사용자 지정 소스 자격 증명을 사용하여 계정의 기본 설정을 재정의합니다.
-
자격 증명 유형에서 개인 액세스 토큰을 선택합니다.
-
연결에서 기존 보안 암호 연결을 사용하거나 새 보안 암호를 생성하도록 선택합니다.
-
-
액세스 토큰을 사용하여 GitHub에 연결(CLI)
다음 단계에 따라 AWS CLI를 사용하여 액세스 토큰으로 프로젝트를 GitHub에 연결합니다. AWS CLI와 AWS CodeBuild를 함께 사용하는 방법에 대한 내용은 명령줄 참조 단원을 참조하십시오.
-
import-source-credentials 명령 실행:
aws codebuild import-source-credentials --generate-cli-skeleton
JSON 형식 데이터가 출력에 표시됩니다. AWS CLI가 설치된 로컬 컴퓨터 또는 인스턴스의 위치에 있는 파일(예:
)에 데이터를 복사합니다. 복사된 데이터를 다음과 같이 수정하고 결과를 저장합니다.import-source-credentials.json
{ "serverType": "
server-type
", "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단계에서 저장한
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) 단원을 참조하십시오. -
연결된 액세스 토큰을 보려면 list-source-credentials 명령을 실행합니다.
aws codebuild list-source-credentials
JSON 형식의
sourceCredentialsInfos
객체가 출력에 표시됩니다.{ "sourceCredentialsInfos": [ { "authType": "
auth-type
", "serverType": "server-type
", "arn": "arn
" } ] }sourceCredentialsObject
에는 연결된 소스 자격 증명 정보 목록이 포함되어 있습니다.-
authType
은 자격 증명에서 사용하는 인증 유형입니다.OAUTH
,BASIC_AUTH
,PERSONAL_ACCESS_TOKEN
,CODECONNECTIONS
또는SECRETS_MANAGER
일 수 있습니다. -
serverType
은 소스 공급자의 유형입니다.GITHUB
,GITHUB_ENTERPRISE
,BITBUCKET
,GITLAB
또는GITLAB_SELF_MANAGED
일 수 있습니다. -
arn
은 토큰의 ARN입니다.
-
-
소스 공급자와의 연결을 해제하고 액세스 토큰을 삭제하려면 해당 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
" }