在 Amazon ECS 中以程式設計方式擷取秘密管理員 - Amazon Elastic Container Service

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

在 Amazon ECS 中以程式設計方式擷取秘密管理員

使用 Secrets Manager 保護敏感資料並在資料庫憑證、API 金鑰和其他秘密的整個生命週期進行輪換、管理和擷取。

您可以使用 Secrets Manager 來儲存敏感資料,而不是在應用程式中以純文字對敏感資訊進行硬式編碼。

我們建議使用這種方法擷取敏感資料,因為使用這種方法後,隨後如果 Secrets Manager 秘密有更新,應用程式會自動擷取最新版本的秘密。

在 Secrets Manager 中建立秘密。建立 Secret Manager 秘密後,更新應用程式程式碼即可擷取秘密。

保護 Secrets Manager 中的敏感資料之前,請先檢閱下列考量事項。

  • 僅支援儲存文字資料的密碼,這些密碼是使用 CreateSecretAPI SecretString 參數建立的密碼。不支援儲存二進位資料的密碼,這些密碼是使用 CreateSecretAPI SecretBinary 參數建立的機密。

  • 使用介面 VPC 端點來增強安全控制。您必須建立 Secrets Manager 的介面 VPC 端點。如需有關 VPC 端點的資訊,請參閱《AWS Secrets Manager 使用者指南》中的建立VPC 端點

  • 任務所使用的 VPC 必須使用 DNS 解析。

所需的 IAM 許可

若要使用此功能,您必須擁有 Amazon ECS 任務角色,並在您的任務定義中參考該角色。如需詳細資訊,請參閱 Amazon ECS 任務 IAM 角色

若要允許存取您建立的 Secrets Manager 秘密,請將以下許可新增到任務執行角色。如需有關如何管理許可的相關資訊,請參閱《IAM 使用者指南》中的新增和移除 IAM 身分許可

  • secretsmanager:GetSecretValue – 如果參考 Secrets Manager 秘密,則此項目為必要。新增從 Secrets Manager 擷取密碼的許可。

下列政策範例新增必要許可。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name" ] } ] }

建立 Secrets Manager 秘密

您可以使用 Secrets Manager 主控台為您的敏感資料建立秘密。如需有關如何建立秘密的詳細資訊,請參閱《AWS Secrets Manager 使用者指南》中的建立 AWS Secrets Manager 秘密

更新應用程式以程式設計方式擷取 Secrets Manager 秘密

您可以直接從應用程式呼叫 Secrets Manager API 來擷取秘密。如需相關資訊,請參閱AWS Secrets Manager 使用指南 AWS Secrets Manager中的擷取密碼

若要擷取儲存在中的敏感資料 AWS Secrets Manager,請參閱 SDK 程式碼範例程式庫中 AWS Secrets Manager 使用 AWSAWS SDK 的程式碼範例