쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

에서 Cargo 구성 및 사용 CodeArtifact

포커스 모드

이 페이지에서

에서 Cargo 구성 및 사용 CodeArtifact - CodeArtifact

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

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

Cargo를 사용하여 CodeArtifact 리포지토리에서 크레이트를 게시 및 다운로드하거나 Rust 커뮤니티의 크레이트 레지스트리인 crates.io 크레이트를 가져올 수 있습니다. 이 주제에서는 리 CodeArtifact 포지토리를 인증하고 사용하도록 Cargo를 구성하는 방법을 설명합니다.

를 사용하여 화물 구성 CodeArtifact

Cargo를 사용하여 에서 크레이트를 설치하고 게시하려면 AWS CodeArtifact먼저 CodeArtifact 리포지토리 정보로 크레이트를 구성해야 합니다. 다음 절차 중 하나의 단계에 따라 CodeArtifact 리포지토리 엔드포인트 정보 및 보안 인증 정보로 Cargo를 구성합니다.

콘솔 지침을 사용하여 Cargo 구성

콘솔의 구성 지침을 사용하여 Cargo를 CodeArtifact 리포지토리에 연결할 수 있습니다. 콘솔 지침은 CodeArtifact 리포지토리에 맞게 사용자 지정된 Cargo 구성을 제공합니다. 이 사용자 지정 구성을 사용하여 CodeArtifact 정보를 찾아 입력할 필요 없이 화물을 설정할 수 있습니다.

  1. https://console.aws.amazon.com/codesuite/codeartifact/home 에서 AWS CodeArtifact 콘솔을 엽니다.

  2. 탐색 창에서 리포지토리를 선택한 다음 화물에 연결할 리포지토리를 선택합니다.

  3. 연결 지침 보기를 선택합니다.

  4. 운영 체제를 선택합니다.

  5. 화물 을 선택합니다.

  6. 생성된 지침에 따라 화물을 CodeArtifact 리포지토리에 연결합니다.

수동으로 화물 구성

콘솔의 구성 지침을 사용할 수 없거나 사용하지 않으려는 경우 다음 지침을 사용하여 화물을 CodeArtifact 리포지토리에 수동으로 연결할 수 있습니다.

macOS and Linux

로 Cargo를 구성하려면 CodeArtifact 리포지토리를 Cargo 구성의 레지스트리로 정의하고 보안 인증을 제공해야 CodeArtifact합니다.

  • Replace my_registry 레지스트리 이름을 사용합니다.

  • Replace my_domain CodeArtifact 도메인 이름을 사용합니다.

  • Replace 111122223333 도메인 소유자의 AWS 계정 ID를 사용합니다. 소유한 도메인의 리포지토리에 액세스하는 경우 --domain-owner를 포함하지 않아도 됩니다. 자세한 내용은 크로스 계정 도메인 단원을 참조하십시오.

  • Replace my_repo CodeArtifact 리포지토리 이름을 사용합니다.

구성을 복사하여 화물 패키지를 리포지토리에 게시하고 다운로드한 다음 시스템 수준 구성 또는 .cargo/config.toml 프로젝트 수준 구성을 위해 ~/.cargo/config.toml 파일에 저장합니다.

[registries.my_registry] index = "sparse+https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/cargo/my_repo/" credential-provider = "cargo:token-from-stdout aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --region us-west-2 --query authorizationToken --output text" [registry] default = "my_registry" [source.crates-io] replace-with = "my_registry"
Windows: Download packages only

로 Cargo를 구성하려면 CodeArtifact 리포지토리를 Cargo 구성의 레지스트리로 정의하고 보안 인증을 제공해야 CodeArtifact합니다.

  • Replace my_registry 레지스트리 이름을 사용합니다.

  • Replace my_domain CodeArtifact 도메인 이름을 사용합니다.

  • Replace 111122223333 도메인 소유자의 AWS 계정 ID를 사용합니다. 소유한 도메인의 리포지토리에 액세스하는 경우 --domain-owner를 포함하지 않아도 됩니다. 자세한 내용은 크로스 계정 도메인 단원을 참조하십시오.

  • Replace my_repo CodeArtifact 리포지토리 이름을 사용합니다.

구성을 복사하여 리포지토리에서 Cargo 패키지만 다운로드하고 시스템 수준 구성 또는 .cargo\config.toml 프로젝트 수준 구성을 위해 %USERPROFILE%\.cargo\config.toml 파일에 저장합니다.

