為了確保您在使用阿里云容器鏡像服務ACR時能夠安全的訪問和管理容器鏡像,ACR提供了適用于Docker、containerd等客戶端登錄的身份認證。身份認證鑒權成功后可安全的進行容器鏡像或Helm Chart的上傳和下載。
背景信息
訪問憑證用于Docker、containerd等客戶端登錄的身份認證,認證成功后的鑒權是基于配置的RAM訪問控制策略,認證鑒權成功后可進行容器鏡像或Helm Chart的上傳和下載。建議您配置不同于控制臺登錄的密碼,避免在客戶端密碼泄露影響您的其他業務。
訪問憑證獨立于阿里云賬號及密碼。憑證信息包含兩類:
固定密碼:沒有時效限制,請注意妥善保管。如果遺失,可以通過再次設置來重置固定密碼。
臨時密碼:有效時間為1小時。若通過STS方式請求,臨時密碼的有效時間則等同于本次請求STS Token的有效時間。
主賬號和子賬號之間是獨立的。在配置訪問憑證時,主賬號的訪問憑證子賬號不能使用,子賬號需要配置自己的訪問憑證。
使用固定密碼
容器鏡像服務ACR暫不支持角色登錄,請您使用臨時密碼登錄。
操作步驟
登錄容器鏡像服務控制臺。
在頂部菜單欄,選擇所需地域。
在左側導航欄,選擇實例列表。
在實例列表頁面單擊目標企業版實例。
在企業版實例管理頁面左側導航欄選擇 。
在訪問憑證頁面,單擊設置固定密碼。
在設置固定密碼對話框中,輸入密碼和確認密碼。然后單擊確定。
后續步驟
登錄企業版實例。
設置專有網絡或公網的訪問控制。具體操作,請參見配置公網的訪問控制或配置專有網絡的訪問控制。
在終端中輸入訪問憑證,登錄企業版實例。參考示例如下:
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
相關文檔
訪問憑證配置完成后,您可以參考使用企業版實例推送和拉取鏡像更好地管理和存儲容器鏡像。