次の方法で共有


Azure Spring Apps でアプリケーションのユーザー割り当てマネージド ID を管理する

Note

BasicStandardEnterprise プランは、2025 年 3 月中旬以降非推奨になり、廃止期間は 3 年間です。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の廃止のお知らせ」を参照してください。

Standard 従量課金と専用プランは、2024 年 9 月 30 日以降に非推奨になり、6 か月後に完全にシャットダウンされます。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の Standard 従量課金および専用プランを Azure Container Apps に移行する」を参照してください。

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

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

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

前提条件

  • 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
    
  • 少なくとも 1 つのすでにプロビジョニングされたユーザー割り当てマネージド ID。 詳細については、「ユーザー割り当てマネージド ID の管理」を参照してください。

アプリケーションの作成時に、ユーザー割り当てマネージド ID を割り当てます

次のコマンドを使用して、アプリケーションを作成し、同時にユーザー割り当てマネージド ID を割り当てます。

az spring app create \
    --resource-group <resource-group-name> \
    --name <app-name> \
    --service <service-instance-name> \
    --user-assigned <space-separated user identity resource IDs to assign>

ユーザー割り当てマネージド ID を既存のアプリケーションに割り当てます

ユーザー割り当てマネージド ID を割り当てるには、アプリケーションでその他のプロパティを設定する必要があります。

ユーザー割り当てマネージド ID を Azure portal 内の既存のアプリケーションに割り当てるには、次の手順を実行します。

  1. 通常どおりに、Azure portal 内のアプリケーションに移動します。
  2. 左側のナビゲーション ペインで、[設定] グループまで下へスクロールします。
  3. [ID] を選択します。
  4. [ユーザー割り当て済み] タブ内で、[追加] を選択します。
  5. 右側のパネルから 1 つ以上のユーザー割り当てマネージド ID を選択し、このパネルから [追加] を選択します。

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

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

アプリケーションからのアクセスを有効にするには、ターゲット リソースを構成する必要がある場合があります。 詳細については、「マネージド ID アクセスを Azure リソースまたは別のリソースに割り当てる」を参照してください。 たとえば、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 を使用してアクセス トークンを取得する方法」を参照してください。

既存のアプリからユーザー割り当てマネージド ID を削除する

ユーザー割り当てマネージド ID を削除すると、ID とアプリケーションの間の割り当てが削除され、ID 自体は削除されません。

ユーザー割り当てマネージド IDを、不要になったアプリケーションから削除するには、次の手順に従います。

  1. Azure Spring Apps インスタンスが含まれている Azure サブスクリプションに関連付けられているアカウントを使用して、Azure portal にサインインします。
  2. 目的のアプリケーションに移動し、[ID] を選択します。
  3. [ユーザー割り当て済み] でターゲット ID を選択し、[削除] を選択します。

制限事項

ユーザー割り当てマネージド ID の制限については、「Azure Spring Apps のクォータとサービス プラン」を参照してください。

次のステップ