本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
工作的私人登錄驗證
使用的工作專用登錄驗證 AWS Secrets Manager 可讓您安全地儲存您的認證,然後在工作定義中參照這些認證。這提供了一種方法,可以引用存在於私人登錄中的容器映像檔,而這些映像檔 AWS 之外需要在工作定義中進行驗證。Amazon EC2 執行個體和 Fargate 上託管的任務支援此功能。
重要
如果您的任務定義參考儲存在 Amazon ECR 中的影像,則此主題不適用。如需詳細資訊,請參閱 《Amazon Elastic Container Registry 使用者指南》中的搭配使用 Amazon ECR 映像與 Amazon ECS。
對於 Amazon EC2 執行個體上託管的任務,此功能需要容器代理程式的版本1.19.0
或更新版本。不過,我們建議您使用最新版的容器代理程式。如需如何檢查代理程式版本並更新至最新版本的相關資訊,請參閱 Amazon 彈性容器服務開發人員指南中的更新 Amazon ECS 容器代理程式。
對於在 Fargate 上託管的工作,此功能需要平台版本1.2.0
或更高版本。如需相關資訊,請參閱 Amazon 彈性容器服務開發人員指南中的 AWS Fargate Linux 平台版本。
在您的容器定義內,使用您所建立的秘密的詳細資訊來指定 repositoryCredentials
物件。您參考的密碼可以來自與使用它的工作不 AWS 區域 同的帳戶,也可能來自不同的帳戶。
注意
使用 AWS Batch API、或 AWS SDK 時 AWS CLI,如果密碼存在於與您正在啟動的工 AWS 區域 作相同,則您可以使用完整的 ARN 或密碼名稱。如果此秘密已存在於不同帳戶中,則必須指定秘密的完整 ARN。使用時 AWS Management Console,必須始終指定密碼的完整 ARN。
以下是顯示必要參數的工作定義片段:
"containerProperties": [ { "image": "
private-repo/private-image
", "repositoryCredentials": { "credentialsParameter": "arn:aws:secretsmanager:region
:123456789012
:secret:secret_name
" } } ]
私有登錄檔身分驗證所需的 IAM 許可
使用此功能需要執行角色。這可讓容器代理程式提取容器映像。如需詳細資訊,請參閱 AWS Batch 執行 IAM 角色。
若要提供對您建立之密碼的存取權,請將下列權限新增為內嵌原則至執行角色。如需詳細資訊,請參閱新增和移除 IAM 政策。
-
secretsmanager:GetSecretValue
-
kms:Decrypt
- 只有在您的金鑰使用自訂 KMS 金鑰而非預設金鑰時,才需要此項目。您的自訂金鑰的 Amazon Resource Name (ARN) 必須新增為資源。
下列為新增許可的內嵌政策範例。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:
region
:123456789012
:secret:secret_name
", "arn:aws:kms:region
:123456789012
:key/key_id
" ] } ] }
使用私有登錄身分驗證
建立基本秘密
用 AWS Secrets Manager 於為您的私人登錄認證建立密碼。
-
請在以下位置開啟 AWS Secrets Manager 主控台。
https://console.aws.amazon.com/secretsmanager/ -
選擇儲存新機密。
-
針對 Select secret type (選取秘密類型),選擇 Other type of secrets (其他秘密類型)。
-
選取 Plaintext (純文字),然後使用下列格式輸入您的私有登錄登入資料:
{ "username" : "
privateRegistryUsername
", "password" : "privateRegistryPassword
" } -
選擇下一步。
-
針對 Secret name (秘密名稱),請輸入選用的路徑與名稱,例如
production/MyAwesomeAppSecret
或development/TestSecret
,然後選擇 Next (下一步)。您也可以選擇性新增描述,協助您日後回憶起此秘密的用途。秘密名稱必須是 ASCII 字母、數字或下列任一字元:
/_+=.@-
。 -
(選用) 在此階段,您可以為秘密設定輪換。針對此程序,維持 Disable automatic rotation (停用自動輪換),然後選擇 Next (下一步)。
如需有關如何設定新密碼或現有密碼輪換的指示,請參閱輪換您的 AWS Secrets Manager 密碼。
-
檢閱您的設定,然後選擇 Store secret (存放秘密) 以儲存您在 Secrets Manager 中輸入作為新秘密的所有內容。
註冊工作定義,然後在 [私人登錄] 下方開啟 [私人登錄驗證]。然後,在 Secrets Manager ARN 或名稱中,輸入密碼的 Amazon Resource Name (ARN)。如需更多詳細資訊,請參閱 私有登錄檔身分驗證所需的 IAM 許可。