すべてのプロダクト
Search
ドキュメントセンター

Container Registry:Container Registry Enterprise Editionインスタンスのアクセス資格情報の設定

最終更新日:Jun 27, 2024

コンテナーイメージに安全にアクセスして管理できるように、container RegistryはDockerやcontainerdなどのクライアントからのインスタンスログイン用のID認証を提供しています。 認証が成功すると、クライアントでコンテナイメージまたはHelmチャートをプッシュおよびプルできます。

背景情報

アクセス資格情報は、DockerやContainerdなどのクライアントでのRAMポリシーベースの認証に使用されます。 詳細については、「RAM認証ルール」をご参照ください。 認証が成功すると、コンテナイメージとHelmチャートをプッシュおよびプルできます。 Container Registryコンソールへのログインに使用するパスワードとは異なるアクセスパスワードをインスタンスに設定することを推奨します。 これにより、クライアントでのパスワードの漏洩によるビジネスへの影響を防ぎます。

アクセス資格情報は、Alibaba Cloudアカウントとパスワードに依存しません。 アクセス資格情報には、次の2種類があります。

  • パスワード: パスワードは永久に有効です。 それを安全に保つ。 パスワードを忘れた場合は、リセットできます。

  • 一時トークン: 一時トークンは1時間有効です。 セキュリティトークンサービス (STS) を使用して一時トークンを取得した場合、STSトークンが有効である限り、一時トークンは有効です。

説明

Alibaba CloudアカウントとRAMユーザーには、独立したアクセス資格情報があります。 RAMユーザーは、Alibaba Cloudアカウントのアクセス資格情報を使用してContainer Registry Enterprise Editionインスタンスにアクセスすることはできません。 RAMユーザーは、独自のアクセス資格情報を設定する必要があります。

パスワードを使用する

説明

RAMロールとしてContainer Registry Enterprise Editionインスタンスにログインする場合は、パスワードを使用できず、一時的なトークンを使用する必要があります。

手順

  1. Container Registryコンソールにログインします。

  2. 上部のナビゲーションバーで、リージョンを選択します。

  3. 左側のナビゲーションウィンドウで、[インスタンス] をクリックします。

  4. [インスタンス] ページで、管理するEnterprise Editionインスタンスをクリックします。

  5. Container Registry Enterprise Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、インスタンス > アクセス資格.

  6. On theアクセス資格ページをクリックします。パスワードの設定.

  7. [パスワードの設定] ダイアログボックスで、[パスワード] パラメーターのパスワードを入力し、[パスワードの確認] パラメーターのパスワードを再度入力します。 次に、[確認] をクリックします。

次に何をすべきか

Container Registry Enterprise Editionインスタンスにログインします。

  1. インターネットまたは仮想プライベートクラウド (VPC) 経由のアクセスを設定します。 詳細については、「インターネット経由のアクセスの設定」または「VPC ACLの設定」をご参照ください。

  2. アクセス資格情報を使用して、Container Registry Enterprise Editionインスタンスにログインします。 例:

    dockerログイン <Container Registry Enterprise Editionインスタンスの名前>-registry。<instance e>.cr.aliyuncs.comのリージョンID

一時トークンの使用

前提条件

  • CLIがインストールされています。 詳しくは、「Alibaba Cloud CLI」 をご参照ください。

  • jqがインストールされています。 詳細は、「jqコマンド」をご参照ください。

手順

  1. RAM ユーザーを作成します。 詳細については、「RAM ユーザーの作成」をご参照ください。

  2. RAMユーザーに次の権限を追加し、RAMユーザーのAccessKeyペアを取得します。 詳細については、「RAMユーザーのAccessKeyペアに関する情報の表示」をご参照ください。

    {
      "Action": [
         "cr:GetAuthorizationToken",
         "cr:PullRepository",
         "cr:PushRepository"
      ],
      "Resource": "*",
      "Effect": "Allow"
    }
  3. ACR ALIで次のコマンドを実行し、GetAuthorizationToken APIを呼び出して一時トークンを取得します。 詳細については、「GetAuthorizationToken」をご参照ください。

    export ALIYUN_AK="<aliyun access key>" # The AccessKey ID that you obtained in Step 2.
    export ALIYUN_SK="<aliyun access key secret >" # The AccessKey secret that you obtained in step 2.
    export ACR_INSTANCE_ID="<id of acr instance >"
    export ACR_ENDPOINT="<acr service endpoint>" # You can obtain the endpoint from https://www.alibabacloud.com/help/en/acr/developer-reference/api-cr-2018-12-01-endpoint?spm=a2c63.p38356.0.0.61147050eqkpiJ.
    
    aliyun cr GetAuthorizationToken --endpoint $ACR_ENDPOINT --InstanceId $ACR_INSTANCE_ID --access-key-id $ALIYUN_AK --access-key-secret $ALIYUN_SK | jq -r '.AuthorizationToken'

次に何をすべきか

Container Registry Enterprise Editionインスタンスにログインします。

  1. インターネットまたはVPC経由のアクセスを設定します。 詳細については、「インターネット経由のアクセスの設定」または「VPC ACLの設定」をご参照ください。

  2. アクセス資格情報を使用して、Container Registry Enterprise Editionインスタンスにログインします。 例:

    docker login --username=cr_temp_user <Name of the Container Registry Enterprise Edition instance>-registry.<Region ID of the instance>.cr.aliyuncs.com

関連ドキュメント

Container Registry Enterprise Editionインスタンスのアクセス資格情報を設定した後、インスタンス内のコンテナイメージを管理および保存できます。 詳細については、「Container Registry Enterprise Editionインスタンスにイメージをプッシュし、インスタンスからイメージをプルする」をご参照ください。