微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用带有 Java 的服务帐户访问云存储的 S3 API

如何解决使用带有 Java 的服务帐户访问云存储的 S3 API

我想使用 Java AWS S3 API 访问我的 GCP Cloud Storage 存储桶以实现互操作性,因此不想在我的代码中使用 Google Api。在访问 Google Cloud Storage 时,我已经看到了使用 S3 API 进行基本身份验证的示例。我想通过我的服务帐户 json 密钥 ( OAuth 2 ) 进行身份验证,而不是为 Cloud Storage 创建另一个 HMAC 密钥。任何人都可以给我指出一个使用 Java 的例子。推荐的方法是什么 - 我认为 json oauth 2 身份验证是一个很好的方法

基本身份验证如下:

                // Create a BasicAWSCredentials using Cloud Storage HMAC credentials.
                BasicAWSCredentials googleCreds =
                    new BasicAWSCredentials(googleAccessKeyId,googleAccessKeySecret);

                // Create a new client and do the following:
                // 1. Change the endpoint URL to use the Google Cloud Storage XML API endpoint.
                // 2. Use Cloud Storage HMAC Credentials.
                AmazonS3 interopClient =
                    AmazonS3ClientBuilder.standard()
                        .withEndpointConfiguration(
                                new AwsClientBuilder.EndpointConfiguration("https://storage.googleapis.com","auto"))
                        .withCredentials(new AWsstaticCredentialsProvider(googleCreds))
                        .build();

但我想使用为服务帐户生成的 json 密钥进行身份验证。该服务帐号有权访问 Cloud Storage Viewer 和 Cloud Storage Creator。

谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。