쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

CodeBuild의 다중 액세스 토큰

포커스 모드
CodeBuild의 다중 액세스 토큰 - AWS CodeBuild

CodeBuild는 AWS Secrets Manager 또는 AWS CodeConnections 연결을 통해 보안 암호에서 타사 공급자에 대한 액세스 토큰 소싱을 지원합니다. 보안 암호 또는 연결을 GitHub, GitHub Enterprise 또는 Bitbucket과 같은 지정된 타사 공급자와의 상호 작용을 위한 기본 자격 증명으로 설정할 수 있습니다.

소스 자격 증명을 세 가지 다른 수준에서 설정할 수 있습니다.

  1. 모든 프로젝트의 계정 수준 자격 증명: 이는 AWS 계정의 모든 프로젝트에 대한 기본 자격 증명입니다. 프로젝트 또는 소스 수준 자격 증명이 지정되지 않은 경우 프로젝트에 사용됩니다.

  2. 특정 리포지토리의 소스 수준 자격 증명: Secrets Manager 보안 암호 또는 CodeConnections 연결이 프로젝트 소스에 정의된 경우입니다. 이러한 자격 증명은 지정된 소스 리포지토리의 작업에만 사용됩니다. 이렇게 하면 동일한 프로젝트에서 서로 다른 권한 범위를 가진 다중 액세스 토큰을 설정할 수 있으며 기본 계정 수준 자격 증명을 사용하지 않을 수 있습니다.

  3. 프로젝트 수준 대체 자격 증명: NO_SOURCE를 기본 소스 유형으로 사용하여 프로젝트 수준 대체 자격 증명을 설정하고 보안 암호 또는 연결을 정의할 수 있습니다. 프로젝트에 여러 소스가 있지만 동일한 자격 증명을 사용하려는 경우 또는 프로젝트에 기본 계정 수준 자격 증명을 사용하지 않으려는 경우에 사용할 수 있습니다.

1단계: Secrets Manager 보안 암호 또는 CodeConnections 연결 생성

다음 지침을 사용하여 Secrets Manager 보안 암호 또는 CodeConnections 연결을 생성합니다.

2단계: Secrets Manager 보안 암호에 대한 IAM 역할 액세스 권한을 CodeBuild 프로젝트에 부여

참고

계속하려면 Secrets Manager 또는 CodeConnections에서 생성된 토큰에 액세스할 수 있어야 합니다.

CodeBuild 프로젝트에 Secrets Manager 또는 CodeConnections에 대한 IAM 역할 액세스 권한을 부여하려면 다음 IAM 정책을 추가해야 합니다.

CodeBuild 프로젝트에 IAM 역할 액세스 권한을 부여하려면
  1. CodeBuild 프로젝트의 CodeBuild가 다른 AWS 서비스와 상호 작용하도록 허용에 대한 지침에 따라 CodeBuild 프로젝트의 IAM 역할을 생성합니다.

  2. 다음 중 하나를 수행합니다.

    • CodeBuild 프로젝트 역할에 보안 암호에 대한 액세스 권한을 부여하는 다음 IAM 정책을 추가합니다.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "<secret-arn>" ] } ] }

      (선택 사항) AWS KMS 고객 관리형 키를 사용하여 Secrets Manager 보안 암호를 암호화하는 경우 다음 정책 문을 추가하여 액세스 권한을 부여할 수 있습니다.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "<kms-key-arn>", "Condition": { "StringEquals": { "kms:EncryptionContext:SecretARN": "<secret-arn>" } } } ] }
    • CodeBuild 프로젝트 역할에 연결에 대한 액세스 권한을 부여하는 다음 IAM 정책을 추가합니다.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeconnections:GetConnectionToken", "codeconnections:GetConnection" ], "Resource": [ <connection-arn> ] } ] }

3단계: Secrets Manager 또는 CodeConnections 토큰 구성

Secrets Manager 또는 CodeConnections 토큰을 사용하여 소스 자격 증명을 세 가지 다른 수준으로 설정할 수 있습니다.

Secrets Manager 또는 CodeConnections 토큰을 계정 수준 자격 증명으로 구성

Secrets Manager 보안 암호 또는 CodeConnections 연결을 계정 수준 자격 증명으로 구성하고 프로젝트에서 사용할 수 있습니다.

