Client Authentication (v1)
Типи ресурсів
ExecCredential
ExecCredential використовується втулками на основі exec для передачі облікових даних до HTTP транспортів.
Поле | Опис |
---|---|
apiVersion string | client.authentication.k8s.io/v1 |
kind string | ExecCredential |
spec [Обовʼязкове]ExecCredentialSpec | Spec містить інформацію, передану транспортом втулку. |
status ExecCredentialStatus | Status заповнюється втулоком і містить облікові дані, які транспорт повинен використовувати для контакту з API. |
Cluster
Зустрічається в:
Cluster містить інформацію, що дозволяє exec втулку спілкуватися з кластером Kubernetes, до якого здійснюється автентифікація.
Щоб забезпечити наявність у цій структурі всього необхідного для звʼязку з кластером Kubernetes (як це робиться через kubeconfig), поля повинні відображати структуру "k8s.io/client-go/tools/clientcmd/api/v1". Cluster, за винятком CertificateAuthority, оскільки дані CA завжди будуть передаватися втулку у вигляді байтів.
Поле | Опис |
---|---|
server [Обовʼязкове]string | Server — це адреса кластера Kubernetes (https://hostname:port). |
tls-server-name string | TLSServerName передається серверу для SNI і використовується у клієнті для перевірки сертифікатів сервера. Якщо ServerName порожній, використовується імʼя хоста, за яким здійснюється контакт з сервером. |
insecure-skip-tls-verify bool | InsecureSkipTLSVerify пропускає перевірку дійсності сертифіката сервера. Це зробить ваші HTTPS-зʼєднання небезпечними. |
certificate-authority-data []byte | CAData містить сертифікати органів сертифікації, закодовані у форматі PEM. Якщо порожнє, слід використовувати системні корені. |
proxy-url string | ProxyURL — це URL-адреса проксі-сервера, який буде використовуватися для всіх запитів до цього кластера. |
disable-compression bool | DisableCompression дозволяє клієнту відмовитися від стиснення відповідей для всіх запитів до сервера. Це корисно для прискорення запитів (особливо списків), коли пропускна здатність мережі клієнт-сервер достатня, за рахунок економії часу на стиснення (на стороні сервера) і розпакування (на стороні клієнта): https://github.com/kubernetes/kubernetes/issues/112296. |
config k8s.io/apimachinery/pkg/runtime.RawExtension | Config містить додаткові дані конфігурації, специфічні для exec втулка щодо кластера, до якого здійснюється автентифікація. Ці дані походять з поля extensions[client.authentication.k8s.io/exec] обʼєкта Cluster клієнтської конфігурації: clusters:
В деяких середовищах конфігурація користувача може бути точно такою ж для багатьох кластерів (тобто викликати цей exec втулок), за винятком деяких деталей, специфічних для кожного кластера, таких як аудиторія. Це поле дозволяє безпосередньо вказати конфігурацію для кожного кластера разом з інформацією про кластер. Використання цього поля для зберігання секретних даних не рекомендується, оскільки однією з основних переваг exec втулків є те, що жодні секрети не потрібно зберігати безпосередньо в kubeconfig. |
ExecCredentialSpec
Зустрічається в:
ExecCredentialSpec містить інформацію про запит і специфічну для часу виконання, надану транспортом.
Поле | Опис |
---|---|
cluster Cluster | Cluster містить інформацію, що дозволяє exec втулку спілкуватися з кластером Kubernetes, до якого здійснюється автентифікація. Зверніть увагу, що Cluster є ненульовим тільки тоді, коли provideClusterInfo встановлено в true у конфігурації exec провайдера (тобто, ExecConfig.ProvideClusterInfo). |
interactive [Обовʼязкове]bool | Interactive вказує, чи було передано stdin цьому exec втулку. |
ExecCredentialStatus
Зустрічається в:
ExecCredentialStatus містить облікові дані для використання транспортом.
Token і ClientKeyData є конфіденційними полями. Ці дані повинні передаватися тільки в памʼяті між клієнтом і процесом exec втулка. Сам exec втулок повинен бути захищений принаймні через права доступу до файлів.
Поле | Опис |
---|---|
expirationTimestamp meta/v1.Time | ExpirationTimestamp вказує час, коли надані облікові дані закінчуються. |
token [Обовʼязкове]string | Token є маркером доступу, що використовується клієнтом для автентифікації запитів. |
clientCertificateData [Обовʼязкове]string | PEM-кодовані клієнтські TLS сертифікати (включаючи проміжні, якщо є). |
clientKeyData [Обовʼязкове]string | PEM-кодований приватний ключ для вищезгаданого сертифіката. |