Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

で貨物を設定して使用する CodeArtifact

フォーカスモード
で貨物を設定して使用する CodeArtifact - CodeArtifact

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Cargo を使用して、 CodeArtifact リポジトリからクレートを発行およびダウンロードしたり、Rust コミュニティのクレートレジストリである crates.io からクレートを取得したりできます。このトピックでは、 CodeArtifact リポジトリで認証して使用するように Cargo を設定する方法について説明します。

で貨物を設定する CodeArtifact

Cargo を使用して からクレートをインストールして公開するには AWS CodeArtifact、まず CodeArtifact リポジトリ情報を使用してそれらを設定する必要があります。 CodeArtifact リポジトリエンドポイント情報と認証情報を使用して Cargo を設定するには、次のいずれかの手順を実行します。

コンソールの手順を使用して貨物を設定する

コンソールの設定手順を使用して、Cargo を CodeArtifact リポジトリに接続できます。コンソールの手順では、 CodeArtifact リポジトリ用にカスタマイズされた貨物設定を提供します。このカスタム設定を使用して、 CodeArtifact 情報を検索して入力することなく、貨物をセットアップできます。

  1. https://console.aws.amazon.com/codesuite/Codeartifact/home で AWS CodeArtifact コンソールを開きます。

  2. ナビゲーションペインでリポジトリ を選択し、貨物に接続するリポジトリを選択します。

  3. 接続手順の表示 を選択します。

  4. オペレーティングシステムを選択します。

  5. 貨物 を選択します。

  6. 生成された手順に従って、Cargo を CodeArtifact リポジトリに接続します。

貨物を手動で設定する

コンソールから設定手順を使用できない場合、または使用しない場合は、次の手順を使用して、Cargo を CodeArtifact リポジトリに手動で接続できます。

macOS and Linux

で Cargo を設定するには CodeArtifact、Cargo 設定で CodeArtifact リポジトリをレジストリとして定義し、認証情報を指定する必要があります。

  • 置換 my_registry レジストリ名を使用します。

  • 置換 my_domain CodeArtifact ドメイン名を使用します。

  • 置換 111122223333 ドメインの所有者の AWS アカウント ID。所有しているドメインのリポジトリにアクセスする場合、--domain-ownerを含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。

  • 置換 my_repo CodeArtifact リポジトリ名を使用します。

設定をコピーして、Cargo パッケージをリポジトリに発行してダウンロードし、システムレベルの設定または.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 リポジトリをレジストリとして定義し、認証情報を指定する必要があります。

  • 置換 my_registry レジストリ名を使用します。

  • 置換 my_domain CodeArtifact ドメイン名を使用します。

  • 置換 111122223333 ドメインの所有者の AWS アカウント ID。所有しているドメインのリポジトリにアクセスする場合、--domain-ownerを含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。

  • 置換 my_repo CodeArtifact リポジトリ名を使用します。

設定をコピーして、リポジトリから貨物パッケージのみをダウンロードし、システムレベルの設定または.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 リポジトリをレジストリとして定義し、認証情報を指定する必要があります。

    • 置換 my_registry レジストリ名を使用します。

    • 置換 my_domain CodeArtifact ドメイン名を使用します。

    • 置換 111122223333 ドメインの所有者の AWS アカウント ID。所有しているドメインのリポジトリにアクセスする場合、--domain-ownerを含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。

    • 置換 my_repo CodeArtifact リポジトリ名を使用します。

    設定をコピーして、Cargo パッケージをリポジトリに発行してダウンロードし、システムレベルの設定または.cargo\config.tomlプロジェクトレベルの設定のために %USERPROFILE%\.cargo\config.toml ファイルに保存してください。

    ファイルに保存されている認証情報cargo:tokenを使用する認証情報プロバイダー を使用することをお勧めします~/.cargo/credentials.toml。Cargo クライアントcargo publishが 中に認証トークンを適切にトリミングしないcargo:token-from-stdoutため、 を使用すると、 中にエラーが発生する可能性があります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 を使用してリポジトリに Cargo パッケージを発行するには、 CodeArtifact get-authorization-token コマンドと Cargo login コマンドを使用して、認証トークンと認証情報を取得する必要があります。

    • 置換 my_registry で定義されているレジストリ名。 [registries.my_registry]

    • 置換 my_domain CodeArtifact ドメイン名を使用します。

    • 置換 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 リポジトリをレジストリとして定義し、認証情報を指定する必要があります。

  • 置換 my_registry レジストリ名を使用します。

  • 置換 my_domain CodeArtifact ドメイン名を使用します。

  • 置換 111122223333 ドメインの所有者の AWS アカウント ID。所有しているドメインのリポジトリにアクセスする場合、--domain-ownerを含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。

  • 置換 my_repo CodeArtifact リポジトリ名を使用します。