AWS Management Console
AWS Management Console에서 연결을 계정 수준 자격 증명으로 구성하려면
  1. 소스 공급자에서 Bitbucket, GitHub 또는 GitHub Enterprise를 선택합니다.

  2. 자격 증명에서 다음 중 하나를 수행합니다.

    • 기본 소스 자격 증명을 선택하여 계정의 기본 소스 자격 증명을 사용하여 모든 프로젝트에 적용합니다.

      1. 소스 공급자에 연결되지 않은 경우 기본 소스 자격 증명 관리를 선택합니다.

      2. 자격 증명 유형에서 자격 증명 유형을 선택합니다.

      3. CodeConnections 선택한 경우 기존 연결을 사용하거나 새 연결을 생성하도록 선택합니다.

        다른 자격 증명 유형을 선택한 경우 서비스에서 토큰을 저장하는 데 사용할 서비스를 선택하고 다음을 수행합니다.

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

        • CodeBuild 사용하도록 선택한 경우 토큰 또는 사용자 이름과 앱 암호를 입력하고 저장을 선택합니다.

    • 사용자 지정 소스 자격 증명을 선택하여 사용자 지정 소스 자격 증명을 사용하여 계정의 기본 설정을 재정의합니다.

      1. 자격 증명 유형에서 자격 증명 유형을 선택합니다.

      2. 연결에서 기존 연결을 선택하거나 연결을 새로 생성합니다.

AWS CLI
AWS CLI에서 연결을 계정 수준 자격 증명으로 구성하려면
  • 터미널(Linux, macOS, Unix) 또는 명령 프롬프트(Windows)를 엽니다. AWS CLI를 사용하여 import-source-credentials 명령을 실행합니다.

    다음 명령을 사용하여 Secrets Manager 보안 암호를 구성합니다.

    aws codebuild import-source-credentials \ --token "<secret-arn>" \ --server-type <source-provider> \ --auth-type SECRETS_MANAGER \ --region <aws-region>

    다음 명령을 사용하여 CodeConnections 연결을 구성합니다.

    aws codebuild import-source-credentials \ --token "<connection-arn>" \ --server-type <source-provider> \ --auth-type CODECONNECTIONS \ --region <aws-region>

    이 명령을 사용하면 토큰을 계정 수준 기본 소스 자격 증명으로 가져올 수 있습니다. ImportSourceCredentials API를 사용하여 자격 증명을 가져올 때 CodeBuild는 프로젝트에 더 구체적인 자격 증명 세트가 구성되지 않은 한 웹후크, 빌드 상태 보고 및 git 복제 작업과 같은 소스 공급자와의 모든 상호 작용에 토큰을 사용합니다.

AWS Management Console에서 연결을 계정 수준 자격 증명으로 구성하려면
  1. 소스 공급자에서 Bitbucket, GitHub 또는 GitHub Enterprise를 선택합니다.

  2. 자격 증명에서 다음 중 하나를 수행합니다.

    • 기본 소스 자격 증명을 선택하여 계정의 기본 소스 자격 증명을 사용하여 모든 프로젝트에 적용합니다.

      1. 소스 공급자에 연결되지 않은 경우 기본 소스 자격 증명 관리를 선택합니다.

      2. 자격 증명 유형에서 자격 증명 유형을 선택합니다.

      3. CodeConnections 선택한 경우 기존 연결을 사용하거나 새 연결을 생성하도록 선택합니다.

        다른 자격 증명 유형을 선택한 경우 서비스에서 토큰을 저장하는 데 사용할 서비스를 선택하고 다음을 수행합니다.

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

        • CodeBuild 사용하도록 선택한 경우 토큰 또는 사용자 이름과 앱 암호를 입력하고 저장을 선택합니다.

    • 사용자 지정 소스 자격 증명을 선택하여 사용자 지정 소스 자격 증명을 사용하여 계정의 기본 설정을 재정의합니다.

      1. 자격 증명 유형에서 자격 증명 유형을 선택합니다.

      2. 연결에서 기존 연결을 선택하거나 연결을 새로 생성합니다.

이제 빌드 프로젝트에서 토큰을 사용하고 실행할 수 있습니다. 자세한 내용은 AWS CodeBuild에서 빌드 프로젝트 생성AWS CodeBuild 빌드를 수동으로 실행 단원을 참조하세요.

여러 토큰을 소스 수준 자격 증명으로 구성

Secrets Manager 보안 암호 또는 CodeConnections 연결을 소스 수준 자격 증명으로 사용하려면 CodeBuild 프로젝트의 토큰을 직접 참조하고 빌드를 시작합니다.

