교체 보안 인증 정보를 사용하여 AWS CodeCommit 리포지토리에 연결 - AWS CodeCommit

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

교체 보안 인증 정보를 사용하여 AWS CodeCommit 리포지토리에 연결

IAM 사용자를 구성하거나 액세스 키와 보안 키를 사용하지 않고도 AWS CodeCommit 리포지토리에 대한 액세스 권한을 사용자에게 부여할 수 있습니다. 페더레이션 보안 인증 정보 권한을 부여하려면 역할을 생성하고 해당 역할의 권한을 정의합니다. 페더레이션 자격 증명이 인증되면 역할이 연결되고 역할에 정의된 권한이 부여됩니다. 페더레이션 역할에 대한 자세한 내용은 IAM 사용 설명서타사 자격 증명 공급자의 역할 만들기를 참조하세요. IAM Identity Center를 사용하는 경우 권한 집합을 구성합니다. 인증 후 아이덴티티가 액세스할 수 있는 항목을 제어하기 위해 IAM Identity Center는 권한 세트를 IAM의 역할과 연관짓습니다. 권한 세트에 대한 자세한 내용은 AWS IAM Identity Center 사용 설명서권한 세트를 참조하세요. 또한 IAM 사용자가 별도의 Amazon Web Services 계정의 CodeCommit 리포지토리에 액세스할 수 있도록 역할 기반 액세스를 구성할 수도 있습니다(크로스 계정 액세스라고 하는 기술). 리포지토리에 대한 크로스 계정 액세스를 구성하는 연습은 역할을 사용하여 AWS CodeCommit 리포지토리에 대한 계정 간 액세스를 구성합니다. 단원을 참조하세요.

다음과 같은 방법으로 인증하려는(또는 인증해야 하는) 사용자에 대해 액세스를 구성할 수 있습니다.

  • SAML(Security Assertion Markup Language)

  • 멀티 팩터 인증(MFA)

  • 연동

  • Login with Amazon

  • Amazon Cognito

  • Facebook

  • Google

  • OpenID Connect(OIDC) 호환 ID 공급자

참고

다음은 git-remote-codecommit 또는 AWS CLI 보안 인증 도우미를 사용하여 CodeCommit 리포지토리에 연결하는 경우에만 적용되는 정보입니다. CodeCommit에 대한 임시 액세스 또는 페더레이션 액세스에 권장되는 접근 방식은 git-remote-codecommit를 설정하는 것이므로, 이 항목에서는 해당 유틸리티를 사용하는 예제를 제공합니다. 자세한 내용은 git-remote-codecommit을 사용하여 AWS CodeCommit에 대한 HTTPS 연결을 위한 설정 단계 단원을 참조하세요.

SSH 또는 Git 보안 인증 정보와 HTTPS를 사용하여 CodeCommit 리포지토리를 교체 또는 임시 액세스 보안 인증 정보와 연결할 수 없습니다.

다음 요구 사항이 모두 충족될 경우에는 이 단계들을 완료할 필요가 없습니다.

이전 요구 사항을 충족하는 Amazon EC2 인스턴스가 임시 액세스 보안 인증 정보를 CodeCommit에 자동으로 전달해 주도록 이미 설정되어 있는 경우.

참고

Amazon EC2 인스턴스에서 git-remote-codecommit을 구성하고 사용할 수 있습니다.

사용자에게 CodeCommit 리포지토리에 대한 임시 액세스 권한을 제공하려면 다음 단계를 완료합니다.

1단계: 필수 구성 요소 완성

설정 단계를 완료하여 사용자에게 교체 보안 인증 정보를 사용하여 CodeCommit 리포지토리에 액세스할 수 있는 권한을 제공합니다.

AWS CodeCommit에 대한 인증 및 액세스 제어의 정보를 활용하여 사용자에게 부여할 CodeCommit 권한을 지정합니다.

2단계: 역할 이름 또는 액세스 보안 인증 정보 가져오기

사용자가 역할을 맡아 리포지토리에 액세스하도록 하려면 해당 역할의 Amazon 리소스 이름(ARN)을 사용자에게 제공합니다. 그렇지 않으면 액세스 설정 방법에 따라 사용자는 다음 방법 중 하나를 사용하여 교체 보안 인증 정보를 얻을 수 있습니다.

3단계: git-remote-codecommit 설치 및 AWS CLI 구성

