Dex を使用して Kubernetes 認証を実装する方法の詳細な説明

Dex を使用して Kubernetes 認証を実装する方法の詳細な説明

Kubernetes は現在最も広く使用されているオープンソースのコンテナ オーケストレーション プラットフォームですが、少なくともネイティブにはユーザーを作成および管理する手段がありません。ただし、複数の認証サービスに接続できるため、これは欠点ではありません。その結果、Dex は Kubernetes で利用できる最高の認証ソリューションの 1 つになりました。

この記事では、Kubernetes 用の Dex について詳しく説明します。 Dex が解決できる問題のいくつか、サードパーティの ID プロバイダーを使用して設定する際の概要、そして Dex がカバーしていない、まだ対処が必要ないくつかの問題について検討します。

Dexとは何ですか?

Dex は、CoreOS, Inc. がリリースしたオープンソースの CNCF サンドボックス プロジェクトおよび認証サービスであり、OpenID Connect (OIDC) を使用して Kubernetes やその他の OIDC 互換サービスをさまざまな ID プロバイダーにリンクします。言い換えれば、Dex は、kubectl、Okta、GitHub、Google、Microsoft、Linkedin などの広く使用されている ID プロバイダー間のブローカーと考えることができます。

Dex は Kubernetes と他の ID プロバイダー間のブリッジとして機能するため、管理者は複数のチームを持つ組織にとって不可欠な、集中的なユーザーおよびグループ管理を実装できます。

さらに、次のセクションで説明するように、Dex はセキュリティを強化し、Kubernetes に最新の便利なログイン エクスペリエンスをもたらすこともできます。

Dex for Kubernetes はどのように機能しますか?

Dex の仕組みを詳しく説明する前に、Kubernetes 認証プロセスの仕組みを理解することが重要です。

Kubernetes クラスターと通信する場合、kubectl​ は実際には API サーバーと対話します。 API サーバーへのすべての HTTP リクエストに対して、認証プラグインはユーザー名、UID、およびグループを検索します。このような属性は、クライアント証明書、認証プロキシ、またはベアラー トークンによって提供できます。ここで Dex が登場し、ID プロバイダーと kubectl クライアント間のブリッジとして機能します。

Dex は OIDC を使用するため、いわゆる「コネクタ」を使用してサードパーティの ID プロバイダーに保存されているユーザー情報にアクセスできます。これにより、Dex はユーザー情報をベアラー トークンの形式で Kubernetes に転送し、認証プロセスを完了できるようになります。これらはすべて、シングル サインオン (SSO) プロセスを通じて実行されるため、ユーザーに対して透過的です。

さらに、次のセクションで説明するように、Dex によって送信される ID トークンには、ユーザー認証に使用できる情報が含まれています。

上記のプロセスは、Kubernetes での認証の仕組みを簡略化したものです。認証プロセスの詳細については、Kubernetes の公式ドキュメントをご覧ください。

