ホストされたコントロール プレーンを使用したAzure Red Hat OpenShiftに必要なマネージド ID とロールの割り当て (プレビュー)

ホストされたコントロール プレーンを使用するAzure Red Hat OpenShiftは、ユーザー割り当てマネージド ID を使用して、OpenShift クラスター オペレーターに、クラスター操作を実行するために必要なAzureアクセス許可を付与します。 クラスターを作成する前に、これらのマネージド ID を作成し、適切なAzureロールを割り当てる必要があります。

この記事では、マネージド ID がホストされたコントロール プレーンを使用してAzure Red Hat OpenShiftでどのように機能するか、必要なすべての ID を一覧表示し、それぞれが必要とするロールの割り当てについて説明します。

ホストされたコントロール プレーンを使用したAzure Red Hat OpenShiftでのマネージド ID のしくみ

ホストされたコントロール プレーンを使用するAzure Red Hat OpenShiftでは、インフラストラクチャを管理する OpenShift クラスターオペレーターは、それぞれ独自のAzureアクセス許可を必要とする個別のコンポーネントとして実行されます。 各オペレーターは、1 つの資格情報を共有するのではなく、必要なアクセス許可のみを持つ独自のユーザー割り当てマネージド ID を取得します。

マネージド ID は、次の 3 つのカテゴリに分類されます。

  • コントロール プレーン オペレーター ID - Red Hat の Azure アカウントのホストされたコントロール プレーンで実行される OpenShift オペレーターによって使用されます。 これらのオペレーターは、ノード のプロビジョニング、ネットワーク構成、イングレスなどのクラスター全体のインフラストラクチャを管理します。
  • データ プレーンオペレーター ID - Azure アカウントのワーカー ノードで実行される OpenShift オペレーターによって使用されます。 3 つの演算子 (Disk Storage、ファイル ストレージ、およびイメージ レジストリ) には、コントロール プレーン ID に加えて、個別のデータ プレーン ID が必要です。
  • サービス マネージド ID - Azure Red Hat OpenShiftホストされたコントロール プレーン サービス自体によって使用される 1 つの ID。 この ID により、クラスター オペレーターのマネージド ID が有効になり、データ プレーンオペレーター ID のフェデレーション資格情報が作成されます。

OpenShift クラスターオペレーターの詳細については、OpenShift Container Platform のドキュメントの 「クラスター演算子」 を参照してください。

必須のマネージド ID

ホストされたコントロール プレーン クラスターを使用するAzure Red Hat OpenShiftには、13 個のユーザー割り当てマネージド ID が必要です。コントロール プレーン演算子には 9 つ、データ プレーン演算子には 3 つ、サービス自体には 1 つ必要です。
コントロール プレーンのオペレーター ID には、KMS オペレーターの ID が含まれます。KMS オペレーターは、Azure Key Vaultのカスタマー マネージド etcd 暗号化キーにアクセスします。

クラスターは、同じサブスクリプションと場所にこれらのマネージド ID を持っている必要があります。
ID とそのロールの割り当てを作成するには、リソース グループに対する共同作成者とユーザー アクセス管理者のアクセス許可、または所有者アクセス許可が必要です。

コントロールプレーン オペレーターの識別情報

次のコントロール プレーン演算子ごとに 1 つのユーザー割り当てマネージド ID が必要です。

Operator 説明
OpenShift クラスター API プロバイダー クラスターのノード、ネットワーク、ディスクを管理します。
OpenShift コントロール プレーン演算子 OpenShift クラスターに必要なリソースを読み取ります。
OpenShift Cloud Controller Manager ロード バランサーとノード ライフサイクルのクラウド プロバイダー統合を管理します。
OpenShift クラスターイングレス オペレーター ロード バランサーと DNS を使用してクラスター サービスへの外部アクセスを管理します。
OpenShift ディスクストレージオペレーター クラスター Azureディスク永続ボリュームを管理します。
OpenShift ファイルストレージ オペレーター クラスター Azure Files永続ボリュームを管理します。
OpenShift Image Registry オペレーター クラスターの組み込みコンテナー イメージ レジストリを管理します。
OpenShift ネットワーク オペレーター クラスターのクラウド ネットワーク構成を管理します。

KMS オペレーターの ID も必要です。

Operator 説明
KMS Azure Key Vaultでカスタマー マネージド暗号化キーにアクセスします。

