AWS CodeCommit 리포지토리 공유 - AWS CodeCommit

AWS CodeCommit 는 더 이상 신규 고객이 사용할 수 없습니다. AWS CodeCommit 의 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세히 알아보기

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

AWS CodeCommit 리포지토리 공유

CodeCommit 리포지토리를 생성한 후 이를 다른 사용자와 공유할 수 있습니다. 먼저 CodeCommit에 액세스할 때 페더레이션 액세스, 임시 보안 인증 정보, IAM Identity Center와 같은 웹 자격 증명 공급자를 사용할지, 아니면 IAM 사용자로 Git 보안 인증 정보나 SSH 키 페어를 사용할지 결정합니다. 전자를 사용하는 경우에는 자격 증명 공급자에 대한 사용자, 엑세스, 권한 등을 설정한 다음 사용자가 git-remote-codecommit을 사용하는 데 필요한 지침을 제공해야 합니다. 자세한 내용은 git-remote-codecommit을 AWS CodeCommit 사용하여에 HTTPS 연결을 위한 설정 단계교체 자격 증명을 사용하여 AWS CodeCommit 리포지토리에 연결 섹션을 참조하세요.

페더레이션 액세스나 자격 증명 공급자와 함께 Git 보안 인증 정보 또는 SSH 키 페어를 사용할 수는 없지만, 다수의 IDE는 이러한 보안 인증 정보들과 가장 잘 작동합니다. 이런 경우에는 Git 클라이언트 또는 IDE를 복제 및 사용하여 리포지토리에 접속할 때 사용자에게 어떤 프로토콜(HTTPS 또는 SSH)을 권장할 것인지 결정합니다. 그런 다음 리포지토리를 공유하고 싶은 사용자들에게 URL과 접속 정보를 전송합니다. 보안 요건에 따라, 리포지토리를 공유하는 데는 IAM 그룹 생성, 이 그룹에 관리형 정책 적용, 액세스 권한 세분화를 위한 IAM 정책 편집, IAM 역할 생성 및 사용 등이 필요할 수도 있습니다.

참고

사용자에게 리포지토리에 대한 콘솔 액세스 권한을 부여한 후 사용자는 Git 클라이언트 또는 기타 연결을 설정할 필요 없이 콘솔에서 직접 파일을 추가하거나 편집할 수 있습니다. 자세한 내용은 AWS CodeCommit 리포지토리에 파일 생성 또는 추가AWS CodeCommit 리포지토리에서 파일의 콘텐츠 편집 섹션을 참조하세요.

이 지침들은 사용자가 설정 리포지토리 생성의 단계를 이미 완료했다는 가정하에 작성되었습니다.

참고

사용량에 따라, 리포지토리를 생성하거나 액세스하는 것에 대한 비용이 부과될 수 있습니다. 자세한 내용은 CodeCommit 제품 정보 페이지에서 요금을 참조하세요.

사용자들과 공유할 접속 프로토콜 선택

CodeCommit에 리포지토리를 생성하면 엔드포인트가 두 개 생성되는데, 하나는 HTTPS 접속을 위한 것이고 다른 하나는 SSH 접속을 위한 것입니다. 둘 다 네트워크를 통한 안전한 접속이 가능합니다. 사용자는 둘 중 한 가지 프로토콜을 사용할 수 있습니다. 해당 사용자들에게 어떤 프로토콜을 권장하든지 상관없이 두 엔드포인트 모두 활성화된 상태를 유지합니다.

HTTPS 연결에는 다음 중 하나가 필요합니다.

  • IAM 사용자가 IAM에서 직접 생성할 수 있는 Git 보안 인증 정보. Git 보안 인증 정보는 리포지토리 사용자들이 설정하여 사용하기 가장 쉬운 방법입니다.

  • 리포지토리 사용자가 자격 증명 프로필에서 구성해야 하는 수임할 AWS 액세스 키 또는 역할입니다. git-remote-codecommit(권장)를 구성하거나 AWS CLI에 포함된 보안 인증 도우미를 구성할 수 있습니다. 이는 루트 계정 또는 페더레이션형 사용자에 사용할 수 있는 유일한 방법입니다.

