Spring Cloud 云身份识别代理(IAP)身份验证
Cloud Identity-Aware Proxy(IAP)为部署到Google Cloud的应用程序提供了安全层。
IAP入门人员使用Spring Security OAuth 2.0资源服务器功能从注入代理的x-goog-iap-jwt-assertion
HTTP标头中自动提取用户身份。
以下声明将自动验证:
- 发行时间
- 到期时间
- 发行人
- 听众
当应用程序在App Engine Standard或App Engine Flexible上运行时,将自动配置受众群体("aud"
)验证。对于其他运行时环境,必须通过spring.cloud.gcp.security.iap.audience
属性提供自定义受众。
自定义属性(如果已指定)将覆盖自动的App Engine受众群体检测。
Compute Engine或Kubernetes Engine没有自动的受众字符串配置。要在GCE / GKE上使用IAP启动器,请 在“验证JWT有效负载”指南中按照说明查找受众字符串,并在
spring.cloud.gcp.security.iap.audience
属性中进行指定。 否则,应用程序将无法以No qualifying bean of type 'org.springframework.cloud.gcp.security.iap.AudienceProvider' available
消息启动。
如果创建自定义
WebSecurityConfigurerAdapter
,请通过向HttpSecurity
对象 添加.oauth2ResourceServer().jwt()
配置来提取用户身份。如果没有自定义项,WebSecurityConfigurerAdapter
则无需执行任何操作,因为Spring Boot将默认添加此自定义项。
起始Maven坐标,使用Spring Cloud GCP BOM:
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-gcp-starter-security-iap</artifactId> </dependency>
入门级Gradle坐标:
dependencies { compile group: 'org.springframework.cloud', name: 'spring-cloud-gcp-starter-security-iap' }
更多建议: