傳遞 Amazon ECS 記錄組態的秘密 - Amazon Elastic Container Service

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

傳遞 Amazon ECS 記錄組態的秘密

您可以使用 中的 secretOptions 參數logConfiguration來傳遞用於記錄的敏感資料。

您可以將秘密存放在 Secrets Manager 或 Systems Manager 中。

使用 Secrets Manager

在您的容器定義內,指定 logConfiguration 時,您可指定 secretOptions,在該參數中,需提供要在容器中設定的日誌驅動程式選項名稱,以及含有要呈現給容器之敏感資料的 Secrets Manager 秘密之完整 ARN。如需建立秘密的詳細資訊,請參閱建立 AWS Secrets Manager

以下是任務定義的程式碼片段,顯示參考 Secrets Manager 秘密時的格式。

{ "containerDefinitions": [{ "logConfiguration": [{ "logDriver": "splunk", "options": { "splunk-url": "https://your_splunk_instance:8088" }, "secretOptions": [{ "name": "splunk-token", "valueFrom": "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name-AbCdEf" }] }] }] }

將環境變數新增至容器定義

在您的容器定義內,將 secrets 指定為要在容器中設定的環境變數名稱,以及 Systems Manager 參數存放區參數 (含有要呈現給容器的敏感資料) 的完整 ARN。如需詳細資訊,請參閱secrets

以下是任務定義的程式碼片段,顯示參考 Systems Manager 參數存放區參數的格式。如果 Systems Manager 參數存放區參數與您要啟動的任務位於相同區域中,則您可以使用參數的完整 ARN 或名稱。如果參數存在於不同區域,則請指定完整 ARN。

{ "containerDefinitions": [{ "secrets": [{ "name": "environment_variable_name", "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter/parameter_name" }] }] }

如需有關如何使用環境變數中指定的秘密建立任務定義的資訊,請參閱 使用主控台建立 Amazon ECS 任務定義

使用 Systems Manager

您可以將敏感資料插入日誌組態。在您的容器定義內,指定 logConfiguration 時,您可用要在容器中設定的日誌驅動程式選項名稱指定 secretOptions,以及 Systems Manager 參數存放區參數 (含有要呈現給容器的敏感資料) 的完整 ARN。

重要

如果 Systems Manager 參數存放區參數與您要啟動的任務位於相同區域中,則您可以使用參數的完整 ARN 或名稱。如果參數存在於不同區域,則請指定完整 ARN。

以下是任務定義的程式碼片段,顯示參考 Systems Manager 參數存放區參數的格式。

{ "containerDefinitions": [{ "logConfiguration": [{ "logDriver": "fluentd", "options": { "tag": "fluentd demo" }, "secretOptions": [{ "name": "fluentd-address", "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter:/parameter_name" }] }] }] }