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

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

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

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

참고

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

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

이 절차에 따라 Amazon Web Services account 계정을 설정하고 IAM 사용자를 생성 및 구성하며 AWS CLI를 설치합니다.

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 다운로드와 같은 웹 사이트를 권장합니다.

참고

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

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

  1. 터미널에서 Git을 사용하여 git config를 실행합니다. 이때 AWS 보안 인증 프로필로 Git 보안 인증 도우미 사용을 지정하고 Git 보안 인증 도우미가 경로를 리포지토리로 전송할 수 있도록 합니다.

    git config --global credential.helper '!aws codecommit credential-helper $@' git config --global credential.UseHttpPath true
    작은 정보

    보안 인증 도우미는 기본 AWS 보안 인증 프로필 또는 Amazon EC2 인스턴스 역할을 사용합니다. CodeCommit에서 사용할 AWS 보안 인증 프로필을 생성한 경우에는 CodeCommitProfile과 같이 사용할 프로필을 다음과 같이 지정할 수 있습니다.

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

    프로필 이름에 공백이 포함되어 있는 경우에는 그 이름을 인용 부호(")로 묶어주어야 합니다.

    --global 대신에 --local을 사용함으로써 전역적으로가 아닌 리포지토리당 프로필을 구성할 수 있습니다.

    Git 보안 인증 도우미는 다음 값을 ~/.gitconfig에 작성합니다.

    [credential] helper = !aws --profile CodeCommitProfile codecommit credential-helper $@ UseHttpPath = true
    중요

    CodeCommit에 대해 동일한 로컬 시스템에서 다른 IAM 사용자를 사용하려면 git config 명령을 다시 실행하여 다른 AWS 보안 인증 프로필을 지정해야 합니다.

  2. git config --global --edit를 실행하여 이전 값이 ~/.gitconfig에 기록되었는지 확인합니다. 기록되었다면 Git 전역 구성 파일에 이미 있는 값뿐 아니라 이전 값도 보여야 합니다. 종료하려면 일반적으로 :q를 입력한 다음 Enter를 누릅니다.

    보안 인증 도우미를 구성한 후에 문제가 있으면 문제 해결 단원을 참조하십시오.

    중요

    macOS를 사용하고 있다면 다음 절차를 통해 보안 인증 도우미가 올바르게 구성되도록 할 수 있습니다.

  3. macOS를 사용하고 있다면 HTTPS를 사용해 CodeCommit 리포지토리에 접속합니다. HTTPS로 CodeCommit 리포지토리에 처음 연결한 후 약 15분이 지나면 후속 액세스가 불가능해집니다. macOS의 기본 Git 버전에서는 Keychain Access 유틸리티를 사용하여 보안 인증 정보을 저장합니다. 보안 조치를 위해 해당 CodeCommit 리포지토리에 액세스하기 위해 생성된 암호가 임시용으로 설정되어 있으므로 키 체인에 저장된 보안 인증 정보은 약 15분 후에 작동을 멈춥니다. 이처럼 만료된 보안 인증 정보을 사용하지 못하도록 방지하려면 다음 중 한 가지를 수행해야 합니다.

    • 키 체인을 사용하도록 기본 설정되어 있지 않은 Git 버전을 설치합니다.

    • CodeCommit 리포지토리에 보안 인증 정보을 제공하지 않도록 Keychain Access 유틸리티를 구성합니다.

    1. Keychain Access 유틸리티를 실행합니다. (Finder를 사용하여 이 유틸리티를 찾을 수 있습니다.)

    2. git-codecommit.us-east-2.amazonaws.com를 찾습니다. 행을 강조 표시하고 컨텍스트 메뉴를 열거나 마우스 오른쪽 버튼으로 클릭한 다음 정보 가져오기를 선택합니다.

    3. 액세스 제어 탭을 선택합니다.

    4. 액세스 허용 전 확인에서 git-credential-osxkeychain을 선택한 후 마이너스 기호를 선택하여 목록에서 제거합니다.

      참고

      목록에서 git-credential-osxkeychain을 제거하면 Git 명령을 실행할 때마다 팝업 메시지가 표시됩니다. 거부를 선택하여 계속 진행합니다. 팝업이 너무 방해가 되는 경우, 다음과 같은 다른 옵션을 선택할 수 있습니다.

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

다음 단계

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