如何在 AWS Step Functions 中安全地传递敏感信息
How to pass sensitive information securely in AWS Step Functions
使用 AWS Step Functions 将 Lambda 串起来很有趣,但是有没有办法 disable/hide 在执行详细信息屏幕上登录? 从一个 lambda 传递到另一个 lambda 的私人信息需要能够秘密完成,并且在每个步骤中添加 KMS encrypt/decrypt 是一大笔开销,对于生活在无法访问互联网的 VPC。
我们已经与 Amazon 进行了交谈,看起来无法从控制台隐藏此信息。另一种方法是限制在每一步发送到 Lambda 函数的内容。
因此您可以确保某些函数只能看到输入数据的非 PII 子集。通常的解决方法是根本不传递 PII 数据,而是将 PII 数据放在加密的数据存储中,例如 S3 存储桶或加密的 RDS 数据库 table,然后传递对该对象的引用状态机。
另一种选择是使用 KMS 加密的 SecureString
类型的 SSM 参数存储。您将在步骤之间传递 SSM 参数的名称。 lambda 函数将使用 API 在单个请求中检索和解密值。有关如何使用 Python 中的 boto3 使用 SSM 参数存储的文档,请参阅下面的 link。
http://boto3.readthedocs.io/en/latest/reference/services/ssm.html#SSM.Client.get_parameter
您必须确保您的 lambda 函数的角色提供对 SSM 参数的访问 和 对用于加密值的相同 KMS 密钥的访问。
使用 AWS Step Functions 将 Lambda 串起来很有趣,但是有没有办法 disable/hide 在执行详细信息屏幕上登录?
我们已经与 Amazon 进行了交谈,看起来无法从控制台隐藏此信息。另一种方法是限制在每一步发送到 Lambda 函数的内容。
因此您可以确保某些函数只能看到输入数据的非 PII 子集。通常的解决方法是根本不传递 PII 数据,而是将 PII 数据放在加密的数据存储中,例如 S3 存储桶或加密的 RDS 数据库 table,然后传递对该对象的引用状态机。
另一种选择是使用 KMS 加密的 SecureString
类型的 SSM 参数存储。您将在步骤之间传递 SSM 参数的名称。 lambda 函数将使用 API 在单个请求中检索和解密值。有关如何使用 Python 中的 boto3 使用 SSM 参数存储的文档,请参阅下面的 link。
http://boto3.readthedocs.io/en/latest/reference/services/ssm.html#SSM.Client.get_parameter
您必须确保您的 lambda 函数的角色提供对 SSM 参数的访问 和 对用于加密值的相同 KMS 密钥的访问。