java - 使用 Spring Cloud GCP Core 导入凭据时的 Google Cloud KMS 权限问题
问题描述
我按照 Spring Cloud GCP文档导入凭据,spring.cloud.gcp.credentials.encoded-key
并尝试调用KeyManagementServiceClient.asymmetricSign
以签署一些数据,但发生错误:
com.google.api.gax.rpc.PermissionDeniedException:io.grpc.StatusRuntimeException:PERMISSION_DENIED:权限'cloudkms.cryptoKeyVersions.useToSign'拒绝资源'projects/xxx/locations/xxx/keyRings/xxx/cryptoKeys/xxx'(或它可能不存在)。
我很确定凭据和 KMS 密钥都可以。当我使用GOOGLE_APPLICATION_CREDENTIALS
JSON 路径导入凭据时,一切都很好。但是当我更改实现以使用 Spring Cloud GCP Core 导入凭据时它失败了。
出于某种原因,我必须使用 GCP Core 来导入凭据。
解决方案
推荐阅读
- node.js - Node.js/Electron 的点阵打印模块?
- assembly - 非常卡在 ARM 中的子程序上
- hl7-fhir - 对具有大量患者的 Fhir 服务器执行条件删除操作失败
- julia - 如何在 Julia 中使用未注册的包?
- python - django 2.2.5 URL 路径中的 URL 正则表达式
- java - VSCode、Java、Spring Boot 和 Maven - 未读取环境变量
- javascript - 如何在传奇中使用警报,将其挂起,并且仅在按下按钮时才继续?
- typescript - 如何使用打字稿禁用nativescript中的多个按钮
- ios - Apple Receipt Validation 返回没有 latest_receipt_info 字段的收据
- arduino - 如何使用模拟值制作 HIGH LOW 循环