AWS EC2用户数据加密

4
我们有一个使用案例,需要从用户那里获取包括密码在内的输入内容,并将其传递到EC2实例中。在EC2实例中,我们通过访问URL- http://169.254.169.254/latest/user-data/,获取用户数据并设置相应的密码。
问题是,AWS CLI工具可以看到用户数据。
aws ec2 describe-instance-attribute --instance-id --attribute userData --output text --query "UserData.Value" | base64 --decode

这会带来巨大的安全风险。

发送敏感/机密数据的最佳方式是什么?

我尝试创建了一对密钥,将私钥创建在本地实例上,公钥创建在EC2上。使用PowerShell进行加密/解密并在EC2中获取它的正确方法是什么?

1个回答

4
建议的方法是将任何机密信息存储在外部源中。
AWS有一个用于存储机密信息的服务,Secrets Manager。通过使用此服务,您可以创建一个包含实例需要访问的机密信息的秘密,并为实例分配具有获取秘密值权限的IAM角色,通过AWS CLI访问
另外,您还可以使用AWS SSM Parameter Store服务,将机密信息存储为SecureString类型。这将类似于秘密管理器,您可以通过AWS CLI获取秘密,然后在脚本中使用它。

如果您不想将秘密存储在AWS解决方案中,还有第三方解决方案,如Hashicorp Vault,提供类似的功能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接