AWS CLI 보안 인증 도우미를 사용하여 Windows에서 AWS CodeCommit 리포지토리에 대한 HTTPS 연결 설정 단계 - AWS CodeCommit

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

AWS CLI 보안 인증 도우미를 사용하여 Windows에서 AWS CodeCommit 리포지토리에 대한 HTTPS 연결 설정 단계

AWS CodeCommit에 처음으로 연결하려면 초기 구성 단계를 완료해야 합니다. 대부분의 사용자는 Git 보안 인증 정보를 사용하는 HTTPS 사용자의 경우의 단계를 따라 가장 쉽게 진행할 수 있습니다. 하지만 루트 계정, 페더레이션 액세스 또는 임시 보안 인증 정보를 사용하여 CodeCommit에 연결하려는 경우, AWS CLI에 포함된 보안 인증 도우미를 사용할 수 있습니다.

참고

보안 인증 도우미는 페더레이션 액세스, ID 공급자 또는 임시 보안 인증 정보를 사용하여 CodeCommit에 연결하는 데 지원되는 방법이지만 git-remote-codecommit 유틸리티를 설치하고 사용하는 것이 좋습니다. 자세한 내용은 git-remote-codecommit을 사용하여 AWS CodeCommit에 대한 HTTPS 연결을 위한 설정 단계 섹션을 참조하세요.

이 항목에서는 AWS CLI를 설치하고, 컴퓨터 및 AWS 프로필을 설정하고, CodeCommit 리포지토리에 연결하고, 해당 리포지토리를 컴퓨터에 복제(로컬 리포지토리 생성)하는 단계를 안내합니다. Git을 처음 사용하는 경우, Git에 대해 더 학습하려면 어떻게 해야 하나요?의 정보를 검토하는 것이 좋습니다.

1단계: CodeCommit에 대한 초기 구성

이 절차에 따라 Amazon Web Services account 계정을 설정하고 IAM 사용자를 생성 및 구성하며 AWS CLI를 설치합니다. AWS CLI에는 CodeCommit 리포지토리에 대한 HTTPS 연결을 구성하는 보안 인증 도우미가 포함됩니다.

CodeCommit에 액세스할 IAM 사용자를 생성 및 구성하려면
  1. http://aws.amazon.com에서 가입을 선택하여 Amazon Web Services 계정을 만드세요.

  2. Amazon Web Services 계정에서 IAM 사용자를 생성하거나 기존 사용자를 사용합니다. 액세스 키 ID가 있고 해당 IAM 사용자와 연결된 비밀 액세스 키가 있는지 확인합니다. 자세한 내용은 Amazon Web Services 계정에서 IAM 사용자 생성하기를 참조하세요.

    참고

    CodeCommit에는 AWS Key Management Service가 필요합니다. 기존 IAM 사용자를 사용할 경우, CodeCommit에 필요한 AWS KMS 작업을 명시적으로 거부하는 정책이 해당 사용자에게 연결되어 있지 않은지 확인하십시오. 자세한 내용은 AWS KMS 및 암호화 섹션을 참조하세요.

  3. AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  4. IAM 콘솔의 탐색 창에서 사용자를 선택한 다음 CodeCommit 액세스에 대해 구성할 IAM 사용자를 선택합니다.

  5. 권한 탭에서 권한 추가를 선택합니다.

  6. 권한 부여에서 기존 정책 직접 연결을 선택합니다.

  7. 정책 목록에서, CodeCommit 액세스에 대한 AWSCodeCommitPowerUser 또는 다른 관리형 정책을 선택합니다. 자세한 내용은 CodeCommit에 대한 AWS 관리형 정책 섹션을 참조하세요.

    연결할 정책을 선택한 후 다음: 검토를 선택하여 IAM 사용자에게 연결할 정책의 목록을 검토합니다. 목록이 올바르면 권한 추가를 선택합니다.

    CodeCommit 관리형 정책, 그리고 리포지토리에 대한 액세스를 다른 그룹 및 사용자와 공유하는 방법에 대해 자세히 알아보려면 리포지토리 공유, AWS CodeCommit에 대한 인증 및 액세스 제어 섹션을 참조하세요.

