关于不小心将 AWS SSM 参数设置为字符串而不是 SecureString 的问题

Question about accidently setting an AWS SSM parameter as String instead of SecureString

我不小心将密码作为字符串而不是 SecureString 存储在 AWS SSM 中。然后我使用 boto3 在 Python 中访问了这个参数。我现在需要担心任何安全隐患吗?

这是我通过 Python 访问它的方式:

client = boto3.client('ssm', region_name=REGION_NAME)
parameter = client.get_parameter(Name=abs_key, WithDecryption=True)['Parameter']
value = parameter['Value']

谢谢!

答案实际上取决于您的偏执程度。通过存储为字符串而不是 SecureString,密码以明文形式存储在 Parameter Store 中。任何有权访问您的 Parameter Store 的人都可以读取密码。这包括您具有 Parameter Store 访问权限的 AWS 账户的任何成员和 AWS 本身。如果您担心前者,您可能想要更改密码并将新密码存储为 SecureString,选择只有合适的用户才能访问的 KMS 密钥。如果您担心后者,您应该更换云提供商。

使用 boto3 找回密码不会增加您的风险或风险。当 boto 使用 AWS API(API 仅是 https)请求参数时,密码通过 TLS 加密。