Azure Arc 対応 Kubernetes の ID 管理とアクセス管理

Azure Arc 対応 Kubernetes は、さまざまな ID 管理システムおよびアクセス管理システムと統合されたオンプレミス環境やその他のクラウド環境をサポートします。 Azure Arc 対応 Kubernetes では、既存の Kubernetes クラスターのロールベースのアクセス制御 (RBAC) に加えて、Azure RBAC をサポートして、Kubernetes クラスター全体のアクセス管理を統合し、運用オーバーヘッドを最小限に抑えます。

組織で使用する必要がある RBAC モデルの組み合わせは、組織のニーズに応じて異なります。 いくつかの例を次に示します。

  • Kubernetes クラスターを Azure Arc にオンボードする
  • Arc 対応 Kubernetes クラスターを管理する
  • Azure Arc クラスター拡張機能をインストールする
  • Arc 対応 Kubernetes クラスターでアプリケーションを実行する
  • Azure RBAC を使用して Azure リソースにアクセスする

組織のニーズと Azure Arc 対応 Kubernetes の機能の両方を理解すると、Arc 対応 Kubernetes クラスターを構築するときに、特定のインフラストラクチャ、セキュリティ、ガバナンス要件に最適な RBAC モデルを選択できます。

この記事では、Azure Arc 対応 Kubernetes ID とアクセスの管理 (IAM) アーキテクチャ、設計上の考慮事項、レコメンデーション、さまざまなシナリオに対するロールベースのアクセス制御について説明します。

アーキテクチャ

組織に適したアーキテクチャを設計するには、Arc 対応 Kubernetes 接続モードを理解する必要があります。 Azure RBAC は、完全接続モードでのみサポートされ、半接続モードではサポートされません。

Azure Arc 対応 Kubernetes での Azure RBAC

次の図は、さまざまな Azure Arc 対応 Kubernetes コンポーネントと、Azure RBAC を使用して Kubernetes クラスターを管理する場合の相互作用を示しています。

A diagram showing Azure R B A C on Azure Arc-enabled Kubernetes.

任意の場所から Azure Arc 対応 Kubernetes クラスターに安全にアクセスする

次の図は、任意の場所からの Azure Arc 対応 Kubernetes クラスターへのアクセスと、Azure RBAC を使用してコンポーネントが相互に対話してクラスターを管理する方法を示しています。

Diagram that shows how to access Arc-enabled Kubernetes anywhere.

設計上の考慮事項

Azure ランディング ゾーンの ID 管理とアクセス管理の設計領域を確認して、Azure Arc 対応 Kubernetes が全体的な ID とアクセス モデルに及ぼす影響を評価します。

Kubernetes クラスターのオンボードの場合:

  • Kubernetes クラスターを Azure Arc に個別または大規模にオンボードするために、Microsoft Entra ユーザー (単一クラスターの手動オンボードの場合) またはサービス プリンシパル (複数のクラスターのスクリプト化されたオンボードとヘッドレス オンボードの場合) のどちらを使うか決めます。 実装の詳細については、オートメーション規範の重要な設計領域に関するページを参照してください。
  • オンボード エンティティの ID には、クラスター上のクラスター管理者の ClusterRoleBinding が必要です。 オンプレミスまたはその他のクラウド ID プロバイダーのユーザーを使用するか、クラスター管理者ロールを持つ Kubernetes サービス アカウントを使用するかを決定します。

Kubernetes クラスターの管理の場合:

  • Azure Arc 対応 Kubernetes では、Microsoft Entra 認証と Azure RBAC がオンプレミスまたは他のクラウド Kubernetes 環境に導入されるため、組織のセキュリティとガバナンスの要件に応じて、既存の Kubernetes アクセス管理と Azure RBAC のどちらにするかを決める必要があります。
  • Azure Arc 対応 Kubernetes クラスター接続を使用すると、オンプレミスまたはその他のクラウド ネットワークに対して受信ファイアウォール ポートを開かずに、Kubernetes クラスターを柔軟に管理できるかどうかを判断します。
  • オンプレミスやその他のクラウド環境で多数の Kubernetes クラスターが実行されていて、すべての Kubernetes クラスターのクラスター管理を簡略化する必要がある場合に、Azure RBAC が適切な選択肢かどうかを判断します。

設計の推奨事項

Kubernetes クラスターのオンボードの場合:

  • Microsoft Entra セキュリティ グループを使って、Azure Arc 対応 Kubernetes クラスターをオンボードおよび管理するための Azure Arc 対応 Kubernetes クラスター RBAC ロールを付与します。

Kubernetes クラスターの管理の場合:

  • オンプレミスの ID が Microsoft Entra ID と同期されている場合は、クラスター管理に Azure RBAC を使うときに同じ ID を使います。

  • セキュリティ グループを作成してアクセス管理を簡素化し、Azure Arc 対応 Kubernetes でサポートされている Azure RBAC ロールにマップします。 リソースの編成とガバナンスの要件に応じて、リソース グループまたはサブスクリプション レベルでこれらのセキュリティ グループにアクセス許可を割り当てます。 詳細については、リソースの編成の重要な設計領域に関するページを参照してください。

    Note

    Azure Arc 対応 Kubernetes では、200 を超えるセキュリティ グループ メンバーシップを持つユーザーはサポートされず、代わりに認証エラーが発生します。

  • アクセス管理を管理することは困難であるため、Azure RBAC ロールへの直接ユーザー割り当てを避けます。

  • セキュリティ グループの所有者を割り当てることで、アクセス管理の責任と監査の割り当てを分散化および委任します。

  • Microsoft Entra ID での定期的なアクセス レビューを有効にして、Kubernetes クラスターにアクセスする必要がなくなったユーザーを削除します。

  • クラスター管理に Azure RBAC を使用して、セキュリティ ポリシーとガバナンス ポリシーを満たすためにさまざまな条件を適用する場合は、条件付きアクセス ポリシーを作成します。

ロールベースのアクセス制御

Azure Arc 対応 Kubernetes では、Azure RBAC を使用して Kubernetes クラスターを管理し、Kubernetes クラスターを Azure Arc にオンボードするために次のロールをサポートします。

ロール 説明
Azure Arc 対応 Kubernetes クラスター ユーザー ロール クラスター接続ベースの kubeconfig ファイルをフェッチして、どこからでもクラスターを管理できます。
Azure Arc Kubernetes 管理者 リソース クォータと名前空間の更新または削除を除き、クラスターおよび名前空間のすべてのリソースを管理できます。
Azure Arc Kubernetes クラスター管理者 クラスター内のすべてのリソースを管理できます。
Azure Arc Kubernetes ビューアー クラスターおよび名前空間内のすべてのリソース (シークレットを除く) を表示できます。
Azure Arc Kubernetes ライター (クラスター) ロール、(クラスター) ロール バインドを除く、クラスターおよび名前空間内のすべてを更新できます。
Kubernetes クラスター - Azure Arc のオンボード ロール定義を使用すると、接続されたクラスター リソースを作成するため、あらゆるユーザーまたはサービスを認可できます

次のステップ

ハイブリッドとマルチクラウドでのクラウドの取り組みの詳細については、次の記事を参照してください。