[registries.my_registry] index = "sparse+https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/cargo/my_repo/" credential-provider = "cargo:token-from-stdout aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --region us-west-2 --query authorizationToken --output text" [registry] default = "my_registry" [source.crates-io] replace-with = "my_registry"
Windows: Publish and download packages
  1. 로 Cargo를 구성하려면 CodeArtifact 리포지토리를 Cargo 구성의 레지스트리로 정의하고 보안 인증을 제공해야 CodeArtifact합니다.

    • Replace my_registry 레지스트리 이름을 사용합니다.

    • Replace my_domain CodeArtifact 도메인 이름을 사용합니다.

    • Replace 111122223333 도메인 소유자의 AWS 계정 ID를 사용합니다. 소유한 도메인의 리포지토리에 액세스하는 경우 --domain-owner를 포함하지 않아도 됩니다. 자세한 내용은 크로스 계정 도메인 단원을 참조하십시오.

    • Replace my_repo CodeArtifact 리포지토리 이름을 사용합니다.

    구성을 복사하여 화물 패키지를 리포지토리에 게시하고 다운로드한 다음 시스템 수준 구성 또는 .cargo\config.toml 프로젝트 수준 구성을 위해 %USERPROFILE%\.cargo\config.toml 파일에 저장합니다.

    ~/.cargo/credentials.toml 파일에 저장된 자격 증명을 사용하는 자격 증명 공급자를 cargo:token사용하는 것이 좋습니다. 에서 Cargo 클라이언트가 권한 부여 토큰을 제대로 트리밍하지 않기 cargo:token-from-stdout 때문에 를 사용하는 cargo publish 경우 오류가 발생할 수 있습니다cargo publish.

    [registries.my_registry] index = "sparse+https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/cargo/my_repo/" credential-provider = "cargo:token" [registry] default = "my_registry" [source.crates-io] replace-with = "my_registry"
  2. Windows를 사용하여 화물 패키지를 리포지토리에 게시하려면 CodeArtifact get-authorization-token 명령 및 화물 login 명령을 사용하여 권한 부여 토큰과 보안 인증을 가져와야 합니다.

    • Replace my_registry 에 정의된 대로 레지스트리 이름을 사용합니다[registries.my_registry].

    • Replace my_domain CodeArtifact 도메인 이름을 사용합니다.

    • Replace 111122223333 도메인 소유자의 AWS 계정 ID를 사용합니다. 소유한 도메인의 리포지토리에 액세스하는 경우 --domain-owner를 포함하지 않아도 됩니다. 자세한 내용은 크로스 계정 도메인 단원을 참조하십시오.

    aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --region us-west-2 --query authorizationToken --output text | cargo login --registry my_registry
    참고

    생성된 권한 부여 토큰은 12시간 동안 유효합니다. 토큰이 생성된 후 12시간이 경과한 경우 새 토큰을 생성해야 합니다.

로 Cargo를 구성하려면 CodeArtifact 리포지토리를 Cargo 구성의 레지스트리로 정의하고 보안 인증을 제공해야 CodeArtifact합니다.

  • Replace my_registry 레지스트리 이름을 사용합니다.

  • Replace my_domain CodeArtifact 도메인 이름을 사용합니다.

  • Replace 111122223333 도메인 소유자의 AWS 계정 ID를 사용합니다. 소유한 도메인의 리포지토리에 액세스하는 경우 --domain-owner를 포함하지 않아도 됩니다. 자세한 내용은 크로스 계정 도메인 단원을 참조하십시오.

  • Replace my_repo CodeArtifact 리포지토리 이름을 사용합니다.

구성을 복사하여 화물 패키지를 리포지토리에 게시하고 다운로드한 다음 시스템 수준 구성 또는 .cargo/config.toml 프로젝트 수준 구성을 위해 ~/.cargo/config.toml 파일에 저장합니다.

[registries.my_registry] index = "sparse+https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/cargo/my_repo/" credential-provider = "cargo:token-from-stdout aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --region us-west-2 --query authorizationToken --output text" [registry] default = "my_registry" [source.crates-io] replace-with = "my_registry"

