Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 从AWS SDK从AWS EC2访问S3,无需访问Id和密钥_Amazon Web Services_Amazon S3_Amazon Ec2_Aws Sdk - Fatal编程技术网

Amazon web services 从AWS SDK从AWS EC2访问S3,无需访问Id和密钥

Amazon web services 从AWS SDK从AWS EC2访问S3,无需访问Id和密钥,amazon-web-services,amazon-s3,amazon-ec2,aws-sdk,Amazon Web Services,Amazon S3,Amazon Ec2,Aws Sdk,从AWS-EC2运行的AWS-SDK如何访问实例 AWS-EC2策略的设置使其能够访问S3 bucket没有accessId和密钥 Aws cli工具能够从EC2实例访问S3 bucket,而不需要任何accessId和密钥 如果aws cli工具能够在不使用accessId和密钥的情况下访问S3,则aws-SDK在运行时也必须有办法访问S3 来自EC2实例 如何做到这一点?使用创建您的客户端。这将使用链接中提到的 AWS凭据提供程序链,用于在此数据库中查找凭据 订单: 环境变量-AWS_AC

从AWS-EC2运行的AWS-SDK如何访问实例

  • AWS-EC2策略的设置使其能够访问S3 bucket没有accessId和密钥
  • Aws cli工具能够从EC2实例访问S3 bucket,而不需要任何accessId和密钥
  • 如果aws cli工具能够在不使用accessId和密钥的情况下访问S3,则aws-SDK在运行时也必须有办法访问S3 来自EC2实例
  • 如何做到这一点?

    使用创建您的客户端。这将使用链接中提到的

    AWS凭据提供程序链,用于在此数据库中查找凭据 订单:

    • 环境变量-AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY(建议使用),因为它们被所有AWS SDK和CLI识别
      除.NET外),或AWS\u访问密钥和AWS\u保密密钥(仅
      由Java SDK识别)
    • Java系统属性-aws.accessKeyId和aws.secretKey
    • 所有aws SDK和aws CLI共享的默认位置(~/.aws/credentials)处的凭据配置文件文件
    • 如果设置了AWS_container_Credentials_RELATIVE_URI“环境变量,则通过Amazon EC2容器服务传递凭据
      并且安全管理器具有访问该变量的权限
    • 通过AmazonEC2元数据服务提供的实例配置文件凭据

    创建IAM实例配置文件并将其与EC2实例关联。创建IAM配置文件还需要配置accessId和密钥,以便从AWS-SDK访问S3 bucket。如果您有IAM配置文件,则不需要访问id和密钥。只需运行命令
    AWS S3 copy…
    是,我知道。使用AWS cli工具,我可以执行com像“aws s3副本。。。“或者别的什么。但我需要的是,使用AWS-SDK做同样的事情。我想使用JAVA程序或python程序访问S3存储桶。AWS-SDK for java需要密钥和访问ID。但是,如果没有accessid和密钥,如何通过程序访问它?如果已将IAM角色分配给EC2实例,则任何使用AWS SDK的程序都将自动查找凭据。不需要提供访问密钥+密钥。(顺便说一下,AWS CLI只是一个Python程序,它通过AWS SDK for Python获取凭据。)