Istio 1.0 # 基礎認證策略 # 設定終端使用者認證
阿新 • • 發佈:2019-01-03
Istio 0.8版本增強了服務間雙向認證,1.0版本增加了終端使用者認證的功能,這樣整個服務網格的認證策略就齊全了;目前只支援JWT Authentication,可以使用authentication policy進行配置;
公司的OAuth2 Server使用的是Cloudary Foundary的UAA,Cloudary Foundary的UAA Server完全按照規範來設計的,所以跟Istio的 JWT Authentication模組整合的時候,異常順利;
部署httpbin
Issuer
Authentication Policy
istioctl create -f jwt-example -n foo
apiVersion: "authentication.istio.io/v1alpha1"
kind: "Policy"
metadata:
name: "jwt-example"
spec:
targets:
- name: httpbin
origins:
- jwt:
issuer: "http://uaa-server/uaa/oauth/token"
jwksUri: "http://uaa-server/uaa/token_keys"
principalBinding: USE_ORIGIN
獲取access_token
curl 'http://stage-uaa.suerlink.com/uaa/oauth/token' -i -X POST \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Accept: application/json' \
-d 'client_id=admin&client_secret=adminsecret&grant_type=client_credentials&response_type=token'
測試
http://39.104.2.230/headers?access_token =xxxx