我正在使用Java从s3上传和下载文件。我的问题是我无法将代码以及用于公开的秘密和访问密钥一起检入,但是代码必须检入公共环境。如何分别管理我的凭据并仅在代码中访问其引用?
我使用的代码是
String awsAccessKey = "YOUR_AWS_ACCESS_KEY";
String awsSecretKey = "YOUR_AWS_SECRET_KEY";
AWSCredentials awsCredentials =
new AWSCredentials(awsAccessKey, awsSecretKey);
我希望凭证管理器独立于平台。
最佳答案
您可以实现AWSCredentialsProvider
,这是用于向SDK客户端提供凭据的接口。例如,DefaultAWSCredentialsProviderChain
是一种在多个位置查找凭据(环境,属性文件和EC2实例配置文件)的实现。
您可以在适用于Java的AWS开发工具包Github repo中检查几个凭证提供程序的实现。