Amazon web services 从AWS SDK从AWS EC2访问S3,无需访问Id和密钥
从AWS-EC2运行的AWS-SDK如何访问实例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_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获取凭据。)