Я использую Nginx Входной сервис для аутентификации устройств, чтобы они могли go пройти и начать использовать сервисы в моем кластере kubernetes. Я попытался использовать nginx.ingress.kubernetes.io/auth-url
: в поле «Входящие аннотации», где URL дал 200 OK
, и я мог попасть в свой кластер. Теперь у меня нет учетных данных, которые можно легко получить, и я использую ядро AWS IoT для регистрации устройства и запрашиваю токен из учетных данных IAM, чтобы получить мой токен и подписать свой сертификат. Я думал поместить URL запроса токена в то же поле nginx.ingress.kubernetes.io/auth-url:
, чтобы он мог получить запрос OK и переместить мое устройство, так как этот токен мне все равно не нужен. Однако я не могу передать заголовки и свои учетные данные в один URL-запрос, так как пример запроса CURL выглядит следующим образом:
curl --cert deviceCert.pfx --pass <certificate-password> --key <device-certificate-key-pair> -H "x-amzn-iot-thingname: MyHomeThermostat" https://<your_credentials_provider_endpoint>/role-aliases/Thermostat-dynamodb-access-role-alias/credentials
И я не нашел некоторые методы CURL ЗДЕСЬ
Какие у меня есть варианты?
PS Я использую это руководство для регистрации своего устройства и получения токена LINK
Вот мой пример файла Ingress yaml, который я Я использовал ранее, когда я мог получить учетные данные с помощью простого URL:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: server-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/grpc-backend: "true"
nginx.ingress.kubernetes.io/secure-backends: "false"
nginx.ingress.kubernetes.io/auth-url: "http://token-vendor.default.svc.cluster.local/apis/core.token-vendor/v1/token.verify?robots=true"
spec:
rules:
- host: "www.endpoints.interesting-topic-267521.cloud.goog"
http:
paths:
path: /sensor.TF/
backend:
serviceName: server-service
servicePort: 50051