Azure Spring Apps のアプリケーションのシステム割り当てマネージド ID を有効にする

Note

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

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

この記事では、Azure portal と CLI を使用して、Azure Spring Apps でアプリケーションのシステム割り当てマネージド ID を有効または無効にする方法を示します。

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

前提条件

Azure リソースのマネージド ID に慣れていない場合は、「Azure リソースのマネージド ID とは」を参照してください

  • Azure Spring Apps Enterprise プランのインスタンスが既にプロビジョニングされている。 詳細については、「クイック スタート: Enterprise プランを使用してアプリをビルドし Azure Spring Apps にデプロイする」をご覧ください。
  • Azure CLI バージョン 2.45.0 以上。
  • Azure CLI 用 Azure Spring Apps 拡張機能では、バージョン 1.0.0 以降のアプリ ユーザー割り当てマネージド ID がサポートされています。 次のコマンドを使用して、以前のバージョンを削除し、最新の拡張機能をインストールします。
    az extension remove --name spring
    az extension add --name spring
    
  • Azure Spring Apps インスタンスが既にプロビジョニングされていること。 詳細については、「クイックスタート: 初めてのアプリケーションを Azure Spring Apps にデプロイする」を参照してください。
  • Azure CLI バージョン 2.45.0 以上。
  • Azure CLI 用 Azure Spring Apps 拡張機能では、バージョン 1.0.0 以降のアプリ ユーザー割り当てマネージド ID がサポートされています。 次のコマンドを使用して、以前のバージョンを削除し、最新の拡張機能をインストールします。
    az extension remove --name spring
    az extension add --name spring
    

システム割り当て ID を追加する

システム割り当て ID を持つアプリを作成するには、アプリケーションにその他のプロパティを設定する必要があります。

Azure portal でマネージド ID を設定するには、先にアプリを作成し、その後でこの機能を有効にします。

  1. ポータルを使って通常の方法でアプリを作成します。 ポータルでアプリに移動します。
  2. 左側のナビゲーション ペインで、[設定] グループまで下へスクロールします。
  3. [ID] を選択します。
  4. [システム割り当て済み] タブで、 [状態][オン] に切り替えます。 [保存] を選択します。

Screenshot of Azure portal showing the Identity screen for an application.

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

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

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

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

アプリからシステム割り当て ID を無効にする

システム割り当て ID を削除すると、それは Microsoft Entra ID からも削除されます。 アプリ リソースを削除すると、Microsoft Entra ID からシステム割り当て ID が自動的に削除されます。

不要になったアプリからシステム割り当てマネージド ID を削除するには、次の手順に従います:

  1. Azure Spring Apps インスタンスが含まれている Azure サブスクリプションに関連付けられているアカウントを使用して、Azure portal にサインインします。
  2. 目的のアプリケーションに移動し、[ID] を選択します。
  3. [システム割り当て済み]/[状態][オフ] を選択し、[保存] を選択します。

Screenshot of Azure portal showing the Identity screen for an application, with the Status switch set to Off.

オブジェクト ID (プリンシパル ID) からクライアント ID を取得する

オブジェクト/プリンシパル ID 値からクライアント ID を取得するには、次のコマンドを使用します:

az ad sp show --id <object-ID> --query appId

次のステップ