Azure Arc 対応 Kubernetes の ID およびアクセス管理
Azure Arc 対応 Kubernetes クラスターへのアクセスを認証、承認、および制御できます。 このトピックでは、Arc 対応 Kubernetes クラスターでこれを行うためのオプションの概要について説明します。
これらのさまざまなオプションを使用する方法を次の図に示します。
ニーズに最も適している場合は、クラスター接続と Azure RBAC の両方を一緒に使用することもできます。
接続オプション
Arc 対応 Kubernetes クラスターに対してユーザーが認証してアクセスする方法を計画するとき、最初に決定するのはクラスター接続機能を使用するかどうかです。
クラスター接続
Azure Arc 対応 Kubernetes のクラスター接続機能は、クラスターの apiserver
への接続を提供します。 この接続は、ファイアウォールで受信ポートを有効にすることを要求しません。 クラスターで実行されているリバース プロキシ エージェントでは、Azure Arc サービスとのセッションを送信方法で安全に開始できます。
クラスター接続を使用すると、Arc 対応クラスターに Azure 内またはインターネットからアクセスできます。 この機能は、対話型デバッグとトラブルシューティング シナリオを有効にするのに便利です。 クラスター接続は、新しいユーザーにアクセス許可が必要なときに、更新のために要求するユーザー操作も少ないことがあります。 この記事で説明されているすべての承認と認証のオプションは、クラスター接続で機能します。
カスタムの場所を使用するか、Azure portal から Kubernetes リソースを表示する場合は、クラスター接続が必要です。
詳細については、「クラスター接続を使用して Azure Arc 対応 Kubernetes クラスターに安全に接続する」を参照してください。
クラスター接続なしの Microsoft Entra ID と Azure RBAC
クラスター接続を使用しない場合は、接続されたクラスターにユーザーがアクセスできるように、Microsoft Entra ID と Azure ロールベースのアクセス制御 (Azure RBAC) を使用して認証および承認できます。 Azure Arc 対応 Kubernetes での Azure RBAC を使用すると、テナント内のユーザーに許可されるアクセス権を制御し、使い慣れた Azure の ID およびアクセス管理機能を使用して Azure から直接アクセス権を管理できます。 サブスクリプションまたはリソース グループのスコープ内のすべての接続済みクラスターにロールアウトするように、そのスコープでロールを構成することもできます。
Azure RBAC は条件付きアクセスをサポートしているため、Just-In-Time クラスター アクセスを有効にしたり、アクセス権を承認されたクライアントまたはデバイスに制限したりできます。
Azure RBAC は、Azure を通過することをすべての接続に求めるのではなく、Microsoft Entra ID を使用してデータセンター内から接続されたクラスターに直接アクセスする直接通信モードもサポートしています。
Arc 対応 Kubernetes での Azure RBAC は現在パブリック プレビューの段階です。 詳細については、「Azure Arc 対応 Kubernetes クラスターで Azure RBAC を使用する」を参照してください。
認証オプション
認証とは、ユーザーの ID を検証するプロセスです。 Arc 対応 Kubernetes クラスターに対する認証には、クラスター接続と Azure RBAC の 2 つのオプションがあります。
Microsoft Entra 認証
Arc 対応 Kubernetes での Azure RBAC 機能を使用すると、Microsoft Entra ID を使用して、接続されている Kubernetes クラスターへのアクセスを Azure テナント内のユーザーに許可できるようになります。
クラスター接続とともに Microsoft Entra 認証を使用することもできます。 詳細については、「Microsoft Entra 認証オプション」を参照してください。
サービス トークン認証
クラスター接続を使用すると、サービス アカウント経由で認証することを選択できます。
詳細については、「サービス アカウント トークン認証オプション」を参照してください。
承認オプション
承認は、認証されたユーザーに、指定されたアクションを実行するアクセス許可を付与します。 Azure Arc 対応 Kubernetes には、2 つの承認オプションがあり、いずれもロールベースのアクセス制御 (RBAC) を使用します。
- Azure ロールベースのアクセス制御 (Azure RBAC) は、Microsoft Entra ID と Azure Resource Manager を使用して、Azure リソースへのきめ細かいアクセス管理を提供します。 これにより、Azure ロールの割り当ての利点 (行われたすべての変更を追跡するアクティビティ ログなど) を Azure Arc 対応 Kubernetes クラスターで使用できます。
- Kubernetes ロールベースのアクセス制御 (Kubernetes RBAC) を使用すると、ユーザー、グループ、およびサービス アカウントが特定のクラスター リソースにのみアクセスできるように、Kubernetes API を使用してポリシーを動的に構成できます。
Kubernetes RBAC はクラスター内の Kubernetes リソースでのみ機能しますが、Azure RBAC は Azure サブスクリプション全体のリソースで機能します。
Azure RBAC 承認
Azure ロールベースのアクセス制御 (RBAC) は、Azure Resource Manager と Microsoft Entra ID 上に構築された承認システムであり、Azure リソースのきめ細かいアクセス管理を提供します。 Azure RBAC では、ロールの定義が、適用されるアクセス許可の概要を指定します。 これらのロールのユーザーまたはグループへの割り当てには、特定のスコープのロールの割り当てを使用します。 スコープは、サブスクリプション全体にわたらせることも、リソース グループまたは Kubernetes クラスターなどの個々のリソースに限定することもできます。
クラスター接続なしで Microsoft Entra 認証を使用する場合は、Azure RBAC 承認が承認の唯一のオプションです。
Microsoft Entra 認証でクラスター接続を使用する場合は、クラスターの apiserver
への接続に Azure RBAC を使用するオプションがあります。 詳細については、「Microsoft Entra 認証オプション」を参照してください。
Kubernetes RBAC 認証
Kubernetes RBAC は、ユーザー アクションのきめ細かいフィルター処理を提供します。 Kubernetes RBAC では、リソースの作成および変更や、実行中のアプリケーション ワークロードのログの表示を行うためのアクセス許可をユーザーまたはグループに割り当てます。 ロールを作成してアクセス許可を定義し、ロール バインドを使用してユーザーにそれらのロールを割り当てることができます。 アクセス許可のスコープは、1 つの名前空間にも、クラスター全体にも設定できます。
サービス アカウント トークン認証オプションでクラスター接続を使用する場合は、Kubernetes RBAC を使用してクラスターの apiserver
への接続を提供する必要があります。 この接続は、ファイアウォールで受信ポートを有効にすることを要求しません。 クラスターで実行されているリバース プロキシ エージェントでは、Azure Arc サービスとのセッションを送信方法で安全に開始できます。
Microsoft Entra 認証でクラスター接続を使用する場合は、Azure RBAC ではなく Kubernetes RBAC を使用するオプションもあります。