AWS CLI에서 git-remote-codecommit을 설치하고 프로필을 구성하여 액세스 보안 인증 정보를 사용하도록 로컬 컴퓨터를 구성해야 합니다.

  1. 설정 의 지침에 따라 AWS CLI를 설정합니다. aws configure 명령을 사용하여 하나 이상의 프로필을 구성합니다. 교체 보안 인증 정보를 사용하여 CodeCommit 리포지토리에 연결할 때 사용할 명명된 프로필을 생성하는 것이 좋습니다.

  2. 다음 방법 중 하나를 사용하여 보안 인증 정보를 사용자의 AWS CLI라는 프로필과 연결할 수 있습니다.

    • CodeCommit에 액세스할 역할을 수임하는 경우 해당 역할을 수임하는 데 필요한 정보를 사용하여 명명된 프로파일을 구성합니다. 예를 들어, Amazon Web Services 계정 1111111111에서 CodeCommitAccess라는 역할을 수임하려는 경우, 다른 AWS 리소스로 작업할 때 사용할 기본 프로필과 해당 역할을 맡을 때 사용할 명명된 프로필을 구성할 수 있습니다. 다음 명령은 CodeCommitAccess라는 역할을 맡은 CodeAccess라는 프로필을 생성합니다. 사용자 이름 Maria_Garcia는 세션과 연결되어 있으며 기본 프로필은 AWS 보안 인증 정보의 소스로 설정됩니다.

      aws configure set role_arn arn:aws:iam::111111111111:role/CodeCommitAccess --profile CodeAccess aws configure set source_profile default --profile CodeAccess aws configure set role_session_name "Maria_Garcia" --profile CodeAccess

      변경 사항을 확인하려면 ~/.aws/config 파일(Linux용) 또는 %UserProfile%.aws\config 파일(Windows용)을 수동으로 보거나 편집하고 명명된 프로필 아래의 정보를 검토합니다. 예를 들어 파일은 다음과 비슷할 것입니다.

      [default] region = us-east-1 output = json [profile CodeAccess] source_profile = default role_session_name = Maria_Garcia role_arn = arn:aws:iam::111111111111:role/CodeCommitAccess

      명명된 프로필을 구성한 후에는 명명된 프로필을 사용하여 git-remote-codecommit 유틸리티로 CodeCommit 리포지토리를 복제할 수 있습니다. 예를 들어, MyDemoRepo라는 리포지토리를 복제하려면 다음과 같이 합니다.

      git clone codecommit://CodeAccess@MyDemoRepo
    • 웹 ID 페더레이션 및 OpenID Connect(OIDC)를 사용하는 경우, 사용자 대신 AWS Security Token Service(AWS STS) AssumeRoleWithWebIdentity API 직접 호출을 하여 임시 보안 인증 정보를 새로 고치는 명명된 프로필을 구성합니다. aws configure set 명령을 사용하거나 ~/.aws/credentials 파일(Linux의 경우) 또는 %UserProfile%.aws\credentials 파일(Windows용)을 수동으로 편집하여 필요한 설정 값이 있는 AWS CLI 명명된 프로필을 추가합니다. 예를 들어, CodeCommitAccess 역할을 수임하고 웹 자격 증명 토큰 파일 ~/my-credentials/my-token-file을 사용하는 프로필을 생성하려면 다음과 같이 합니다.

      [CodeCommitWebIdentity] role_arn = arn:aws:iam::111111111111:role/CodeCommitAccess web_identity_token_file=~/my-credentials/my-token-file role_session_name = Maria_Garcia

    자세한 내용은 AWS Command Line Interface 사용 설명서에서 AWS Command Line Interface 구성하기AWS CLI에서 IAM 역할 사용하기를 참조하세요.

4단계: CodeCommit 리포지토리 액세스

사용자가 리포지토리에 연결의 지침에 따라 CodeCommit 리포지토리에 연결한 경우, git-remote-codecommit에서 제공한 확장된 기능과 Git을 사용해 git clone, git push, git pull을 직접 호출하여, 액세스 권한이 있는 CodeCommit 리포지토리를 복제하고 푸시하고 풀할 수 있습니다. 예를 들어 리포지토리를 복제하려면 다음과 같이 합니다.

git clone codecommit://CodeAccess@MyDemoRepo

Git 커밋, 푸시 및 풀 명령은 일반 Git 구문을 사용합니다.

사용자가 AWS CLI를 사용하고 교체 액세스 보안 인증 정보와 연결된 AWS CLI 명명된 프로필을 지정하는 경우, 해당 프로필에 지정된 결과가 반환됩니다.