マネージド ID とは、資格情報が Azure によって管理されている Microsoft Entra に登録されている ID です。 マネージド ID を使用すると、Microsoft Entra ID 内でサービス プリンシパルを登録する必要はありません。 または、証明書などの資格情報を保持します。
マネージド ID は、必要に応じ、Azure HDInsight で Microsoft Entra Domain Services にアクセスしたり、Azure Data Lake Storage Gen2 内のファイルにアクセスしたりするために使用されます。
マネージド ID には、ユーザー割り当て ID とシステム割り当て ID の 2 種類があります。 Azure HDInsight では、ユーザー割り当てマネージド ID のみがサポートされます。 HDInsight では、システム割り当てマネージド ID はサポートされていません。 ユーザー割り当てマネージド ID はスタンドアロンの Azure リソースとして作成され、1 つ以上の Azure サービス インスタンスに割り当てることができます。 これに対し、システム割り当てマネージド ID は Microsoft Entra ID で作成され、特定の Azure サービス インスタンスで直接自動的に有効になります。 そのシステム割り当てマネージド ID の有効期間は、有効になっているサービス インスタンスの有効期間に関連付けられます。
HDInsight マネージド ID の実装
Azure HDInsight では、マネージド ID は内部コンポーネントの HDInsight サービスでのみ使用できます。 現在、外部サービスにアクセスするために HDInsight クラスター ノードにインストールされているマネージド ID を使用してアクセス トークンを生成する方法はサポートされていません。 コンピューティング VM などの一部の Azure サービスでは、アクセス トークンの取得に使用できるエンドポイントを使用してマネージド ID が実装されます。 現在、このエンドポイントは HDInsight ノードでは使用できません。
分析ジョブ (SCALA ジョブなど) にシークレットやパスワードを配置しないようにアプリケーションをブートストラップする必要がある場合は、スクリプト アクションを使用して独自の証明書をクラスター ノードに配布し、その証明書を使用してアクセス トークンを取得できます (たとえば、Azure KeyVault にアクセスするため)。
マネージド ID の作成
マネージド ID は、次のいずれかの方法で作成できます。
マネージド ID を構成するための残りの手順は、使用されるシナリオによって異なります。
Azure HDInsight のマネージド ID シナリオ
マネージド ID は、複数のシナリオで Azure HDInsight で使用されます。 詳細なセットアップと構成手順については、関連ドキュメントを参照してください。
HDInsight は、これらのシナリオで使用するマネージド ID の証明書を自動的に更新します。 ただし、実行時間の長いクラスターに複数の異なるマネージド ID を使用する場合、証明書の更新がすべてのマネージド ID で想定どおりに機能しない場合があります。 この制限により、上記のすべてのシナリオで同じマネージド ID を使用することをお勧めします。
複数の異なるマネージド ID を持つ実行時間の長いクラスターを既に作成しており、次のいずれかの問題が発生している場合:
- ESP クラスターでは、クラスター サービスが失敗またはスケールアップを開始し、他の操作が認証エラーで失敗し始めます。
- ESP クラスターでは、Microsoft Entra Domain Services LDAPS 証明書を変更しても LDAPS 証明書は自動的に更新されないため、LDAP 同期とスケールアップが失敗します。
- ADLS Gen2 への MSI アクセスが失敗します。
- CMK シナリオでは、暗号化キーをローテーションできません。
次に、上記のシナリオに必要なロールとアクセス許可を、クラスターで使用されるすべてのマネージド ID に割り当てる必要があります。 たとえば、ADLS Gen2 クラスターと ESP クラスターに異なるマネージド ID を使用した場合、これらの問題が発生しないように、両方に "ストレージ BLOB データ所有者" ロールと "HDInsight Domain Services 共同作成者" ロールが割り当てられている必要があります。
よくあるご質問
クラスターの作成後にマネージド ID を削除するとどうなりますか?
マネージド ID が必要な場合、クラスターで問題が発生します。 現在、クラスターの作成後にマネージド ID を更新または変更する方法はありません。 そのため、クラスターの実行時にマネージド ID が削除されないようにすることをお勧めします。 または、クラスターを再作成し、新しいマネージド ID を割り当てることができます。