Java application.conf文件中的AWS Api凭据是否足够安全?

Java application.conf文件中的AWS Api凭据是否足够安全?,java,amazon-web-services,credentials,typesafe,Java,Amazon Web Services,Credentials,Typesafe,我想知道将AWSAPI凭证(或一般凭证)放在.conf文件中是否足够安全?我不这么认为,我想问一下是否有任何易于使用的方法来加密和解密凭据。我将JAVA与EclipseIDE结合使用。在这一节中,有人对新手有什么提示吗?什么是“.conf”文件?它是应用程序的配置文件吗?如果是这样的话,那么不,它不够安全 亚马逊有一个描述访问密钥最佳实践的网站。他们对应用程序的建议是将角色附加到运行应用程序的任何对象(EC2/ECS/Lambda) 使用角色的最大好处是它提供的凭据是临时的:它们的最大生存期为1

我想知道将AWSAPI凭证(或一般凭证)放在.conf文件中是否足够安全?我不这么认为,我想问一下是否有任何易于使用的方法来加密和解密凭据。我将JAVA与EclipseIDE结合使用。在这一节中,有人对新手有什么提示吗?

什么是“.conf”文件?它是应用程序的配置文件吗?如果是这样的话,那么不,它不够安全

亚马逊有一个描述访问密钥最佳实践的网站。他们对应用程序的建议是将角色附加到运行应用程序的任何对象(EC2/ECS/Lambda)

使用角色的最大好处是它提供的凭据是临时的:它们的最大生存期为12小时,默认生存期为1小时。因此,如果有人设法从您的服务器中提取它们,它们将无法造成长期损害(与用户关联的“永久”访问密钥不同)

虽然这有帮助,但您仍然需要限制这些凭据的范围(即,不要在其权限策略中使用通配符)。您应该监视部署中的无效凭据使用情况(即,从VPC之外的某个地方进行的API调用)

如果您谈论的是开发使用的凭据。但是,如果使用AWS Single SignOn,则不需要将凭据存储在任何位置,这为CLI/SDK的使用提供了有限的终身凭据

如果您正在谈论移动应用程序的凭据,请查看Cognito和AWS Amplify。

什么是“.conf”文件?它是应用程序的配置文件吗?如果是这样的话,那么不,它不够安全

亚马逊有一个描述访问密钥最佳实践的网站。他们对应用程序的建议是将角色附加到运行应用程序的任何对象(EC2/ECS/Lambda)

使用角色的最大好处是它提供的凭据是临时的:它们的最大生存期为12小时,默认生存期为1小时。因此,如果有人设法从您的服务器中提取它们,它们将无法造成长期损害(与用户关联的“永久”访问密钥不同)

虽然这有帮助,但您仍然需要限制这些凭据的范围(即,不要在其权限策略中使用通配符)。您应该监视部署中的无效凭据使用情况(即,从VPC之外的某个地方进行的API调用)

如果您谈论的是开发使用的凭据。但是,如果使用AWS Single SignOn,则不需要将凭据存储在任何位置,这为CLI/SDK的使用提供了有限的终身凭据


如果您正在谈论移动应用程序的凭据,请查看Cognito和AWS Amplify。

感谢您提供了详尽的答案。除了AWS的S3,我不使用其他任何东西。我有一个CloudFoundry应用程序,在那里我使用S3作为永久存储。我看到了AWS提议的地方。但是,我想知道像“~/.aws”这样的文件和带有的conf文件在安全性方面有什么区别?我肯定会在有限的一生中进一步研究。我想我每次都必须放一个令牌或什么东西来获取新的有效凭据…存储在主目录中的任何未加密文件都是同等安全的。单独的配置文件的问题是,您通常会将其与应用程序一起部署,这可能更不安全,特别是当您意外地将其签入源代码管理时。谢谢您的详细回答。除了AWS的S3,我不使用其他任何东西。我有一个CloudFoundry应用程序,在那里我使用S3作为永久存储。我看到了AWS提议的地方。但是,我想知道像“~/.aws”这样的文件和带有的conf文件在安全性方面有什么区别?我肯定会在有限的一生中进一步研究。我想我每次都必须放一个令牌或什么东西来获取新的有效凭据…存储在主目录中的任何未加密文件都是同等安全的。单独的配置文件的问题是,您通常会将其与应用程序一起部署,这可能更不安全,特别是当您意外地将其签入源代码管理时。