工作的私人登錄驗證 - AWS Batch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

工作的私人登錄驗證

使用的工作專用登錄驗證 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 於為您的私人登錄認證建立密碼。

  1. 請在以下位置開啟 AWS Secrets Manager 主控台。 https://console.aws.amazon.com/secretsmanager/

  2. 選擇儲存新機密

  3. 針對 Select secret type (選取秘密類型),選擇 Other type of secrets (其他秘密類型)

  4. 選取 Plaintext (純文字),然後使用下列格式輸入您的私有登錄登入資料:

    { "username" : "privateRegistryUsername", "password" : "privateRegistryPassword" }
  5. 選擇下一步

  6. 針對 Secret name (秘密名稱),請輸入選用的路徑與名稱,例如 production/MyAwesomeAppSecretdevelopment/TestSecret,然後選擇 Next (下一步)。您也可以選擇性新增描述,協助您日後回憶起此秘密的用途。

    秘密名稱必須是 ASCII 字母、數字或下列任一字元:/_+=.@-

  7. (選用) 在此階段,您可以為秘密設定輪換。針對此程序,維持 Disable automatic rotation (停用自動輪換),然後選擇 Next (下一步)

    如需有關如何設定新密碼或現有密碼輪換的指示,請參閱輪換您的 AWS Secrets Manager 密碼

  8. 檢閱您的設定,然後選擇 Store secret (存放秘密) 以儲存您在 Secrets Manager 中輸入作為新秘密的所有內容。

註冊工作定義,然後在 [私人登錄] 下方開啟 [私人登錄驗證]。然後,在 Secrets Manager ARN 或名稱中,輸入密碼的 Amazon Resource Name (ARN)。如需更多詳細資訊,請參閱 私有登錄檔身分驗證所需的 IAM 許可