(https://kubernetes.io/docs/reference/access-authn-authz/authentication/)

Dex はどのような問題を解決しますか?

すでに述べたように、Dex は管理者が組織の ID サービス プロバイダーを使用してユーザーとグループを管理できるようにすることで Kubernetes の機能を拡張します。

しかし、これは Dex が解決する唯一の問題ではありません。他にどのようなメリットがあるのか​​見てみましょう。

01安全性の向上

Dex は、Kubernetes クラスターのセキュリティをいくつかの方法で向上させます。

ID プロバイダーを通じてユーザーをクラスターにログインさせる安全な方法を提供します。

これにより、複数のユーザーに対して同じ kubeconfig ファイルを使用することによって生じるセキュリティ リスクが排除されます。

監査ログを通じて各ユーザーが実行したアクションを効果的に検出できます。

時間制限のないベアラートークンを作成する慣行を排除します。

RBAC ルール (ゼロ トラスト RBAC アクセス) を使用した効果的なユーザーおよびグループ管理により、認証および承認ポリシーの適用に役立ちます。

02柔軟性

組織ごとに独自の要件がありますが、Dex はほぼすべての ID プロバイダーと連携できるほど柔軟です。これは、Okta、GitHub、GitLab、Microsoft、Linkedin、OpenID Connect、OAuth 2.0、LDAP、SAML 2.0 プロトコルなどを使用するサービスで利用可能なコネクタによって証明されています。 Dex の詳細については、github アドレスをご覧ください。 (https://github.com/dexidp/dex)

03集中認証システムを提供する

小規模なチームにとって、Dex の実装は最適なソリューションではない可能性があります。ただし、さまざまなチームにまたがって数十人のユーザーがいる組織にとって、Dex は非常に強力なツールです。 kubeconfig ファイルを手動で作成、管理、配布する必要がないため、時間の節約とセキュリティの面で大きな利点があります。

さらに、Dex はよりきめ細かいアクセス制御を可能にすることで Kubernetes を補完します。次のセクションで説明するように、Dex は ID トークンの発行を制御し、その有効期間を指定できるようにします。これは、一時的なユーザー アクセスが関係する状況で便利です。

さらに、必要に応じてすべての ID トークンを取り消すこともできます。特定のユーザーまたはグループのアクセス権限を取り消すこともできます。

つまり、Dex を使用すると、効率的で使いやすい集中認証システムを Kubernetes に追加できます。

Dex を使用して Kubernetes で認証を設定する

すでに述べたように、Dex はコネクタを使用して Kubernetes と複数の ID プロバイダーをリンクするポータルとして機能します。

次の図は、シングル サインオン プロセスの概要を示しています。

認証プロセスでは、次の手順が実行されます。

  1. エンドユーザーは Dex へのログイン要求を開始します。これは通常、ユーザーがシングル サインオンを開始する Web アプリケーションまたはポータルを通じて行われます。
  2. Dex はこのリクエストをサードパーティの ID プロバイダー (Active Directory、Google、GitHub、Okta など) に転送します。これを実現するために、Dex は他のユーザー管理システムにクエリを実行するための一連のプロトコルを備えた「コネクタ」を使用します。
  3. これらの「コネクタ」のおかげで、Dex は ID プロバイダーから名前、メール、一意の識別子、グループ、アクセス トークンなどの関連するユーザー情報にアクセスできます。Okta の場合、このデータは ID トークンの形式で提供されます。 Dex のドキュメントによると、「ID トークンは JSON Web トークン (JWT) であり、エンド ユーザーの ID を証明する OAuth2 応答の一部として返されます。」
  4. Dex は、サードパーティのアップストリーム ID プロバイダーからユーザー情報を取得すると、ID プロバイダーの役割を引き受け、署名された ID トークンを kubectl クライアントに発行し、JWT を API サーバーに転送します。
  5. API サーバーは、Kubernetes OpenID Connect Token Authenticator プラグインを使用して ID トークンを消費します。この時点での結果は、ユーザーを認証するか拒否するかになります。ユーザーが正常に認証されると、API サーバーは ID トークン情報を使用して RBAC ルールを適用します。
  6. API サーバーからの応答が kubectl クライアントに送り返されます。
  7. クライアントは kubectl の結果をエンドユーザーに表示します。

LDAP 経由の認証の詳細については、ここにあるドキュメントをお読みください。 Okta などの OpenID Connect プロバイダーで認証する方法の詳細については、ここにあるドキュメントを参照してください。

Dex が解決しない問題は何ですか?

Dex は、Kubernetes のシングル サインオン エクスペリエンスを求める組織に優れたソリューションを提供しますが、特定の ID プロバイダーに関連する制限から免除されるわけではありません。

Dex のドキュメント (https://github.com/dexidp/dex) に示されているように、すべての ID プロバイダーが更新トークン要求をサポートしているわけではありません。つまり、アイデンティティ プロバイダーによっては、ユーザーは前のセクションで説明した認証プロセスを定期的に繰り返す必要があります。

さらに、すべての Dex コネクタが安定しているわけではありません。 Google、Bitbucket Cloud、OAuth 2.0 のコネクタはまだアルファ版です。

留意すべきもう 1 つの点は、Dex は認証ソリューションとしてのみ使用されるということです。環境変数、kube コンテキスト、コストの管理は、手動または他のツールを使用して行う必要があります。

結論は

この記事では、Kubernetes でのログイン エクスペリエンスを向上させるために Dex が有効なソリューションであることを学びました。

OIDC プロバイダーとして、Dex を使用すると、組織は既存の ID プロバイダーを活用して Kubernetes に接続できます。

これは大きな利点です。追加のインフラストラクチャを追加することなく、組織は Kubernetes の集中 ID 管理を実装できるため、時間を節約し、セキュリティ ポリシーの改善に役立ちます。

元記事: https://loft.sh/blog/dex-for-kubernetes-how-does-it-work/

<<:  クラウド パフォーマンスの最適化: クラウド パフォーマンス テストとそのメリットに関する詳細なガイド

>>:  モバイル エッジ コンピューティング: 5G の真の未来

推薦する

SaaS 時代の未来を予測する |第8回クラウドコンピューティングアプリケーションフォーラムが開催中です

過ぎ去ろうとしている2017年、SaaS業界は穏やかに見えますが、実は暗流があります。過去 1 年間...

VDI 災害復旧オプションを調べる

すべての VDI 導入には災害復旧計画を含める必要がありますが、DR 計画が複雑になる可能性があるた...

anexia-it ドイツ CN2 レビュー: 最適化されたヨーロッパルートをご覧ください

ヨーロッパのCN2ラインについて聞いたことがある人もいるかもしれませんが、実際にテストした人はほとん...

ケース + メソッド ユーザー アフィリエーション: 業界リーダーが使用するマーケティング手法

月収10万元の起業の夢を実現するミニプログラム起業支援プラン著者: ジャッキー、アクティビティ ボッ...

魏亜と李佳琦は「ネット最安値」を買う余裕がない

Eコマースのライブストリーミングは、マーケティング手法から標準化された販売チャネルへと進化しました。...

hosteons: 1Gbps 無制限専用サーバーがたったの 85 ドル、ロサンゼルス、さらにハイエンドなオプションも利用可能

Hosteons から最新のプロモーションが届きました。米国西海岸ロサンゼルスの Psychz デー...

5月のネットワークアクセスプロバイダー市場シェア動向:中国電信がダブル優勝

IDC Review Network(idcps.com)は6月10日に次のように報じた。CNZZが...

山東省金農プロジェクトが「クラウドコンピューティング」導入をリード

近年、山東省は農業の情報化において大きな進歩を遂げました。ハイライトは、山東省の「黄金農業プロジェク...

cloudcone - 2 ドル/KVM/512MB RAM/15GB HDD/3TB トラフィック/ロサンゼルス データ センター

Cloudcone をご存知ない方は、以前私が書いた紹介文を読んでみてください。信頼できる会社ですよ...

ページリファクタリングエンジニアの視点から見た「ユーザーエクスペリエンス」

工業デザインが人々の生活に溶け込んでいる今日、ユーザーエクスペリエンスという言葉が人々の目に頻繁に現...

企業のウェブサイトを最適化するにはどうすればいいでしょうか?

インターネットの急速な成長と発展に伴い、ますます多くの伝統的な企業が徐々にインターネット分野に移行し...

サンフォーはクラウドネットワーク品質テストの第1ラウンドに合格し、ハイブリッドクラウド業界パノラマの最終候補に選ばれました。

12月23日、中国情報通信研究院と中国通信標準化協会は北京で2021ハイブリッドクラウドカンファレン...

VCF 4.0 の新機能は何ですか?

VMware Cloud Foundation バージョン 4.0 を使用すると、顧客は使い慣れた ...

Microsoft のインダストリアル クラウド: 単なるサービス パッケージの集まりではない

特定の業界向けにカスタマイズされた、Microsoft の事前統合クラウド サービスは、同社の販売ア...

「2拠点3拠点」から「分散マルチアクティブ」へ

大規模なデータ集中化により、企業のビジネス活動はデータセンターやネットワークなどの IT インフラス...