如何管理EC2实例配置文件的权限?

时间:2017-11-06 14:25:04

标签: java amazon-web-services amazon-ec2 aws-sdk amazon-iam

在EC2上部署java app时,我可以使用

new ProfileCredentialsProvider()

注入一些实例凭据。但是IAM用户会是哪个?我该如何管理该用户的权限?例如,限制他对某个特定S3存储桶的权利

2 个答案:

答案 0 :(得分:2)

Mark B对EC2实例配置文件100%正确。快速搁置 - Java ProfileCredentialsProvider是指AWS SDK和AWS CLI可用的凭据配置文件,而不是EC2实例配置文件。从其文档:

  

基于AWS配置文件的凭据提供程序。这个   提供商从配置文件配置文件中发布AWSCredentials   默认配置文件,或特定的命名配置文件。

     

AWS凭证   配置文件允许您共享多组AWS安全凭证   在不同的工具之间,例如AWS SDK for Java和AWS CLI。

这不适合部署到EC2,因为这意味着您必须将配置文件存储在EC2实例上。根据Mark B的回答,EC2实例配置文件更适合将凭据传递给EC2上的应用程序。

为了能够在不进行进一步更改的情况下进行检索,只需使用DefaultAWSCredentialsProviderChain(注意:renamed DefaultCredentialsProvider in AWS SDK for Java v2),这将通过多种凭据方案,直到它在您的系统上找到有效的凭证方案。根据文档,它按此顺序查找凭据:

  
      
  1. Java系统属性 - aws.accessKeyId和aws.secretKey

  2.   
  3. 环境变量 - AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY

  4.   
  5. 所有AWS开发工具包和AWS CLI共享的默认位置(〜/ .aws / credentials)的凭据配置文件

  6.   
  7. 如果设置了AWS_CONTAINER_CREDENTIALS_RELATIVE_URI“环境变量,则通过Amazon EC2容器服务提供的凭据   并且安全管理员有权访问变量。

  8.   
  9. 通过Amazon EC2元数据服务提供的实例配置文件凭据

  10.   

这将允许您在本地开发环境中查找凭据配置文件,并在生产EC2环境中查找EC2实例配置文件。

进一步阅读

答案 1 :(得分:1)

它不是IAM用户,而是EC2实例配置文件。首先,您必须在帐户中创建实例配置文件,就像您必须创建IAM用户一样。您可以通过将适当的IAM安全策略分配给实例配置文件来准确管理EC2实例配置文件的权限,以管理IAM用户的权限。