当前位置: 首页 > 知识库问答 >
问题:

StackDrive Spring Boot缺少有效密钥

齐弘业
2023-03-14

我正在设置一个spring boot应用程序,其中日志被发送到google cloud stackdriver。我正在使用logback appender进行堆栈驱动程序日志记录,并使用其文档中的logback文件https://cloud.google.com/logging/docs/setup/java.

我将Intellij中的GOOGLE_CLOUD_PROJECT和GOOGLE_APPLICATION_CREDENTIALS添加到环境变量中。此外,我还将它们设置为Windows中的环境变量。当我启动应用程序时,我总是得到:PERMISSION_DENIED:请求缺少有效的API密钥

我安装了gcloud,在那里我可以使用cred文件作为具有管理员权限的服务帐户来写入和读取日志。所以文件应该和权限一样有效。

我也试图将密钥设置为环境变量,但这也没有帮助。它不起作用,我错过了什么?

共有2个答案

翟善
2023-03-14

我发现了问题。需要通过logback设置GOOGLE\u APPLICATION\u凭据文件。带有标记的xml。

许嘉福
2023-03-14

我在Intellij中向环境变量添加了GOOGLE_CLOUD_项目和GOOGLE_APPLICATION_凭据。

您确定环境变量是从IntelliJ获取的吗?您是否交叉检查环境变量是否使用CLI设置?

如果您使用spring cloud gcp starter日志库进行Stackdriver集成,那么设置环境变量应该可以。

来自文档:

由于日志的设置方式,应用程序中定义了GCP项目ID和凭据。忽略属性。

相反,您应该将GOOGLE_CLOUD_PROJECTGOOGLE_APPLICATION_CREDENTIALS环境变量分别设置为项目ID和凭据私钥位置。如果您使用的是Google Cloud SDK,则可以轻松执行此操作,分别使用gCloud配置集项目[YOUR_PROJECT_ID]和gCloud auth应用程序默认登录命令。

要使Spring Boot应用程序与Stackdriver日志一起工作,您可以将GOOGLE\u CLOUD\u项目和GOOGLE\u应用程序凭据设置为:

export GOOGLE_CLOUD_PROJECT=`gcloud config get-value core.project`
export GOOGLE_APPLICATION_CREDENTIALS=`gcloud auth application-default login`

我安装了gcloud,在那里我可以使用cred文件作为具有管理员权限的服务帐户来写入和读取日志。

您不应该使用管理员权限。您应该使用带有角色/日志的服务帐户。logWriter和(如果需要)角色/日志。查看器角色。

 类似资料:
  • 我们将Spring Kafka与Spring Boot(所有最新版本)结合使用。我们将Kafka消息的处理转换为KafkaHandler注释方法,并期望有效的验证方法和有效的有效载荷能够确保有效载荷的验证,但事实并非如此。此功能适用于KafkaListener,是否也适用于KafkaHandler? 非常感谢。

  • 我的情况很像SemiFixed:“production”环境缺少`secret_key_base`: 我的配置/秘密 我在/etc/environment中添加了一个条目,这样当我登录并键入 我得到了我用耙子秘密创建的长串。但是,对于“生产”环境,即使重置了整个计算机,我仍然收到500错误,丢失secret_key_base,在config/secrets.yml中设置此值。那么还有什么可能出错呢

  • 我尝试让 SHA1 用于火基地,但我无法获得 SHA1 在JavaVirtualMachines我使用jdk1.8.0_202.jdk 我试着进入梯度- = keytools-exportcert-alias androiddedegkey-keystore~/. android/debug.keystore-list-v keytool-list-v-keystore/Users/bobhope

  • 问题内容: 我正在尝试连接到远程主机,并检查文件是否存在。在此阶段,我仅尝试连接,但是出现错误: 我试图找出其他人是否有像我一样的问题,但我却找不到。 我知道我需要在此过程中以某种方式检查knowns_hosts,但我只是想不通如何… 问题答案: 您在这里寻找的是: 然后将您的hostKey定义行替换为 有关此主题的更多信息: 我从中获取部分代码的官方样本 为什么现在需要hostKey 编辑:还请

  • AndroidManifest。xml 在我上传文件的活动中,我在MediaManager中进行了初始化 我用它的uri上传了这个文件: 问题是我收到一个错误。我需要未签名上传的api密钥吗?

  • 我试图通过DropBox系列中提供的API启用Dropbox操作 这里是生成的url: https://api.dropbox.com/1/metadata/sandbox/public/2WayServiceOverview.pdf?oauth_consumer_key=XXXXXX 当然有些数据我替换不分享所有:-) 授权通过后,我获得访问代码,然后得到{“错误”:“无效或缺少签名”} 文件p