データプレーン オペレーターの ID

3 つの演算子には、コントロール プレーン ID に加えて、個別のデータ プレーン ID が必要です。 次のデータ プレーン演算子ごとに 1 つのユーザー割り当てマネージド ID が必要です。

Operator Purpose
OpenShift ディスクストレージオペレーター ワーカー ノードから Azure Disk の操作を管理します。
OpenShift ファイルストレージ オペレーター ワーカー ノードからのAzure Files操作を管理します。
OpenShift Image Registry オペレーター ワーカー ノードからのイメージ レジストリ操作を管理します。

サービスマネージド ID

ホストされたコントロール プレーン サービスを使用するAzure Red Hat OpenShiftには、ユーザー割り当てマネージド ID が 1 つ必要です。 この ID は、クラスターに対して管理操作を実行し、クラスター オペレーターのマネージド ID を有効にして、データ プレーンオペレーター ID のフェデレーション資格情報を作成します。

ロールの割り当て

各マネージド ID に、適切なスコープで 1 つ以上のAzure ロールを割り当てます。 クラスターを作成する前に、すべてのロールの割り当てを作成します。 次の表で参照されているスコープ (サブネット、VNet、ネットワーク セキュリティ グループ) は、 クラスター ネットワークの計画時に計画するのと同じネットワーク リソースです。

コントロール プレーン オペレーター ロールの割り当て

次の表に、各コントロール プレーンのオペレーター ID に必要なロールの割り当てと、ロールが割り当てられるスコープを示します。

マネージド ID Role Scope
OpenShift クラスター API プロバイダー Azure Red Hat OpenShift ホスト型コントロール プレーン用 Cluster API プロバイダー VNet とサブネット
OpenShift コントロール プレーン演算子 Azure Red Hat OpenShift ホステッド コントロール プレーン コントロール プレーン オペレーター サブネットとネットワーク セキュリティ グループ
OpenShift Cloud Controller Manager Azure Red Hat OpenShift クラウド コントローラー マネージャー VNet、サブネット、およびネットワーク セキュリティ グループ
OpenShift クラスターイングレス オペレーター Azure Red Hat OpenShift クラスターイングレス オペレーター VNet とサブネット
OpenShift ディスクストレージオペレーター なし 対象外
OpenShift ファイルストレージ オペレーター Azure Red Hat OpenShift ファイル ストレージ オペレーター VNet、サブネット、およびネットワーク セキュリティ グループ
OpenShift Image Registry オペレーター Azure Red Hat OpenShift イメージ レジストリ オペレーター VNet
OpenShift ネットワーク オペレーター Azure Red Hat OpenShift ネットワーク オペレーター VNet とサブネット

KMS ID には、次のロールの割り当ても必要です。

マネージド ID Role Scope
KMS Key Vault 暗号ユーザー Azure Key Vault

データ プレーン オペレーター ロールの割り当て

次の表に、データ プレーンオペレーター ID に必要なロールの割り当てを示します。

マネージド ID Role Scope
OpenShift ディスクストレージオペレーター なし 対象外
OpenShift ファイルストレージ オペレーター Azure Red Hat OpenShift ファイル ストレージ オペレーター VNet、サブネット、およびネットワーク セキュリティ グループ
OpenShift Image Registry オペレーター Azure Red Hat OpenShift イメージ レジストリ オペレーター VNet

サービスマネージド ID ロールの割り当て

サービスマネージド ID には、異なるスコープ間で複数のロールの割り当てが必要です。

サービス ロールの割り当て

次のスコープで、サービスのマネージド ID に Azure Red Hat OpenShift with hosted control planes サービス ロールを割り当てます。

  • VNet
  • サブネット
  • ネットワーク セキュリティ グループ

閲覧者ロールの割り当て

各コントロール プレーン Operator マネージド ID 上のサービス マネージド ID に Reader ロールを割り当てます。 このロールは、クラスターのプロビジョニング中に各オペレーター ID のプロパティを読み取る機能をサービスに付与します。

フェデレーション資格情報ロールの割り当て

各データ プレーン Operator マネージド ID 上のサービス マネージド ID に Azure Red Hat OpenShift Federated Credential ロールを割り当てます。 このロールは、データ プレーンオペレーターがワークロード ID を使用して認証できるようにするフェデレーション資格情報を作成する機能をサービスに付与します。