Azure Spring Apps のアプリケーションにマネージド ID を使用する

Note

Azure Spring Apps は、Azure Spring Cloud サービスの新しい名前です。 サービスの名前は新しくなりましたが、スクリーンショット、ビデオ、図などの資産の更新に取り組んでいる間、場所によってはしばらく古い名前が表示されます。

この記事の適用対象: ✔️ Basic または Standard ✔️ Enterprise

この記事では、Azure Spring Apps のアプリケーションにシステム割り当てとユーザー割り当てのマネージド ID を使用する方法について説明します。

Azure リソースのマネージド ID では、Microsoft Entra ID 内のマネージド ID が、自動的に Azure リソース (Azure Spring Apps 内のお使いのアプリケーションなど) に提供されます。 この ID を使用すると、コード内に資格情報を記述することなく、Microsoft Entra の認証をサポートする任意のサービスに対して認証を行うことができます。

機能の状態

システム割り当て ユーザー割り当て
GA GA

アプリケーションのマネージド ID を管理する

システム割り当てマネージド ID については、システム割り当てマネージド ID を有効または無効にする方法に関する記事を参照してください。

ユーザー割り当てマネージド ID については、ユーザー割り当てマネージド ID の割り当ておよび削除方法に関する記事を参照してください。

Azure リソースのトークンを取得する

アプリケーションは、そのマネージド ID を使用して、Microsoft Entra ID で保護されているその他のリソース (Azure Key Vault など) にアクセスするためのトークンを取得することができます。 これらのトークンは、アプリケーションの特定のユーザーではなく、リソースにアクセスするアプリケーションを表します。

アプリケーションからのアクセスを許可するようにターゲット リソースを構成できます。 詳細については、[Azure portal を使用してリソースにマネージド ID アクセスを割り当てる] を参照してください。 たとえば、Key Vault にアクセスするためのトークンを要求する場合は、お使いのアプリケーションの ID を含むアクセス ポリシーを追加していることを確認してください。 追加しないと、トークンを含めた場合でも、Key Vault の呼び出しは拒否されます。 どのリソースで Microsoft Entra トークンがサポートされるかについて詳しくは、「Microsoft Entra 認証をサポートする Azure サービス」をご参照ください。

Azure Spring Apps では、トークンの取得に Azure Virtual Machine と同じエンドポイントが共有されます。 Java SDK または Spring Boot Starter を使用してトークンを取得することをお勧めします。 さまざまなコードとスクリプトの例、およびトークンの有効期限や HTTP エラーの処理などの重要なトピックに関するガイダンスについては、「Azure VM で Azure リソースのマネージド ID を使用してアクセス トークンを取得する方法」を参照してください。

アプリケーション コードで Azure サービスを接続する例

次の表に、例を含む記事へのリンクを示します。

Azure サービス チュートリアル
Key Vault チュートリアル: マネージド ID を使用して Key Vault を Azure Spring Apps アプリに接続する
Azure Functions チュートリアル: マネージド ID を使用して Azure Spring Apps アプリから Azure Functions を呼び出す
Azure SQL マネージド ID を使用して Azure SQL Database を Azure Spring Apps アプリに接続する

マネージド ID を使用しているときのベスト プラクティス

有効なユース ケースがない限り、システム割り当てマネージド ID とユーザー割り当てマネージド ID を個別に使用することを強くお勧めします。 両方の種類のマネージド ID を一緒に使用すると、アプリケーションがシステム割り当てマネージド ID を使用していて、その ID のクライアント ID を指定せずにアプリケーションがトークンを取得した場合、エラーが発生する可能性があります。 このシナリオは、1 つ以上のユーザー割り当てマネージド ID がそのアプリケーションに割り当てられるまで正常に動作しますが、アプリケーションが正しいトークンを取得できない可能性があります。

制限事項

アプリケーションあたりのユーザー割り当てマネージド ID の最大数

アプリケーションごとのユーザー割り当てマネージド ID の最大数については、Azure Spring Apps のクォータとサービス プランに関する記事を参照してください。


概念マッピング

次の表に、マネージド ID のスコープおよび Microsoft Entra のスコープ内の、概念間のマッピングを示します。

マネージド ID のスコープ Microsoft Entra スコープ
プリンシパル ID Object ID
Client ID アプリケーション ID

次のステップ