AWS CodeCommit을 위한 IAM 기반 아이디 생성 및 인증하기
HTTPS를 통해 AWS CodeCommit 저장소(repository)에 인증하는 간단한 방법을 소개합니다.
Git 자격 증명(Git Credentials)을 사용하면, 명령 줄이나 Git CLI, 혹은 HTTPS 인증을 지원하는 어떤 Git 도구에서든 AWS CodeCommit 저장소에 액세스하는데 사용 할 수 있는 정적 사용자 이름과 암호를 IAM (Identity and Access Management) 콘솔에서 생성 할 수 있습니다.이는 정적 자격 증명이기 때문에, 로컬 운영 체제에 포함된 암호 관리 도구를 사용하여 캐시하거나 자격 증명 관리 유틸리티에 저장할 수 있습니다. 이를 통해 수분 내에 AWS CodeCommit을 시작 할 수 있습니다.
HTTPS를 통해 AWS CodeCommit 저장소에 연결하기 위해 AWS CLI를 다운로드하거나 Git 클라이언트를 구성 할 필요가 없습니다. 또한 인기있는 Git GUI 클라이언트 (예 : TowerUI)와 IDE(예 : Eclipse, IntelliJ 및 Visual Studio)등 사용자 이름과 비밀번호를 이용한 인증을 지원하는 타사 도구에서 AWS CodeCommit 저장소를 손쉽게 연결할 수 있습니다.그러면 이 기능을 왜 추가했을까요? 이전까지 HTTPS 연결을 통해 AWS CodeCommit을 이용하려는 사용자는 인증을 위해 AWS credential helper를 구성해야했습니다.
일부 고객 분들은 이러한 credential helper가 가끔씩 Keychain Access와 Windows Vault 같은 암호 관리 도구를 방해하여 인증 실패를 발생시킨다고 말했습니다. 또한 많은 Git GUI 도구와 IDE는 원격 Git 저장소에 연결하기 위해 정적 사용자 이름과 암호가 필요하며 credential helper를 이용한 연결을 지원하지 않습니다.이번 블로그 게시물에서는 AWS CodeCommit 저장소 생성, Git 자격 증명 생성, AWS CodeCommit 저장소에 대한 CLI Access 설정 과정을 설명합니다.
Git Credentials 실습
Dave가 AWS CodeCommit에서 저장소를 만들고 그의 컴퓨터에서 로컬 액세스를 설정하려는 상황을 가정 해봅시다.
선행 조건: Dave가 이전에 로컬 컴퓨터에 AWS CodeCommit에 대한 credential helper를 구성한 경우, .gitconfig 파일을 편집하여 해당 정보를 제거해야 합니다. 또한 로컬 컴퓨터가 MacOS인 경우 Keychain Access에서 캐시된 자격 증명을 지워야 할 수 있습니다.
Git 자격 증명을 이용하면, Dave는 이제 4 단계의 간단한 작업으로 저장소를 만들고 AWS CodeCommit을 사용 할 수 있습니다.
1 단계: IAM 사용자에게 필수 권한이 있는지 확인합니다.
Dave가 Git 자격 증명을 이용한 AWS CodeCommit 액세스 권한을 설정하려면 그의 IAM 사용자이 아래 관리 정책(managed policies)에 연결되어 있어야 합니다. (또는 이와 동등한 권한)
- AWSCodeCommitPowerUser (or an appropriate CodeCommit managed policy)
- IAMSelfManageServiceSpecificCredentials
- IAMReadOnlyAccess
2 단계 : AWS CodeCommit 저장소를 생성합니다.
다음으로, AWS CodeCommit 콘솔에 로그인하고 저장소가 없는 경우 새로 저장소를 만듭니다. 액세스 권한이 있다면 AWS 계정 내 어떤 저장소를 선택하여도 괜찮습니다. Git 자격 증명을 만드는 방법은 도움말 패널에 나와 있습니다. (지시 사항이 표시되지 않으면 연결 단추를 선택하십시오.) IAM 사용자 링크를 클릭하면 IAM 콘솔이 열리며 자격 증명을 생성 할 수 있습니다. (역자주: 현재 AWS CodeCommit은 한국어 콘솔을 제공하고 있습니다.)
3 단계 : IAM 콘솔에서 HTTPS Git 자격 증명 만들기
IAM 사용자 페이지에서, Security Credentials 탭을 선택한 후 HTTPS Git credentials for AWS CodeCommit 영역의 Generate 버튼을 클릭합니다. 사용자 이름과 암호가 생성되고 표시됩니다. 자격 증명을 파일로 다운로드 할 수 있습니다.
Note: 이 단계에서만 암호를 확인하거나 다운로드할 수 있습니다.
4 단계 : 로컬 시스템 저장소에 복제합니다.
AWS CodeCommit 콘솔 페이지에서 Clone URL을 선택한 다음, 저장소 복제를 위한 HTTPS 링크를 복사합니다. 명령 행이나 터미널에서 방금 복사한 링크를 사용하여 저장소를 복제합니다. 예를 들어 다음과 같이 HTTP 링크를 복사하고,
그런 다음, 명령 줄이나 터미널에 아래와 같이 입력합니다.
$ git clone https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/TestRepo_Dave
사용자 이름과 암호를 묻는 메시지가 나타나면 3 단계에서 생성 한 Git 자격 증명 (사용자 이름과 암호)을 제공합니다.
이제 코드를 새 저장소로 푸시할 준비가 되었습니다.
Git 자격 증명은 요구 사항에 따라 활성화하거나 비활성화 할 수 있습니다. 또한 필요한 경우, 암호를 재설정 할 수도 있습니다.
다음 단계
- 필요에 따라 Git 자격 증명 캐싱 명령(링크를 참조)을 사용하여 자격 증명을 캐시 할 수 있습니다 .
- 공동 작업자를 AWS CodeCommit 저장소에서 작업 할 수 있도록 초대하고 싶습니까? AWS 계정에 새 IAM 사용자를 만들고, 해당 사용자에 대한 Git 자격 증명을 만든 후 저장소 URL과 Git 자격 증명을 공동 작업하려는 사람과 안전하게 공유하기 만하면 됩니다.
- Git 자격 증명 (저장된 사용자 이름 및 비밀번호)을 통한 원격 Git 리포지토리 연결을 지원하는 타사 클라이언트(third-party client)에 연결합니다. 사실상 모든 도구와 IDE를 정적 자격 증명을 사용하여 연결할 수 있습니다. 우리는 다음을 테스트했습니다 :
- Visual Studio (기본 Git plugin 사용)
- Eclipse IDE (기본 Git plugin 사용)
- Git Tower UI
자세한 내용은 AWS CodeCommit 설명서를 참조하십시오.
AWS CodeCommit에 연결하는 새로운 방법을 제공하게 된 것을 기쁘게 생각합니다. 더 많은 Tool과 IDE에서 AWS CodeCommit 저장소를 사용하실 수 있기를 바랍니다.
이 글은 AWS DevOps 블로그의 Introducing Git Credentials: A Simple Way to Connect to AWS CodeCommit Repositories Using a Static User Name and Password의 한국어 번역으로 강정희 솔루션즈 아키텍트께서 번역해 주셨습니다.
Leave a Reply