為了確保您在使用阿里雲Container RegistryACR時能夠安全的訪問和管理容器鏡像,ACR提供了適用於Docker、containerd等用戶端登入的身份認證。身份認證鑒權成功後可安全的進行容器鏡像或Helm Chart的上傳和下載。
背景資訊
訪問憑證用於Docker、containerd等用戶端登入的身份認證,認證成功後的鑒權是基於配置的RAM存取控制策略,認證鑒權成功後可進行容器鏡像或Helm Chart的上傳和下載。建議您配置不同於控制台登入的密碼,避免在用戶端密碼泄露影響您的其他業務。
訪問憑證獨立於阿里雲帳號及密碼。憑證資訊包含兩類:
固定密碼:沒有時效限制,請注意妥善保管。如果遺失,可以通過再次設定來重設固定密碼。
臨時密碼:有效時間為1小時。若通過STS方式請求,臨時密碼的有效時間則等同於本次請求STS Token的有效時間。
主帳號和子帳號之間是獨立的。在配置訪問憑證時,主帳號的訪問憑證子帳號不能使用,子帳號需要配置自己的訪問憑證。
使用固定密碼
Container RegistryACR暫不支援角色登入,請您使用臨時密碼登入。
操作步驟
在頂部功能表列,選擇所需地區。
在左側導覽列,選擇執行個體列表。
在執行個體列表頁面單擊目標企業版執行個體。
在企業版執行個體管理頁面左側導覽列選擇 。
在訪問憑證頁面,單擊設定固定密碼。
在設定固定密碼對話方塊中,輸入密碼和確認密碼。然後單擊確定。
後續步驟
登入企業版執行個體。
設定專用網路或公網的存取控制。具體操作,請參見配置公網的存取控制或配置專用網路的存取控制。
在終端中輸入訪問憑證,登入企業版執行個體。參考樣本如下:
docker login <企業版執行個體名稱>-registry.<企業版執行個體所在的地區>.cr.aliyuncs.com
使用臨時密碼
前提條件
您可以在OpenAPI Explorer中直接運行GetAuthorizationToken介面擷取目標執行個體的登入臨時帳號和臨時密碼。
操作步驟
使用以下內容,通過指令碼編輯模式建立自訂權限原則並為RAM使用者授權。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "cr:GetAuthorizationToken", "cr:PullRepository", "cr:PushRepository" ], "Resource": "*" } ] }
執行如下命令,擷取臨時密鑰。
說明ACR_ENDPOINT="<acr service endpoint>"
其中<acr service endpoint>
為ACR執行個體所在地區的服務存取點。export ALIYUN_AK="<aliyun access key>" # 步驟1查看的AccessKeyID。 export ALIYUN_SK="<aliyun access key secret >" # 步驟1查看的AccessKeySecret。 export ACR_INSTANCE_ID="<id of acr instance >" # 目標ACR執行個體ID。 export ACR_ENDPOINT="<acr service endpoint>"
aliyun cr GetAuthorizationToken --endpoint $ACR_ENDPOINT --InstanceId $ACR_INSTANCE_ID --access-key-id $ALIYUN_AK --access-key-secret $ALIYUN_SK | jq -r '.AuthorizationToken'
後續步驟
登入企業版執行個體。
設定專用網路或公網的存取控制。具體操作,請參見配置公網的存取控制或配置專用網路的存取控制。
在終端中輸入訪問憑證,登入企業版執行個體。參考樣本如下:
docker login --username=cr_temp_user <企業版執行個體名稱>-registry.<企業版執行個體所在的地區>.cr.aliyuncs.com
相關文檔
訪問憑證配置完成後,您可以參考使用企業版執行個體推送和拉取鏡像更好地管理和儲存容器鏡像。