SSH 연결을 위해서는 사용자가 다음 작업을 수행해야 합니다.

  • 퍼블릭-프라이빗 키 페어를 생성합니다.

  • 퍼블릭 키를 저장합니다.

  • 퍼블릭 키를 IAM 사용자와 연결합니다.

  • 로컬 컴퓨터에서 알려진 호스트 파일을 구성합니다.

  • 로컬 컴퓨터에서 config 파일을 생성하고 유지합니다.

이것은 더 복잡한 구성 절차이므로 CodeCommit 연결에는 HTTPS 및 Git 보안 인증 정보를 선택하는 것이 좋습니다.

HTTPS, SSH, Git, git-remote-codecommit 및 원격 리포지토리에 대한 자세한 내용은 설정 , 교체 자격 증명을 사용하여 AWS CodeCommit 리포지토리에 연결 단원 또는 해당 Git 문서를 참조하세요.

참고

Git에서는 다양한 접속 프로토콜을 지원하지만 CodeCommit에서는 로컬 프로토콜 또는 일반 HTTP와 같은 비보안 프로토콜을 통한 접속은 지원하지 않습니다.

리포지토리를 위한 IAM 정책 생성

AWS 는 CodeCommit용 IAM에서 세 가지 관리형 정책을 제공합니다. 이 정책은 편집할 수 없으며 Amazon Web Services 계정에 연결된 모든 리포지토리에 적용됩니다. 그러나 이러한 정책을 템플릿으로 사용함으로써 자신이 공유하고 싶은 리포지토리에만 적용되는 고유한 사용자 지정 관리형 정책을 생성할 수 있습니다. 이렇게 생성한 사용자 지정 관리형 정책은 자신이 공유하고 싶은 리포지토리에 한해 적용할 수 있습니다. 자세한 내용은 관리형 정책IAM 사용자 및 그룹을 참조하세요.

작은 정보

리포지토리에 대한 액세스를 더 미세하게 관리하기 위해 고객 관리형 정책을 하나 이상 생성하여 이 정책을 여러 IAM 사용자 및 그룹에 적용할 수 있습니다.

관리형 정책 내용 검토 및 정책을 사용하여 권한 생성 및 적용에 대한 자세한 내용은 AWS CodeCommit에 대한 인증 및 액세스 제어 단원을 참조하세요.

리포지토리를 위한 고객 관리형 정책 만들기
  1. 에 로그인 AWS Management Console 하고 https://console.aws.amazon.com/iam/ IAM 콘솔을 엽니다.

  2. 대시보드 탐색 영역에서 정책을 선택한 다음 정책 생성을 선택합니다.

  3. 정책 생성 페이지에서 관리형 정책 가져오기를 선택합니다.

  4. 관리형 정책 가져오기 페이지의 필터 정책AWSCodeCommitPowerUser를 입력합니다. 정책 이름 옆에 있는 버튼을 선택한 다음 가져오기를 선택합니다.

  5. 정책 생성 페이지에서 JSON을 선택합니다. 다음과 같이 CodeCommit 작업을 위한 Resource 줄의 “*” 부분을 CodeCommit 리포지토리의 Amazon 리소스 이름(ARN)으로 교체합니다.

    "Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" ]
    작은 정보

    CodeCommit 리포지토리의 ARN을 찾으려면, CodeCommit 콘솔로 이동하고 목록에서 리포지토리 이름을 선택한 다음 설정을 선택합니다. 자세한 내용은 리포지토리 세부 정보 보기 단원을 참조하십시오.

    이 정책을 둘 이상의 리포지토리에 적용하려면, ARN을 지정하여 각 리포지토리를 리소스로 추가합니다. 다음과 같이 각 리소스 명령문 사이에 쉼표를 넣습니다.

    "Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "arn:aws:codecommit:us-east-2:111111111111:MyOtherDemoRepo" ]

    편집이 완료되면 정책 검토를 선택합니다.

  6. 정책 검토 페이지의 이름에 정책의 새 이름을 입력합니다(예: AWSCodeCommitPowerUser-MyDemoRepo). 선택 사항으로 이 정책에 대한 설명을 제공할 수 있습니다.

  7. 정책 생성을 선택합니다.

리포지토리 사용자를 위한 IAM 그룹 생성

자신의 리포지토리에 대한 액세스를 관리하려면, 리포지토리 사용자에 대한 IAM 그룹을 생성하고, 해당 그룹에 IAM 사용자를 추가한 다음, 이전 단계에서 생성한 고객 관리형 정책을 연결합니다. 또는 연결된 고객 관리형 정책을 사용하여 역할을 생성하고, 사용자에게 해당 역할을 수임하도록 할 수 있습니다.

