

# CodeCommit용 IAM 자격 증명: Git 자격 증명, SSH 키 및 AWS 액세스 키
<a name="id_credentials_ssh-keys"></a>

CodeCommit은 AWS 클라우드에서 프라이빗 Git 리포지토리를 호스팅하는 관리형 버전 관리 서비스입니다. CodeCommit을 사용하려면 CodeCommit 리포지토리와 통신하도록 Git 클라이언트를 구성합니다. 이 구성의 일환으로 CodeCommit에서 사용자 인증에 사용할 수 있는 IAM 자격 증명을 제공합니다. IAM에서는 세 가지 유형의 자격 증명으로 CodeCommit을 지원합니다.
+ Git 자격 증명: HTTPS를 통해 CodeCommit 리포지토리와 통신하는 데 사용할 수 있는 IAM 생성 사용자 이름 및 암호 페어입니다.
+ SSH 키: SSH를 통해 CodeCommit 리포지토리와 통신하기 위해 IAM 사용자와 연결할 수 있는 로컬로 생성된 퍼블릭-프라이빗 키 페어입니다.
+  [AWS 액세스 키](id_credentials_access-keys.md): HTTPS를 통해 CodeCommit 리포지토리와 통신하기 위해 AWS CLI에 포함된 자격 증명 헬퍼와 함께 사용할 수 있습니다.

