Google Identity Aware Proxy для двух разных бэкэнд-сервисов, использующих один и тот же домен - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть сценарий использования, где мне нужно интегрировать два разных сервиса, используя вход разветвления (другой путь).Я решил сделать это, потому что обе службы на самом деле связаны, поэтому я не хочу отделять домен.Другая причина в том, что я не хочу использовать другой вход.Однако эта проблема возникает, я понимаю, что после активации Google IAP будут созданы новые clientId и secretId.И URL перенаправления javascript должен быть доменом (без указания пути или в форме подстановки).

Я пытаюсь получить доступ к https://{my -домену} / {some-path}.Оказывается, я получил следующую ошибку.

Это ошибка.

Ошибка: redirect_uri_mismatch

URI перенаправления в запросе, https://{my -domain} / _ gcp_gatekeeper / authenticate, не соответствуетавторизованные для клиента OAuth.Чтобы обновить авторизованные URI перенаправления, посетите: https://console.developers.google.com/apis/credentials/oauthclient/

Это моя входная конфигурация:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.allow-http: "false"
    kubernetes.io/ingress.global-static-ip-name: <some-static-ip>
  name: <name>
  namespace: <namespace>
spec:
  backend:
    serviceName: <service-1>
    servicePort: <port-of-service-1>
  rules:
  - http:
      paths:
      - backend:
          serviceName: <service-2>
          servicePort: <port-of-service-2>
        path: /<some-path>/*
  tls:
  - secretName: <secret-name>

Однако, когда я попытался получить доступ к своему 1-му сервису, он просто отлично работает и работаеткак и ожидалось.

Просто интересно, можно ли создать IAP для двух разных бэкэнд-сервисов, используя один и тот же вход.Я не могу найти больше об этом, хотя.Спасибо!

Лучший,

1 Ответ

0 голосов
/ 17 декабря 2018

После того, как я прочитал это:

  1. https://cloud.google.com/iap/docs/reference/compute-engine-apis#set_iap_properties_by_updating
  2. https://cloud.google.com/kubernetes-engine/docs/concepts/backendconfig
  3. https://cloud.google.com/iap/docs/enabling-kubernetes-howto

Я понимаю, чтоМне просто нужно включить IAP для моей второй службы, а затем переопределить значение clientId и secretId для моей второй службы на значение, указанное в конфигурации IAP для моей первой службы.Перейдите к консоли IAP:

kubectl create secret generic backend-config-secret --namespace {namespace}  \
--from-literal=client_id=client_id_key  \
    --from-literal=client_secret=client_secret_key

Создайте свой BackendConfig:

apiVersion: cloud.google.com/v1beta1
kind: BackendConfig
metadata:
  name: {name}
  namespace: {namespace}
spec:
  iap:
    enabled: true
    oauthclientCredentials:
      secretName: backend-config-secret

Добавьте это к вашим услугам:

beta.cloud.google.com/backend-config: '{"default": "{name}"}'
...