SSH를 사용하는 경우에는 IAMUserSSHKeys 그룹에 다른 관리형 정책, 즉 사용자들이 자신의 SSH 퍼블릭 키를 업로드하도록 허용하는 IAM 관리형 정책을 연결하고 이를 사용자들이 CodeCommit에 접속할 때 사용할 IAM 사용자와 연동해야 합니다.

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

  2. 대시보드 탐색 영역에서 그룹을 선택한 다음 새 그룹 생성을 선택합니다.

  3. 그룹 이름 설정 페이지의 그룹 이름에 그룹 이름(예: MyDemoRepoGroup)을 입력한 다음 다음 단계를 선택합니다. 그룹 이름에는 리포지토리 이름을 포함시키는 것이 좋습니다.

    참고

    그룹 이름은 Amazon Web Services 계정 전체에서 고유해야 합니다.

  4. 이전 섹션에서 생성한 고객 관리형 정책(예: AWSCodeCommitPowerUser-MyDemoRepo) 옆의 상자를 선택합니다.

  5. 검토 페이지에서 그룹 생성을 선택합니다. IAM은 지정된 정책이 이미 연결된 상태로 이 그룹을 생성합니다. 해당 그룹이 Amazon Web Services 계정에 연결된 그룹 목록에 나타납니다.

  6. 목록에서 그룹을 선택합니다.

  7. 그룹 요약 페이지에서 사용자 탭을 선택한 다음 그룹에 사용자 추가를 선택합니다. Amazon Web Services 계정과 연결된 모든 사용자를 표시하는 목록에서, CodeCommit 리포지토리에 대한 액세스를 허용할 사용자 옆의 상자를 선택한 다음 사용자 추가를 선택합니다.

    작은 정보

    검색 상자를 사용하여 이름별로 사용자를 빠르게 찾을 수 있습니다.

  8. 사용자를 추가했으면 IAM 콘솔을 닫습니다.

해당 사용자들과 접속 정보 공유

  1. https://console.aws.amazon.com/codesuite/codecommit/home에서 CodeCommit 콘솔을 엽니다.

  2. 리전 선택기에서 리포지토리가 생성된 AWS 리전 를 선택합니다. 리포지토리는에 고유합니다 AWS 리전. 자세한 내용은 리전 및 Git 연결 엔드포인트 단원을 참조하십시오.

  3. 리포지토리 페이지에서 공유할 리포지토리를 선택합니다.

  4. URL 복제에서 사용자가 사용하게 할 프로토콜을 선택합니다. 그러면 연결 프로토콜에 대한 복제 URL이 복사됩니다.

  5. 사용자에게 복제 URL을 설치, 프로필 AWS CLI구성 또는 Git 설치와 같은 다른 지침과 함께 전송합니다. 연결 프로토콜(예: HTTPS)에 대한 구성 정보를 포함해야 합니다.

다음 예시 이메일에서는 미국 동부(오하이오)(us-east-2) 리전에서 HTTPS 접속 프로토콜 및 Git 보안 인증 정보를 통해 MyDemoRepo 리포지토리에 접속하는 사용자들에게 관련 정보를 제공합니다. 이 이메일은 사용자가 이미 Git을 설치했고 Git 사용에 익숙하다는 가정 하에 작성되었습니다.

I've created a CodeCommit repository for us to use while working on our project. The name of the repository is MyDemoRepo, and it is in the US East (Ohio) (us-east-2) region. Here's what you need to do in order to get started using it: 1. Make sure that your version of Git on your local computer is 1.7.9 or later. 2. Generate Git credentials for your IAM user by signing into the IAM console here: https://console.aws.amazon.com/iam/. Switch to the Security credentials tab for your IAM user and choose the Generate button in HTTPS Git credentials for CodeCommit. Make sure to save your credentials in a secure location! 3. Switch to a directory of your choice and clone the CodeCommit repository to your local machine by running the following command: git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo 4. When prompted for user name and password, use the Git credentials you just saved. That's it! If you'd like to learn more about using CodeCommit, you can start with the tutorial here.

설정 에서 완전한 설정 관련 지침을 볼 수 있습니다.