AWS CLI를 설치 및 구성하는 방법은 다음과 같습니다.
  1. 로컬 컴퓨터에서 AWS CLI를 다운로드하고 설치합니다. 이는 명령줄에서 CodeCommit과 상호 작용하기 위한 사전 조건입니다. AWS CLI 버전 2를 설치하는 것이 좋습니다. 이는 AWS CLI의 최신 메이저 버전이며 모든 최신 기능을 지원합니다. 또한 git-remote-codecommit으로 루트 계정, 페더레이션 액세스 또는 임시 보안 인증 정보 사용하는 것을 지원하는 유일한 AWS CLI 버전입니다.

    자세한 내용은 AWS 명령줄 인터페이스로 설정 단원을 참조하십시오.

    참고

    CodeCommit은 AWS CLI 버전 1.7.38 이상에서만 작동합니다. AWS CLI를 설치하거나 최신 버전으로 업그레이드하는 것이 가장 좋습니다. 설치한 AWS CLI의 버전을 확인하려면 aws --version 명령을 실행합니다.

    이전 버전의 AWS CLI를 최신 버전으로 업그레이드하려면 AWS Command Line Interface 설치를 참조하십시오.

  2. 이 명령을 실행하여 AWS CLI용 CodeCommit 명령이 설치되었는지 확인합니다.

    aws codecommit help

    이 명령은 CodeCommit 명령 목록을 반환합니다.

  3. 다음과 같이 configure 명령을 사용하여 AWS CLI를 프로파일로 구성합니다.

    aws configure

    메시지가 표시되면, CodeCommit에서 사용할 IAM 사용자의 AWS 액세스 키 및 AWS 비밀 액세스 키를 지정합니다. 또한 리포지토리가 존재하는 AWS 리전(예: us-east-2)도 반드시 지정해야 합니다. 기본 출력 형식을 묻는 메시지가 표시되면 json을 지정합니다. 예를 들어, IAM 사용자의 프로필을 구성하는 경우에는 다음과 같이 합니다.

    AWS Access Key ID [None]: Type your IAM user AWS access key ID here, and then press Enter AWS Secret Access Key [None]: Type your IAM user AWS secret access key here, and then press Enter Default region name [None]: Type a supported region for CodeCommit here, and then press Enter Default output format [None]: Type json here, and then press Enter

    AWS CLI에서 사용할 프로파일 생성 및 구성에 대한 자세한 내용은 다음을 참조하십시오.

    다른 AWS 리전에 있는 리포지토리 또는 리소스에 연결하려면 기본 리전 이름을 사용하여 AWS CLI를 다시 구성해야 합니다. CodeCommit에서 지원되는 기본 리전 이름은 다음과 같습니다.

    • us-east-2

    • us-east-1

    • eu-west-1

    • us-west-2

    • ap-northeast-1

    • ap-southeast-1

    • ap-southeast-2

    • ap-southeast-3

    • me-central-1

    • eu-central-1

    • ap-northeast-2

    • sa-east-1

    • us-west-1

    • eu-west-2

    • ap-south-1

    • ap-south-1

    • ca-central-1

    • us-gov-west-1

    • us-gov-east-1

    • eu-north-1

    • ap-east-1

    • me-south-1

    • cn-north-1

    • cn-northwest-1

    • eu-south-1

    • ap-northeast-3

    • af-south-1

    • il-central-1

    CodeCommit 및 AWS 리전에 대한 자세한 내용은 리전 및 Git 연결 엔드포인트 섹션을 참조하세요. IAM, 액세스 키, 비밀 키에 대한 자세한 내용을 확인하려면 보안 인증 정보 얻는 방법IAM 사용자의 액세스 키 관리를 참조하세요. AWS CLI 및 프로필에 대한 자세한 내용은 명명된 프로필을 참조하세요.

2단계: Git 설치

CodeCommit 리포지토리에서 파일과 커및 및 기타 정보를 사용하려면 로컬 시스템에 Git을 설치해야 합니다. CodeCommit은 Git 버전 1.7.9 이상을 지원합니다. Git 버전 2.28에서는 초기 커밋을 위한 브랜드 이름을 구성할 수 있습니다. 최신 버전의 Git를 사용하는 것이 좋습니다.