**참고**  
또 다른 AWS 계정에서 리포지토리에 액세스하기 위해 SSH 키나 Git 자격 증명을 사용할 수 없습니다. 다른 AWS 계정의 IAM 사용자 및 그룹에 대해 CodeCommit 리포지토리 액세스를 구성하는 방법을 알아보려면 *AWS CodeCommit 사용 설명서*에서 [역할을 사용하여 AWS CodeCommit 리포지토리에 대한 크로스 계정 액세스 구성](https://docs.aws.amazon.com/codecommit/latest/userguide/cross-account.html)을 참조하세요.

각 옵션에 대한 자세한 내용은 다음 섹션을 참조하세요.

## CodeCommit에 Git 자격 증명 및 HTTPS 사용(권장)
<a name="git-credentials-code-commit"></a>

Git 자격 증명을 사용하여 IAM 사용자에 대한 정적 사용자 이름 및 암호 페어를 생성한 다음 HTTPS 연결에 이러한 자격 증명을 사용합니다. 정적 Git 자격 증명을 지원하는 타사 도구 또는 IDE(통합 개발 환경)에서도 이러한 자격 증명을 사용할 수 있습니다.

이러한 자격 증명은 모든 지원되는 운영 체제에 공통적이고 대부분의 자격 증명 관리 시스템, 개발 환경 및 기타 소프트웨어 개발 도구와 호환되므로 이는 권장되는 방법입니다. 언제든지 Git 자격 증명에 대한 암호를 재설정할 수 있습니다. 또한 자격 증명이 더 이상 필요하지 않은 경우 자격 증명을 비활성화하거나 삭제할 수 있습니다.

**참고**  
Git 보안 인증 정보에 대해 본인의 사용자 이름 또는 암호를 선택할 수 없습니다. IAM에서는 사용자가 AWS에 대한 보안 표준을 준수하고 CodeCommit에서 리포지토리를 보호하도록 돕기 위해 이러한 자격 증명을 생성합니다. 자격 증명은 생성될 때 한 번만 다운로드할 수 있습니다. 따라서 자격 증명을 안전한 장소에 보관하세요. 필요한 경우 언제든지 암호를 재설정할 수 있지만, 그러면 이전 암호를 사용하여 구성된 연결은 무효화됩니다. 새 암호를 사용하여 연결하려면 연결을 다시 구성해야 합니다.

자세한 내용은 다음 주제 섹션을 참조하세요.
+ IAM 사용자를 생성하려면 [AWS 계정에서 IAM 사용자 생성](id_users_create.md) 섹션을 참조하세요 
+ CodeCommit에서 Git 자격 증명을 생성하고 사용하려면 *AWS CodeCommit 사용 설명서*의 [Git 자격 증명을 사용하는 HTTPS 사용자의 경우](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-gc.html)를 참조하세요.

**참고**  
Git 자격 증명을 생성한 이후에 IAM 사용자의 이름을 변경해도 Git 자격 증명의 사용자 이름은 변경되지 않습니다. 사용자 이름과 암호는 동일하게 유지되고 계속 유효합니다.

**서비스별 보안 인증을 업데이트하려면**

1. 현재 사용 중인 서비스별 자격 증명 세트 이외에 두 번째 세트를 만듭니다.

1. 새 자격 증명 세트를 사용하도록 모든 애플리케이션을 업데이트하고 애플리케이션이 작동하는지 확인합니다.

1. 원래 자격 증명의 상태를 "Inactive"로 변경합니다.

1. 모든 애플리케이션이 계속 작동하는지 확인합니다.

1. 비활성 서버별 자격 증명을 삭제합니다.

## CodeCommit에 SSH 키 및 SSH 사용
<a name="ssh-keys-code-commit"></a>

SSH 연결을 사용하여 Git 및 CodeCommit에서 SSH 인증에 사용하는 퍼블릭 및 프라이빗 키 파일을 로컬 시스템에서 생성합니다. 퍼블릭 키를 IAM 사용자와 연결하고 프라이빗 키를 로컬 시스템에 저장합니다. 자세한 내용은 다음 주제 섹션을 참조하세요.
+ IAM 사용자를 생성하려면 [AWS 계정에서 IAM 사용자 생성](id_users_create.md) 섹션을 참조하세요 
+ SSH 퍼블릭 키를 생성하여 IAM 사용자와 연결하려면 *AWS CodeCommit 사용 설명서*에서 [Linux, macOS 또는 Unix에서 SSH 연결의 경우](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-ssh-unixes.html) 또는 [Windows에서 SSH 연결의 경우](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-ssh-windows.html)를 참조하세요.

**참고**  
퍼블릭 키는 ssh-rsa 형식 또는 PEM 형식으로 인코딩해야 합니다. 퍼블릭 키의 최소 비트 길이는 2048비트이고 최대 길이는 16384비트입니다. 이것은 업로드하는 파일의 크기와는 별개입니다. 예를 들어 2048비트 키를 생성할 수 있으며 결과 PEM 파일의 길이는 1679바이트입니다. 퍼블릭 키를 다른 형식 또는 크기로 제공하면 키 형식이 잘못되었다는 오류 메시지가 표시됩니다.

## AWS CLI 자격 증명 헬퍼 및 CodeCommit에 HTTPS 사용
<a name="access-keys-code-commit"></a>

Git 자격 증명을 사용한 HTTPS 연결의 대안으로, Git에서 CodeCommit 리포지토리와 상호 작용하기 위해 AWS에 인증해야 할 때마다 암호화 방식으로 서명된 IAM 사용자 자격 증명 또는 Amazon EC2 인스턴스 역할을 사용하도록 허용할 수 있습니다. 이는 IAM 사용자 없이 CodeCommit 리포지토리에 연결할 수 있는 유일한 방법입니다. 또한 페더레이션 액세스 및 임시 자격 증명으로 작동되는 유일한 방법입니다. 자세한 내용은 다음 주제 섹션을 참조하세요.
+ 페더레이션 액세스에 대한 자세한 내용은 [ID 공급자 및 AWS로의 페더레이션](id_roles_providers.md) 및 [외부에서 인증된 사용자에 대한 액세스(ID 페더레이션)](id_roles_common-scenarios_federated-users.md) 단원을 참조하십시오.
+ 임시 자격 증명에 대한 자세한 내용은 [IAM의 임시 보안 자격 증명](id_credentials_temp.md) 및 [CodeCommit 리포지토리에 대한 임시 액세스](https://docs.aws.amazon.com/codecommit/latest/userguide/temporary-access.html)를 참조하세요.

AWS CLI Credential Helper는 Keychain Access, Windows Credential Management 등과 같은 다른 자격 증명 헬퍼 시스템과 호환되지 않습니다. HTTPS를 통한 자격 증명 헬퍼 연결을 구성할 때 고려해야 할 추가 사항이 있습니다. 자세한 내용은 *AWS CodeCommit 사용 설명서*에서 [AWS CLI 자격 증명 헬퍼를 사용한 Linux, macOS 또는 Unix에서 HTTPS 연결](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-https-unixes.html) 또는 [AWS CLI 자격 증명 헬퍼를 사용하여 Windows에서 HTTPS 연결](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-https-windows.html)을 참조하세요.