分别管理AWS凭据并访问Java代码中的凭据

时间:2013-12-30 07:33:41

标签: amazon-web-services amazon-s3 cloud credentials

我正在使用java从s3上传和下载文件。我的问题是我无法检查代码以及公开的密钥和访问密钥,但代码必须签入公共环境。如何单独管理我的凭据并仅访问我的代码中的引用?

我使用的代码是

String awsAccessKey = "YOUR_AWS_ACCESS_KEY";
String awsSecretKey = "YOUR_AWS_SECRET_KEY";
AWSCredentials awsCredentials = 
    new AWSCredentials(awsAccessKey, awsSecretKey);

我希望凭据管理器与平台无关。

2 个答案:

答案 0 :(得分:5)

您可以实现AWSCredentialsProvider,这是一个为SDK客户端提供凭据的接口。例如,DefaultAWSCredentialsProviderChain是一个实现,它在多个位置查找凭据(环境,属性文件和EC2实例配置文件)。

您可以在AWS SDK for Java Github repo中查看多个凭据提供程序的实现。

答案 1 :(得分:0)

所有亚马逊实用程序都要求使用环境变量定义这些属性,您可以使用相同的方法,或使用基于文件的配置。