기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS CodeArtifact 인증 및 토큰
CodeArtifact 에서는 사용자가 패키지 버전을 게시하거나 사용하기 위해 서비스로 인증하도록 요구합니다. AWS 자격 증명을 사용하여 권한 부여 토큰을 생성하여 CodeArtifact 서비스에 인증해야 합니다. 인증 토큰을 생성하려면 올바른 권한이 있어야 합니다. 인증 토큰을 만드는 데 필요한 권한은 AWS CodeArtifact 사용 권한 참조의 GetAuthorizationToken
항목을 참조하세요. CodeArtifact 권한에 대한 자세한 내용은 섹션을 참조하세요에서 를 AWS CodeArtifact 사용하는 방법 IAM.
에서 권한 부여 토큰을 가져오려면 를 호출 CodeArtifact해야 합니다GetAuthorizationToken API. 를 사용하여 login
또는 get-authorization-token
명령을 GetAuthorizationToken
사용하여 를 호출 AWS CLI할 수 있습니다.
참고
루트 사용자는 GetAuthorizationToken
를 호출할 수 없습니다.
aws codeartifact login
: 이 명령을 사용하면 단일 단계에서 사용할 공통 패키지 관리자를 쉽게 구성할 수 CodeArtifact 있습니다. 호출은 를 사용하여 토큰을login
가져오GetAuthorizationToken
고 토큰 및 올바른 CodeArtifact 리포지토리 엔드포인트를 사용하여 패키지 관리자를 구성합니다. 지원 패키지 관리자는 다음과 같습니다.dotnet
npm
너겟
pip
스위프트
트위닝
aws codeartifact get-authorization-token
:login
에서 지원하지 않는 패키지 관리자의 경우, 직접get-authorization-token
을 호출한 다음 필요에 따라 토큰을 사용하여 패키지 관리자를 구성할 수 있습니다(예: 구성 파일에 추가하거나 환경 변수에 저장).
CodeArtifact 권한 부여 토큰은 기본 기간인 12시간 동안 유효합니다. 토큰의 수명은 15분에서 12시간 사이로 구성할 수 있습니다. 수명이 만료되면 다른 토큰을 가져와야 합니다. 토큰 수명은 login
또는 get-authorization-token
호출 이후에 시작됩니다.
역할을 수임하는 동안 login
또는 get-authorization-token
를 호출하는 경우 값을 --duration-seconds
~0
로 설정하여 토큰의 수명을 역할의 세션 지속 기간 중 남은 시간과 같게 구성할 수 있습니다. 그렇지 않으면 토큰 수명은 역할의 최대 세션 지속 기간과 무관합니다. 예를 들어 를 호출sts assume-role
하고 세션 지속 시간을 15분으로 지정한 다음 를 호출login
하여 CodeArtifact 권한 부여 토큰을 가져오라고 가정해 보겠습니다. 이 경우 토큰은 세션 지속 기간인 15분보다 길더라도 전체 12시간 동안 유효합니다. 세션 기간 제어에 대한 자세한 내용은 IAM 사용 설명서의 IAM 역할 사용을 참조하세요.
login
명령으로 생성된 토큰
aws codeartifact login
명령은 를 사용하여 토큰을 가져오GetAuthorizationToken
고 토큰 및 올바른 CodeArtifact 리포지토리 엔드포인트를 사용하여 패키지 관리자를 구성합니다.
다음 표는 login
명령의 파라미터를 설명합니다.
파라미터 | 필수 | 설명 |
---|---|---|
|
예 |
인증할 패키지 관리자입니다. 가능한 값은 |
|
예 |
리포지토리가 속한 도메인 이름입니다. |
|
아니요 |
도메인 소유자의 ID입니다. 이 파라미터는 인증되지 않은 AWS 계정이 소유한 도메인에 액세스하는 경우 필요합니다. 자세한 내용은 크로스 계정 도메인 단원을 참조하십시오. |
|
예 |
인증할 리포지토리의 이름입니다. |
|
아니요 |
로그인 정보가 유효한 시간(초)입니다. 최솟값은 900*이고 최댓값은 43200입니다. |
|
아니요 |
네임스페이스를 리포지토리 도구와 연결합니다. |
|
아니요 |
구성을 변경하지 않고 도구를 리포지토리에 연결하기 위해 실행되는 명령만 출력합니다. |
*0 값은 역할을 수임한 상태에서 |
다음 예제에서는 login
명령으로 인증 토큰을 가져오는 방법을 보여줍니다.
aws codeartifact login \ --tool
dotnet | npm | nuget | pip | swift | twine
\ --domainmy_domain
\ --domain-owner111122223333
\ --repositorymy_repo
npm과 함께 login
명령을 사용하는 방법에 대한 구체적인 지침은 에서 npm 구성 및 사용 CodeArtifact 섹션을 참조하세요. Python의 경우 Python CodeArtifact 과 함께 사용 섹션을 참조하세요.
를 호출하는 데 필요한 권한 GetAuthorizationToken
API
를 호출 CodeArtifact GetAuthorizationToken
하려면 sts:GetServiceBearerToken
및 codeartifact:GetAuthorizationToken
권한이 모두 필요합니다API.
CodeArtifact 리포지토리와 함께 패키지 관리자를 사용하려면 IAM 사용자 또는 역할이 를 허용해야 합니다sts:GetServiceBearerToken
. 를 CodeArtifact 도메인 리소스 정책에 추가할 sts:GetServiceBearerToken
수 있지만 해당 정책에는 권한이 적용되지 않습니다.
로 생성된 토큰 GetAuthorizationToken
API
를 호출get-authorization-token
하여 에서 권한 부여 토큰을 가져올 수 있습니다 CodeArtifact.
aws codeartifact get-authorization-token \ --domain
my_domain
\ --domain-owner111122223333
\ --query authorizationToken \ --output text
--duration-seconds
인수를 사용하여 토큰의 유효 기간을 변경할 수 있습니다. 최솟값은 900이고 최댓값은 43200입니다. 다음 예제에서는 1시간(3,600초) 동안 지속되는 토큰을 생성합니다.
aws codeartifact get-authorization-token \ --domain
my_domain
\ --domain-owner111122223333
\ --query authorizationToken \ --output text \ --duration-seconds3600
역할을 수임하면서 get-authorization-token
을 호출하는 경우 토큰 수명은 역할의 최대 세션 기간과 무관합니다. --duration-seconds
값을 0으로 설정하여 위임된 역할의 세션 기간이 만료될 때 토큰이 만료되도록 구성할 수 있습니다.
aws codeartifact get-authorization-token \ --domain
my_domain
\ --domain-owner111122223333
\ --query authorizationToken \ --output text \ --duration-seconds0
자세한 내용은 다음 설명서를 참조하세요.
-
토큰 및 환경 변수에 대한 지침은 환경 변수를 사용하여 인증 토큰 전달 섹션을 참조하세요.
-
Python 사용자의 경우 로그인 명령 없이 pip를 구성하려면 또는 에서 twine 구성 및 사용 CodeArtifact 섹션을 참조하세요.
-
Maven 사용자의 경우 Gradle CodeArtifact 과 함께 사용 또는 mvn CodeArtifact 과 함께 사용 섹션을 참조하세요.
-
npm 사용자의 경우 로그인 명령을 실행하지 않고 npm 구성하기 섹션을 참조하세요.
환경 변수를 사용하여 인증 토큰 전달
AWS CodeArtifact 는 에서 벤딩한 권한 부여 토큰GetAuthorizationToken
API을 사용하여 Maven 및 Gradle과 같은 빌드 도구의 요청을 인증하고 승인합니다. 이러한 인증 토큰에 대한 자세한 내용은 로 생성된 토큰 GetAuthorizationToken API 섹션을 참조하세요.
빌드 도구로 읽을 수 있는 환경 변수에 이러한 인증 토큰을 저장하여 CodeArtifact 리포지토리에서 패키지를 가져오거나 패키지를 게시하는 데 필요한 토큰을 얻을 수 있습니다.
보안상의 이유로 이 접근 방식은 다른 사용자나 프로세스가 토큰을 읽거나 실수로 소스 제어에 체크인할 수 있는 파일에 토큰을 저장하는 것보다 좋습니다.
-
에 설명된 대로 AWS 자격 증명을 구성합니다설치 또는 업그레이드 후 AWS CLI구성하기.
-
CODEARTIFACT_AUTH_TOKEN
환경 변수를 설정합니다.참고
일부 시나리오에서는
--domain-owner
인수를 포함하지 않아도 됩니다. 자세한 내용은 크로스 계정 도메인 단원을 참조하십시오.-
macOS 또는 Linux:
export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain
my_domain
--domain-owner111122223333
--query authorizationToken --output text` -
Windows(기본 명령 쉘 사용):
for /f %i in ('aws codeartifact get-authorization-token --domain
my_domain
--domain-owner111122223333
--query authorizationToken --output text') do set CODEARTIFACT_AUTH_TOKEN=%i -
Windows PowerShell:
$env:CODEARTIFACT_AUTH_TOKEN = aws codeartifact get-authorization-token --domain
my_domain
--domain-owner111122223333
--query authorizationToken --output text
-
CodeArtifact 권한 부여 토큰 취소
인증된 사용자가 CodeArtifact 리소스에 액세스하기 위한 토큰을 생성하면 해당 토큰은 사용자 지정 액세스 기간이 끝날 때까지 지속됩니다. 기본 액세스 기간은 12시간입니다. 액세스 기간이 만료되기 전에 토큰에 대한 액세스를 취소해야 하는 경우도 있습니다. 다음 지침에 따라 CodeArtifact 리소스에 대한 액세스를 취소할 수 있습니다.
역할 또는 페더레이션 사용자 액세스 등 임시 보안 자격 증명을 사용하여 액세스 토큰을 생성한 경우, 정책을 업데이트IAM하여 액세스를 거부하여 액세스를 취소할 수 있습니다. 자세한 내용은 IAM 사용 설명서의 임시 보안 자격 증명에 대한 권한 비활성화를 참조하세요.
장기 IAM 사용자 자격 증명을 사용하여 액세스 토큰을 생성한 경우 사용자의 정책을 수정하여 액세스를 거부하거나 IAM 사용자를 삭제해야 합니다. 자세한 내용은 IAM 사용자 권한 변경 또는 IAM 사용자 삭제를 참조하세요.