Git를 설치하려면 Git for Windows 등의 웹 사이트를 사용하는 것이 좋습니다. 이 링크를 사용하여 Git을 설치하는 경우 다음을 제외한 설치 기본 설정을 모두 수락할 수 있습니다.

참고

Git은 계속 개선되며 정기적으로 업데이트되는 플랫폼입니다. 기능 변경에 따라 CodeCommit 사용 방식이 달라지는 경우가 있습니다. Git과 CodeCommit의 특정 버전에서 문제가 발생할 경우 문제 해결의 내용을 검토하세요.

3단계: 보안 인증 도우미 설정

AWS CLI에는 CodeCommit에 사용할 수 있는 Git 보안 인증 도우미가 포함됩니다. Git 보안 인증 도우미에는 AWS 보안 인증 프로필이 필요합니다. 이 프로필에는 IAM 사용자의 AWS 액세스 키 ID 및 AWS 비밀 액세스 키의 사본이(기본 AWS 리전 이름 및 기본 출력 형식과 함께) 저장됩니다. Git 보안 인증 도우미는 이 정보를 사용하여 CodeCommit에 자동으로 인증하므로 Git을 사용하여 CodeCommit과 상호 작용할 때마다 이 정보를 입력할 필요가 없습니다.

  1. 명령 프롬프트를 열고 Git을 사용해 git config를 실행하고, AWS 보안 인증 프로필과 함께 Git 보안 인증 도우미를 사용하도록 지정하면 Git 보안 인증 도우미가 리포지토리에 경로를 보낼 수 있습니다.

    git config --global credential.helper "!aws codecommit credential-helper $@" git config --global credential.UseHttpPath true

    Git 보안 인증 도우미는 .gitconfig 파일에 다음 사항을 작성합니다.

    [credential] helper = !aws codecommit credential-helper $@ UseHttpPath = true
    중요
    • Windows 명령줄 대신 Bash 에뮬레이터를 사용하는 경우 큰따옴표 대신 작은따옴표를 사용해야 합니다.

    • 보안 인증 도우미는 기본 AWS 프로필 또는 Amazon EC2 인스턴스 역할을 사용합니다. CodeCommitProfile과 같은 AWS 보안 인증 프로필을 사용하려고 만든 경우, 다음과 같이 명령을 수정하여 대신 사용할 수 있습니다.

      git config --global credential.helper "!aws codecommit credential-helper --profile CodeCommitProfile $@"

      이것은 .gitconfig 파일에 다음 사항을 작성합니다.

      [credential] helper = !aws codecommit credential-helper --profile=CodeCommitProfile $@ UseHttpPath = true
    • 프로필 이름에 공백이 있으면 이 명령을 실행하여 작은따옴표(')로 묶은 이후에 .gitconfig 파일을 편집해야 합니다. 그렇지 않으면 보안 인증 도우미가 동작하지 않습니다.

    • Windows용 Git 프로그램에 Git Credential Manager 유틸리티가 포함되어 있으면 처음 몇 번의 연결 시도 이후에 Credentials Manager 유틸리티에 보안 인증 정보를 제공하라는 403 오류 또는 프롬프트가 표시됩니다. CodeCommit과 호환되지 않으므로 이 문제를 해결하는 가장 좋은 방법은 Git Credential Manager 유틸리티 옵션이 없는 Windows용 Git을 제거했다가 다시 설치하는 것입니다. Git Credential Manager 유틸리티를 유지하려는 경우, CodeCommit도 사용하도록 추가 구성 단계를 수행해야 합니다. 여기에는 .gitconfig 파일을 수동으로 수정하여 CodeCommit에 연결 시 AWS CodeCommit에 대한 보안 인증 도우미 사용을 지정하는 단계가 포함됩니다. Credential Manager 유틸리티에서 저장된 보안 인증 정보를 제거합니다. 이 유틸리티는 제어판에서 찾을 수 있습니다. 저장된 보안 인증 정보를 제거했으면 .gitconfig 파일에 다음 사항을 추가하고 저장한 다음 새 명령 프롬프트 창에서 다시 연결합니다.

      [credential "https://git-codecommit.us-east-2.amazonaws.com"] helper = !aws codecommit credential-helper $@ UseHttpPath = true [credential "https://git-codecommit.us-east-1.amazonaws.com"] helper = !aws codecommit credential-helper $@ UseHttpPath = true

      모든 연결이 예상대로 작동하기 전에 --global 또는 --local 대신 --system을 지정하여 git config 설정을 다시 구성해야 할 수도 있습니다.

    • 동일한 로컬 시스템에서 CodeCommit에 대해 다른 IAM 사용자를 사용하려면 git config --global 대신 git config --local을 지정하고 각 AWS 보안 인증 프로필에 대한 구성을 실행해야 합니다.

  2. git config --global --edit를 실행하여 이전 값이 사용자 프로필의 .gitconfig 파일에 기록되었는지 확인합니다(기본적으로 %HOME%\.gitconfig 또는 drive:\Users\UserName\.gitconfig). 기록되었다면 Git 전역 구성 파일에 이미 있는 값뿐 아니라 이전 값도 보여야 합니다. 종료하려면 일반적으로 :q를 입력한 다음 Enter를 누릅니다.

4단계: CodeCommit 콘솔 연결 및 리포지토리 복제

관리자가 CodeCommit 리포지토리에 대한 이름과 연결 세부 정보를 이미 전송한 경우 이 단계를 건너뛰고 리포지토리를 직접 복제할 수 있습니다.

CodeCommit 리포지토리에 연결하려면
  1. https://console.aws.amazon.com/codesuite/codecommit/home에서 CodeCommit 콘솔을 엽니다.

  2. 리전 선택기에서, 해당 리포지토리를 생성한 AWS 리전을 선택합니다. 각 리포지토리는 하나의 AWS 리전에 국한됩니다. 자세한 내용은 리전 및 Git 연결 엔드포인트 섹션을 참조하세요.

  3. 목록에서 연결하려는 리포지토리를 찾아서 선택합니다. URL 복제를 선택한 다음 리포지토리를 복제하거나 연결할 때 사용할 프로토콜을 선택합니다. 그러면 복제 URL을 복사합니다.

    • IAM 사용자를 통한 Git 보안 인증 정보를 활용하거나 AWS CLI에 포함된 보안 인증 도우미를 사용하는 경우 HTTPS URL을 복사합니다.

    • 로컬 컴퓨터에서 git-remote-codecommit 명령을 사용하는 경우 HTTPS(GRC) URL을 복사합니다.

    • IAM 사용자와 SSH 퍼블릭/프라이빗 키 페어를 사용하는 경우 SSH URL을 복사합니다.

    참고

    리포지토리 목록 대신 시작 페이지가 표시될 경우, 사용자가 로그인한 AWS 리전에 사용자의 AWS 계정과 연결된 리포지토리가 없는 것입니다. 리포지토리를 만들려면 AWS CodeCommit 리포지토리 생성를 참조하거나 Git 및 CodeCommit 시작하기 자습서의 다음 단계를 따르세요.

  4. 명령 프롬프트를 열고 복사한 HTTPS URL을 사용하여 git clone 명령을 실행합니다. 그러면 명령을 실행한 디렉터리의 하위 디렉터리에 로컬 리포지토리가 생성됩니다. 예를 들어, MyDemoRepo라는 리포지토리를 미국 동부(오하이오) 리전의 my-demo-repo라는 로컬 리포지토리에 복제하려면 다음과 같이 합니다.

    git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

    일부 Windows 버전에서는 사용자 이름과 암호를 묻는 팝업 메시지가 표시될 수 있습니다. 이것은 Windows용 기본 보안 인증 정보 관리 시스템이지만 AWS CodeCommit의 보안 인증 도우미와 호환되지 않습니다. 취소를 선택합니다.

다음 단계

사전 필수 단계를 완료했습니다. CodeCommit 시작하기 에 나와 있는 단계에 따라 CodeCommit의 사용을 시작합니다.