当前位置: 首页 > 面试题库 >

无需访问权限和Java密钥即可上传AWS S3

南门正业
2023-03-14
问题内容

我想将文件上传到S3,而不使用AWS服务器的访问权限和密钥。AWS密钥应作为默认密钥。但是在服务器中运行以下命令,我可以访问它而无需提供任何访问权限和密钥。

aws s3 cp somefile.txt s3:// somebucket /

从Java代码无法访问,因为它无法加载凭据。下面是我的代码。

AmazonS3 s3client = new AmazonS3Client(new DefaultAWSCredentialsProviderChain());

问题答案:

s3client当您尝试从EC2实例连接到S3存储桶时,可以使用以下Java代码获取实例。

AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
              .withCredentials(new InstanceProfileCredentialsProvider(false))
              .build();

这是推荐的方法,因为应用程序不需要维护属性文件中的访问密钥。

  • 应该创建IAM角色,并且应该为该角色提供S3访问。请参阅下面的示例策略。
  • IAM角色应分配给EC2实例

IAM角色的示例政策:-

{
        "Action": ["s3:PutObject",
        "s3:ListBucket",
        "s3:GetObject",
        "s3:DeleteObject"],
        "Resource": ["arn:aws:s3:::yourBucketName",
        "arn:aws:s3:::yourBucketName/*"],
        "Effect": "Allow",
        "Sid": "AllowBucketLinux"
    }


 类似资料:
  • 我正在开发一个将文件上传到Azure存储的.NET应用程序。我正在利用https://azure.microsoft.com/en-us/documentation/articles/storage-encrypt-decrypt-blobs-key-vault/教程中所做的客户端加密 应用程序工作,即,我可以成功地上传一个加密的blob到一个选定的存储帐户和容器。 但是,我对RSA密钥的安全性有

  • 从AWS-EC2实例运行的AWS-SDK如何访问AWS-S3桶? 将AWS-EC2策略设置为可以访问S3存储桶而无需访问ID和密钥。 aws-cli工具能够从EC2实例访问S3桶,而不需要任何访问ID和密钥。 如果aws-cli工具能够在没有访问ID和密钥的情况下访问S3,那么AWS-SDK在从EC2实例运行时也必须有办法做到这一点。 如何做到这一点?

  • 在Mac OS X上运行grails 2.2.0和mysql(mysql版本14.14发行版5.6.10,用于osx10.7(x86_64)使用EditLine包装器),我开始遇到奇怪的拒绝访问错误。 示例代码 通常的授予和数据库在运行grails之前创建。 用一个全新的项目进行测试,当然它是有效的。。思想? /

  • 我试图编译代码时遇到了这个异常。我已经安装了eclips工具包,我正在使用EclipseKepler 异常线程"main"java.lang.NoClassDefFoundError: org/apache/共用/日志/LogFactory在com.amazonaws.Amazon WebServiceClient.(Amazon WebServiceClient.java:56)在test_to

  • 本文向大家介绍java类访问权限与成员访问权限解析,包括了java类访问权限与成员访问权限解析的使用技巧和注意事项,需要的朋友参考一下 在写代码的时候有个问题:包内定义了一个接口类,另外一个包要实现它,这里采用接口隔离与依赖倒置原则,将两个包的依赖关系倒置过来。但是,这里就遇到了一个问题,实现类采用工厂模式来实例化,所以实现类就不想暴露给包外,但是实现类还要实现public接口。所以这里有产生了一

  • 我正在开发一个从Flickr中提取图像的应用程序,它还提供了上传到Flickr的能力。问题是Flickr API似乎不接受未经身份验证的照片上传。 换句话说,使用我的应用程序的最终用户必须通过Flickr网站,用他们的Flickr帐户登录并授予权限,只有在此之后,Flickr才开始上传过程。 谢谢