設定をコピーして、Cargo パッケージをリポジトリに発行してダウンロードし、システムレベルの設定または.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 を に設定するとcargo:token-from-stdout、Cargo クライアントは CodeArtifact リポジトリから発行またはダウンロードするときに新しい認証トークンを自動的に取得するため、12 時間ごとに認証トークンを手動で更新する必要はありません。

このセクションでは、使用されるデフォルトのレジストリ[registry]を定義します。

  • default は、 で定義されているレジストリの名前を指定し[registries.my_registry]、 CodeArtifact リポジトリから発行またはダウンロードするときにデフォルトで使用します。

[source.crates-io] このセクションでは、レジストリが指定されていない場合に使用されるデフォルトのレジストリを定義します。

  • replace-with = "my_registry" は、パブリックレジストリ crates.io を で定義された CodeArtifact リポジトリに置き換えます[registries.my_registry]。この設定は、crates.io などの外部接続からパッケージをリクエストする必要がある場合に推奨されます。

    依存関係の混乱攻撃を防ぐパッケージオリジンコントロールなど CodeArtifact、 のすべての利点を得るには、ソース置換を使用することをお勧めします。ソースの置き換えにより、 CodeArtifact はすべてのリクエストを外部接続にプロキシし、パッケージを外部接続からリポジトリにコピーします。ソースを置き換えない場合、Cargo クライアントはプロジェクト内のCargo.tomlファイル内の設定に基づいてパッケージを直接取得します。依存関係が でマークされていない場合registry=my_registry、Cargo クライアントは CodeArtifact リポジトリと通信せずに crates.io から直接取得します。

    注記

    ソース置換の使用を開始し、ソース置換を使用しないように設定ファイルを更新すると、エラーが発生する可能性があります。逆のシナリオでもエラーが発生する可能性があります。したがって、プロジェクトの設定を変更しないことをお勧めします。

貨物クレートのインストール

CodeArtifact リポジトリまたは crates.io から Cargo クレートをインストールするには、次の手順に従います。

から貨物クレートをインストールする CodeArtifact

貨物 (cargo) を使用してCLI、 CodeArtifact リポジトリから特定のバージョンの貨物クレートをすばやくインストールできます。

を使用して CodeArtifact リポジトリから貨物クレートをインストールするには cargo
  1. まだ設定していない場合は、「」の手順に従ってで貨物を設定して使用する CodeArtifact、 CodeArtifact リポジトリを適切な認証情報で使用するcargoCLIように を設定します。

  2. から貨物クレートをインストールするには、次のコマンドを使用します CodeArtifact。

    cargo add my_cargo_package@1.0.0

    詳細については、「 貨物ブック」の「貨物追加」を参照してください。

に貨物クレートを発行する CodeArtifact

を使用して CodeArtifact リポジトリに Cargo クレートを発行するには、次の手順に従いますcargoCLI。

  1. まだ設定していない場合は、「」の手順に従ってで貨物を設定して使用する CodeArtifact、 CodeArtifact リポジトリを適切な認証情報で使用するcargoCLIように を設定します。

  2. 次のコマンドを使用して、貨物クレートを CodeArtifact リポジトリに発行します。

    cargo publish

    詳細については、「 貨物ブック」の「貨物パブリッシュ」を参照してください。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.