Применить политику микшера к конкретным сервисам - PullRequest
0 голосов
/ 25 марта 2019

У меня есть политика микшера и адаптер, которые будут искать auth_key в токене, который я передаю, но он применяется ко всем моим модулям в моем пространстве имен по умолчанию.Мне нужно иметь доступ к двум моим модулям в пространстве имен по умолчанию, чтобы войти в систему и получить заголовок, который позволит мне пройти это правило.Так можно ли перечислить названия модулей, к которым я хочу применить это правило, а не применять ко всем?

# handler for adapter mygrpcadapter
apiVersion: "config.istio.io/v1alpha2"
kind: handler
metadata:
 name: h1
 namespace: istio-system
spec:
 adapter: mygrpcadapter
 connection:
#   address: "[::]:44225"
   address: "mygrpcadapterservice:44225"
   #address: "35.184.34.117:44225"
 params:
   auth_key: "Bearer"
---
apiVersion: "config.istio.io/v1alpha2"
kind: instance
metadata:
 name: icheck
 namespace: istio-system
spec:
 template: authorization
 params:
   subject:
     properties:
       custom_token_header:  request.headers["authorization"]
---

# rule to dispatch to handler h1
apiVersion: "config.istio.io/v1alpha2"
kind: rule
metadata:
 name: r1
 namespace: istio-system
spec:
 actions:
 - handler: h1.istio-system
   instances:
   - icheck
---

1 Ответ

1 голос
/ 25 марта 2019

Правила Istio Mixer имеют атрибут match, вы можете использовать его, чтобы указать, где применять правило, сопоставив Атрибуты Istio Mixer .

Например, из документации Istio:

match (destination.service.host, "rating. *) Выбирает любой запрос таргетинг на сервис, название которого начинается с «рейтинги»

...