이전 예제의 [registries.my_registry] 섹션은 my_registry 및 를 사용하여 레지스트리를 정의하고 indexcredential-provider 정보를 제공합니다.

  • index 는 로 끝나는 CodeArtifact 리포지토리 엔드포인트인 레지스트리URL의 인덱스 를 지정합니다/. sparse+ 접두사는 Git 리포지토리가 아닌 레지스트리에 필요합니다.

    참고

    듀얼 스택 엔드포인트를 사용하려면 codeartifact.region.on.aws 엔드포인트를 사용합니다.

  • credential-provider 는 지정된 레지스트리의 자격 증명 공급자를 지정합니다. credential-provider 가 설정되지 않은 경우 의 공급자registry.global-credential-providers가 사용됩니다. credential-provider 를 로 설정하면 CodeArtifact 리포지토리에서 게시하거나 다운로드할 때 cargo:token-from-stdout화물 클라이언트가 새 권한 부여 토큰을 자동으로 가져오므로 12시간마다 권한 부여 토큰을 수동으로 새로 고칠 필요가 없습니다.

[registry] 섹션에서는 사용되는 기본 레지스트리를 정의합니다.

  • default 는 리 CodeArtifact 포지토리에서 게시하거나 다운로드할 때 기본적으로 [registries.my_registry]사용할 에 정의된 레지스트리의 이름을 지정합니다.

[source.crates-io] 섹션에서는 지정되지 않은 경우 사용되는 기본 레지스트리를 정의합니다.

  • replace-with = "my_registry" 는 퍼블릭 레지스트리 crates.io 에 정의된 CodeArtifact 리포지토리로 바꿉니다[registries.my_registry]. 이 구성은 crates.io 같은 외부 연결에서 패키지를 요청해야 하는 경우 권장됩니다.

    종속성 혼동 공격을 방지하는 패키지 오리진 제어 CodeArtifact와 같은 의 모든 이점을 얻으려면 소스 교체를 사용하는 것이 좋습니다. 소스 교체를 통해 CodeArtifact 는 모든 요청을 외부 연결로 프록시하고 패키지를 외부 연결에서 리포지토리로 복사합니다. 소스 교체가 없으면 Cargo 클라이언트는 프로젝트의 Cargo.toml 파일에 있는 구성을 기반으로 패키지를 직접 검색합니다. 종속성이 로 표시되지 않으면 registry=my_registryCargo 클라이언트는 CodeArtifact 리포지토리와 통신하지 않고 crates.io 직접 검색합니다.

    참고

    소스 교체 사용을 시작한 다음 소스 교체를 사용하지 않도록 구성 파일을 업데이트하면 오류가 발생할 수 있습니다. 반대 시나리오도 오류가 발생할 수 있습니다. 따라서 프로젝트의 구성을 변경하지 않는 것이 좋습니다.

화물 상자 설치

다음 절차에 따라 CodeArtifact 리포지토리 또는 crates.io Cargo 크레이트를 설치합니다.

에서 화물 상자 설치 CodeArtifact

Cargo(cargo)를 사용하여 CodeArtifact 리포지토리에서 특정 버전의 Cargo crate를 CLI 빠르게 설치할 수 있습니다.

를 사용하여 CodeArtifact 리포지토리에서 Cargo 크레이트를 설치하려면 cargo
  1. 그렇지 않은 경우 의 단계에 따라 리 CodeArtifact 포지토리에서 Cargo 구성 및 사용 CodeArtifact를 적절한 보안 인증 정보와 함께 사용하도록 cargo CLI 를 구성합니다.

  2. 다음 명령을 사용하여 에서 Cargo crates를 설치합니다 CodeArtifact.

    cargo add my_cargo_package@1.0.0

    자세한 내용은 카고 북의 화물 추가 참조하세요.

에 화물 크레이트 게시 CodeArtifact

다음 절차에 따라 를 사용하여 CodeArtifact 리포지토리에 Cargo 크레이트를 게시합니다cargoCLI.

  1. 그렇지 않은 경우 의 단계에 따라 리 CodeArtifact 포지토리에서 Cargo 구성 및 사용 CodeArtifact를 적절한 보안 인증 정보와 함께 사용하도록 cargo CLI 를 구성합니다.

  2. 다음 명령을 사용하여 화물 크레이트를 CodeArtifact 리포지토리에 게시합니다.

    cargo publish

    자세한 내용은 카고 북의 카고 게시 참조하세요.

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.