在为我遇到的问题寻找解决方案时,我发现了Java中的Get Username from Amazon Access Key。
但唯一的区别是,我想实现完全相反的目的:是否可以获得访问密钥&使用IAM中创建的用户名执行Java SDK操作的密钥?
我想构建一个应用程序,当用户使用IAM凭据登录时,他可以启动和停止应用程序中的实例。但要做到这一点,我需要访问&该用户的密钥。
我希望有人能帮助我,或者知道解决我问题的方法。
谢谢!
假设您的应用程序分别拥有足够的AWS安全凭据(例如,通过在具有适用于Amazon EC2的IAM角色的EC2实例上运行),您可以通过ListAccessKeys API操作实现这一点:
返回有关与指定用户关联的访问密钥ID的信息。如果没有,操作将返回一个空列表。
此API操作在AWS SDK for Java中公开为listAccessKeys()。
这是一个很老的问题,但我认为没有提供正确的答案。要直接回答您的问题,不可能在创建密钥后检索密钥。ListAccessKeys的文档说明-To ensure the security of your AWS account, the secret access key is accessible only during key and user creation.
你需要用另一种方法来解决你的问题。一些建议是使用联合登录,或者让应用程序管理自己的一组角色,以确定用户是否有权启动/停止实例。