我正在尝试编写一个 Java 程序来将 Vault 导出数据下载到 Google Cloud 存储桶,因为导出数据在 2 周后被删除。Vault 数据与典型的 GCS 存储桶和对象身份相关联,因此它可能存储在 GCS 中。似乎有两个 Java 客户端库 com.google.cloud.storage 和 com.google.api.services.storage 似乎可以满足我的需要,但以不同的方式工作并使用不同的身份验证源(凭据对象) ) . 如果我使用 com.google.api.services.storage 我可以让一切正常工作,但只能使用最终用户身份验证流程。但是,如果我使用 com.google.cloud.storage,即使使用与 com.google.api.services.storage 相同的 ID 访问,我也会在保管库存储桶上获得未经授权的 403。我正在使用我的 Google Workspace ID,因为它可以访问 Vault 存储桶和 GCS 存储桶。最后一点,com.google.api.services.storage 存储对象使用 com.google.api.client.auth.oauth2.Credential 对象进行实例化,而 com.google.cloud.storage 使用 com.google.auth.oauth2 .GoogleCredentials 对象。
总而言之,我可以使用任一客户端库来访问保险柜导出数据吗?如果可以,我如何授予对保险库数据的访问权限,以便 com.google.cloud.storage 库可以访问它。