AWS Management Console
AWS Management Console에서 여러 토큰을 소스 수준 자격 증명으로 구성하려면
  1. 소스 공급자에서 GitHub를 선택합니다.

  2. 자격 증명에서 다음 중 하나를 수행합니다.

    • 기본 소스 자격 증명을 선택하여 계정의 기본 소스 자격 증명을 사용하여 모든 프로젝트에 적용합니다.

      1. GitHub에 연결되지 않은 경우 기본 소스 자격 증명 관리를 선택합니다.

      2. 자격 증명 유형에서 GitHub 앱을 선택합니다.

      3. 연결에서 기존 연결을 선택하거나 연결을 새로 생성합니다.

    • 사용자 지정 소스 자격 증명을 선택하여 사용자 지정 소스 자격 증명을 사용하여 계정의 기본 설정을 재정의합니다.

      1. 자격 증명 유형에서 GitHub 앱을 선택합니다.

      2. 연결에서 기존 연결을 선택하거나 연결을 새로 생성합니다.

  3. 소스 추가를 선택하고 소스 공급자 및 자격 증명을 선택하는 프로세스를 반복합니다.

AWS CLI
AWS CLI에서 여러 토큰을 소스 수준 자격 증명으로 구성하려면
  • 터미널(Linux, macOS, Unix) 또는 명령 프롬프트(Windows)를 엽니다. AWS CLI를 사용하여 create-project 명령을 실행합니다.

    다음 명령을 사용합니다.

    aws codebuild create-project --region <aws-region> \ --name <project-name> \ --artifacts type=NO_ARTIFACTS \ --environment "type=LINUX_CONTAINER, computeType=BUILD_GENERAL1_SMALL, image=aws/codebuild/amazonlinux2-x86_64-standard:5.0" \ --service-role <service-role-name> \ --source "type=GITHUB, location=<github-repository-1>, auth={type=SECRETS_MANAGER,resource=<secret-or-connection-arn-1>}" \ --secondary-sources "type=GITHUB, location=<github-repository-2>, auth={type=SECRETS_MANAGER,resource=<secret-or-connection-arn-2>}, sourceIdentifier=secondary" aws codebuild start-build --region <aws-region> --project-name <project-name>
AWS Management Console에서 여러 토큰을 소스 수준 자격 증명으로 구성하려면
  1. 소스 공급자에서 GitHub를 선택합니다.

  2. 자격 증명에서 다음 중 하나를 수행합니다.

    • 기본 소스 자격 증명을 선택하여 계정의 기본 소스 자격 증명을 사용하여 모든 프로젝트에 적용합니다.

      1. GitHub에 연결되지 않은 경우 기본 소스 자격 증명 관리를 선택합니다.

      2. 자격 증명 유형에서 GitHub 앱을 선택합니다.

      3. 연결에서 기존 연결을 선택하거나 연결을 새로 생성합니다.

    • 사용자 지정 소스 자격 증명을 선택하여 사용자 지정 소스 자격 증명을 사용하여 계정의 기본 설정을 재정의합니다.

      1. 자격 증명 유형에서 GitHub 앱을 선택합니다.

      2. 연결에서 기존 연결을 선택하거나 연결을 새로 생성합니다.

  3. 소스 추가를 선택하고 소스 공급자 및 자격 증명을 선택하는 프로세스를 반복합니다.

프로젝트 수준 소스 자격 증명 대체 설정

프로젝트 수준 소스 자격 증명 대체를 설정하려면 프로젝트의 기본 소스에 NO_SOURCE를 사용하고 토큰을 참조합니다.

aws codebuild create-project \ --name <project-name> \ --service-role <service-role-name> \ --artifacts type=NO_ARTIFACTS \ --environment "type=LINUX_CONTAINER, computeType=BUILD_GENERAL1_SMALL, image=aws/codebuild/amazonlinux2-x86_64-standard:5.0" \ --service-role <service-role-name> \ --source "type=NO_SOURCE, auth={type=SECRETS_MANAGER,resource=<secret-or-connection-arn>}, buildspec=<buildspec>" --secondary-sources "type=GITHUB, location=<github-repository>, sourceIdentifier=secondary" aws codebuild start-build --region <aws-region> --project-name <project_name>

