1. 程式人生 > >Istio 1.0 # 基礎認證策略 # 設定終端使用者認證

Istio 1.0 # 基礎認證策略 # 設定終端使用者認證

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