全部產品
Search
文件中心

Container Registry:配置訪問憑證

更新時間:Oct 25, 2024

為了確保您在使用阿里雲Container RegistryACR時能夠安全的訪問和管理容器鏡像,ACR提供了適用於Docker、containerd等用戶端登入的身份認證。身份認證鑒權成功後可安全的進行容器鏡像或Helm Chart的上傳和下載。

背景資訊

訪問憑證用於Docker、containerd等用戶端登入的身份認證,認證成功後的鑒權是基於配置的RAM存取控制策略,認證鑒權成功後可進行容器鏡像或Helm Chart的上傳和下載。建議您配置不同於控制台登入的密碼,避免在用戶端密碼泄露影響您的其他業務。

訪問憑證獨立於阿里雲帳號及密碼。憑證資訊包含兩類:

  • 固定密碼:沒有時效限制,請注意妥善保管。如果遺失,可以通過再次設定來重設固定密碼。

  • 臨時密碼:有效時間為1小時。若通過STS方式請求,臨時密碼的有效時間則等同於本次請求STS Token的有效時間。

說明

主帳號和子帳號之間是獨立的。在配置訪問憑證時,主帳號的訪問憑證子帳號不能使用,子帳號需要配置自己的訪問憑證。

使用固定密碼

說明

Container RegistryACR暫不支援角色登入,請您使用臨時密碼登入。

操作步驟

  1. 登入Container Registry控制台

  2. 在頂部功能表列,選擇所需地區。

  3. 在左側導覽列,選擇執行個體列表

  4. 執行個體列表頁面單擊目標企業版執行個體。

  5. 在企業版執行個體管理頁面左側導覽列選擇執行個體管理 > 訪問憑證

  6. 訪問憑證頁面,單擊設定固定密碼

  7. 設定固定密碼對話方塊中,輸入密碼確認密碼。然後單擊確定

後續步驟

登入企業版執行個體。

  1. 設定專用網路或公網的存取控制。具體操作,請參見配置公網的存取控制配置專用網路的存取控制

  2. 在終端中輸入訪問憑證,登入企業版執行個體。參考樣本如下:

    docker login <企業版執行個體名稱>-registry.<企業版執行個體所在的地區>.cr.aliyuncs.com

使用臨時密碼

前提條件

操作步驟

  1. 建立RAM使用者。具體操作,請參見建立RAM使用者

  2. 為RAM使用者添加如下許可權,並查看存取金鑰。具體操作,請參見查看RAM使用者的AccessKey資訊

    {
      "Action": [
         "cr:GetAuthorizationToken",
         "cr:PullRepository",
         "cr:PushRepository"
      ],
      "Resource": "*",
      "Effect": "Allow"
    }
  3. 執行如下命令,使用ACR ALI調用GetAuthorizationToken擷取臨時密鑰。

    export ALIYUN_AK="<aliyun access key>" # 步驟2查看的AccessKeyID
    export ALIYUN_SK="<aliyun access key secret >" # 步驟2查看的AccessKeySecret
    export ACR_INSTANCE_ID="<id of acr instance >"
    export ACR_ENDPOINT="<acr service endpoint>" # 參考https://help.aliyun.com/zh/acr/developer-reference/api-cr-2018-12-01-endpoint
    
    aliyun cr GetAuthorizationToken --endpoint $ACR_ENDPOINT --InstanceId $ACR_INSTANCE_ID --access-key-id $ALIYUN_AK --access-key-secret $ALIYUN_SK | jq -r '.AuthorizationToken'

後續步驟

登入企業版執行個體。

  1. 設定專用網路或公網的存取控制。具體操作,請參見配置公網的存取控制配置專用網路的存取控制

  2. 在終端中輸入訪問憑證,登入企業版執行個體。參考樣本如下:

    docker login --username=cr_temp_user <企業版執行個體名稱>-registry.<企業版執行個體所在的地區>.cr.aliyuncs.com

相關文檔

訪問憑證配置完成後,您可以參考使用企業版執行個體推送和拉取鏡像更好地管理和儲存容器鏡像。