NO_SOURCE를 사용하는 경우 일반적으로 외부 소스를 사용하여 buildspec을 가져오도록 직접 구성되지 않았으므로 소스 모델 내에 buildspec이 제공됩니다. 일반적으로 NO_SOURCE 소스는 buildspec 내에서 모든 관련 리포지토리 복제를 처리합니다. 이러한 작업에 대해 구성된 자격 증명을 사용할 수 있도록 하려면 buildspec에서 git-credential-helper 옵션을 활성화할 수 있습니다.

env: git-credential-helper: yes

빌드 중에 CodeBuild는 구성된 토큰에서 AuthServer 필드를 읽고 해당 특정 타사 소스 공급자에 대한 모든 git 요청에 토큰 자격 증명을 사용합니다.

추가 설정 옵션

AWS CloudFormation 템플릿을 사용하여 Secrets Manager 계정 수준 자격 증명을 구성할 수 있습니다. 다음 AWS CloudFormation 템플릿을 사용하여 계정 수준 자격 증명을 설정할 수 있습니다.

Parameters: GitHubToken: Type: String NoEcho: true Default: placeholder Resources: CodeBuildAuthTokenSecret: Type: AWS::SecretsManager::Secret Properties: Description: CodeBuild auth token Name: codebuild-auth-token SecretString: !Join - '' - - '{"ServerType":"GITHUB","AuthType":"PERSONAL_ACCESS_TOKEN","Token":"' - !Ref GitHubToken - '"}' Tags: - Key: codebuild:source:provider Value: github - Key: codebuild:source:type Value: personal_access_token CodeBuildSecretsManagerAccountCredential: Type: AWS::CodeBuild::SourceCredential Properties: ServerType: GITHUB AuthType: SECRETS_MANAGER Token: !Ref CodeBuildAuthTokenSecret
참고

또한 동일한 스택에서 프로젝트를 생성하는 경우 AWS CloudFormation 속성 DependsOn을 사용하여 프로젝트 전에 AccountCredential 이 생성되었는지 확인합니다.

AWS CloudFormation 템플릿을 사용하여 Secrets Manager 다중 소스 수준 자격 증명을 구성할 수도 있습니다. 다음 AWS CloudFormation 템플릿을 사용하여 여러 토큰을 사용하여 여러 소스를 가져올 수 있습니다.

Parameters: GitHubTokenOne: Type: String NoEcho: true Default: placeholder GitHubTokenTwo: Type: String NoEcho: true Default: placeholder Resources: CodeBuildSecretsManagerProject: Type: AWS::CodeBuild::Project Properties: Name: codebuild-multitoken-example ServiceRole: <service-role> Environment: Type: LINUX_CONTAINER ComputeType: BUILD_GENERAL1_SMALL Image: aws/codebuild/amazonlinux2-x86_64-standard:5.0 Source: Type: GITHUB Location: <github-repository-one> Auth: Type: SECRETS_MANAGER Resource: !Ref CodeBuildAuthTokenSecretOne SecondarySources: - Type: GITHUB Location: <github-repository-two> Auth: Type: SECRETS_MANAGER Resource: !Ref CodeBuildAuthTokenSecretTwo SourceIdentifier: secondary Artifacts: Type: NO_ARTIFACTS LogsConfig: CloudWatchLogs: Status: ENABLED CodeBuildProjectIAMRoleSecretAccess: Type: AWS::IAM::RolePolicy Properties: RoleName: <role-name> PolicyName: CodeBuildProjectIAMRoleSecretAccessPolicy PolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: - secretsmanager:GetSecretValue Resource: - !Ref CodeBuildAuthTokenSecretOne - !Ref CodeBuildAuthTokenSecretTwo CodeBuildAuthTokenSecretOne: Type: AWS::SecretsManager::Secret Properties: Description: CodeBuild auth token one Name: codebuild-auth-token-one SecretString: !Join - '' - - '{"ServerType":"GITHUB","AuthType":"PERSONAL_ACCESS_TOKEN","Token":"' - !Ref GitHubTokenOne - '"}' Tags: - Key: codebuild:source:provider Value: github - Key: codebuild:source:type Value: personal_access_token CodeBuildAuthTokenSecretTwo: Type: AWS::SecretsManager::Secret Properties: Description: CodeBuild auth token two Name: codebuild-auth-token-two SecretString: !Join - '' - - '{"ServerType":"GITHUB","AuthType":"PERSONAL_ACCESS_TOKEN","Token":"' - !Ref GitHubTokenTwo - '"}' Tags: - Key: codebuild:source:provider Value: github - Key: codebuild:source:type Value: personal_access_token
프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.