Spring Cloud GCP 凭证
CredentialsProvider
是一个功能接口,可返回凭据以认证和授权对Google Cloud Client库的调用。
public interface CredentialsProvider { Credentials getCredentials() throws IOException; }
Spring Cloud GCP启动器会自动配置CredentialsProvider
。它使用spring.cloud.gcp.credentials.location
属性找到Google服务帐户的OAuth2私钥。请记住,此属性是Spring资源,因此可以从许多
不同的位置(
例如文件系统,类路径,URL等)获取凭证文件。下一个示例在文件系统中指定凭证位置属性。
spring.cloud.gcp.credentials.location=file:/usr/local/key.json
或者,您可以通过直接指定spring.cloud.gcp.credentials.encoded-key
属性来设置凭据。该值应为JSON格式的base64编码的帐户私钥。
如果未通过属性指定凭据,则启动程序将尝试从许多地方发现凭据:
GOOGLE_APPLICATION_CREDENTIALS
环境变量指向的凭据文件- Google Cloud SDK
gcloud auth application-default login
命令提供的凭据 - Google App Engine内置凭据
- Google Cloud Shell内置凭据
- Google Compute Engine内置凭据
如果您的应用程序在Google App Engine或Google Compute Engine上运行,则在大多数情况下,您应该省略spring.cloud.gcp.credentials.location
属性,而应让Spring Cloud GCP Starter获得那些环境的正确凭据。在App Engine Standard上,使用
App Identity服务帐户凭据
;在App Engine Flexible上,使用Flexible服务帐户凭据;在Google Compute Engine上,使用Compute Engine默认服务帐户。
更多建议: