Spring Cloud Azure Resource Manager
この記事の対象:✅ バージョン 4.19.0 ✅ バージョン 5.21.0
Azure Resource Manager (ARM) は、Azure のデプロイと管理サービスです。 Azure アカウント内のリソースを作成、更新、削除できる管理レイヤーが用意されています。 Spring Cloud Azure Resource Manager は、リソースのプロビジョニングやリソース メタデータの取得に役立ちます。
依存関係のセットアップ
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-resourcemanager</artifactId>
</dependency>
構成
手記
セキュリティ プリンシパルを使用して、Azure リソースにアクセスするための Microsoft Entra ID による認証と承認を行う場合は、「Microsoft Entra ID を使用してアクセスを承認する」 を参照して、セキュリティ プリンシパルに Azure リソースにアクセスするための十分なアクセス許可が付与されていることを確認してください。
spring-cloud-azure-resourcemanager の構成可能なプロパティ:
財産 | 形容 |
---|---|
spring.cloud.azure.resource-manager.enabled | Resource Manager が有効になっているかどうか。 既定値は true です。 |
spring.cloud.azure.credential.client-id を |
Azure でサービス プリンシパル認証を実行するときに使用するクライアント ID。 |
spring.cloud.azure.credential.client-secret を |
Azure でサービス プリンシパル認証を実行するときに使用するクライアント シークレット。 |
spring.cloud.azure.credential.client-certificate-path を |
Azure でサービス プリンシパル認証を実行するときに使用する PEM 証明書ファイルのパス。 |
spring.cloud.azure.credential.client-certificate-password を |
証明書ファイルのパスワード。 |
spring.cloud.azure.credential.username を |
Azure でユーザー名/パスワード認証を実行するときに使用するユーザー名。 |
spring.cloud.azure.credential.password を |
ユーザー名/パスワード認証を実行するときに使用するパスワード。 |
spring.cloud.azure.credential.managed-identity 対応 |
マネージド ID を有効にするかどうか。 |
spring.cloud.azure.profile.cloud-type を |
接続する Azure クラウドの名前。 |
spring.cloud.azure.profile.environment.active-directory-endpoint を |
認証用に接続する Microsoft Entra エンドポイント。 |
spring.cloud.azure.profile.subscription-id を |
Azure リソースに接続するときに使用するサブスクリプション ID。 |
spring.cloud.azure.profile.tenant-id を |
Azure リソースのテナント ID。
tenant-id に使用できる値は、common 、organizations 、consumers 、またはテナント ID です。 |
spring.cloud.azure.azure-service.namespace を |
リソースをプロビジョニングする Azure サービスの名前空間。 |
spring.cloud.azure.azure-service.resource.resource-group を |
Azure サービス リソースを保持しているリソース グループ。 |
基本的な使用方法
Spring Cloud Azure Resource Manager は、特定の Spring Cloud Azure スターターと連携して、接続文字列などの接続情報を取得して Azure サービスに接続できます。 また、spring-cloud-azure-starter
やサードパーティのライブラリと連携して、ユーザー名やパスワードなどのメタデータを取得し、認証を完了することもできます。 詳細については、Spring Cloud Azure Kafka サポート と
たとえば、Azure サービスの接続文字列を取得するために、開発者は資格情報としてサービス プリンシパルを使用して、接続文字列を認証および取得できます。 構成を次に示します。 指定されたサービス プリンシパルには、少なくとも関連付けられている名前空間の Contributor
のロールを割り当てる必要があります。 プリンシパルに Azure リソースにアクセスするための十分なアクセス許可が付与されていることを確認するには、「Microsoft Entra ID を使用してアクセスを承認する」を参照してください。
spring:
cloud:
azure:
credential:
client-id: ${AZURE_CLIENT_ID}
client-secret: ${AZURE_CLIENT_SECRET}
profile:
tenant-id: <tenant>
subscription-id: ${AZURE_SUBSCRIPTION_ID}
<azure-service>:
namespace: ${SERVICEBUS_NAMESPACE}
resource:
resource-group: ${RESOURCE_GROUP}
手記
tenant-id
に使用できる値は、common
、organizations
、consumers
、またはテナント ID です。 これらの値の詳細については、「エラー AADSTS50020 - ID プロバイダーのユーザー アカウントがテナントに存在しない」の「間違ったエンドポイント (個人用アカウントと組織アカウント) セクションを参照してください。 シングルテナント アプリの変換の詳細については、「Microsoft Entra IDでのシングルテナント アプリをマルチテナントに変換する」を参照してください。
サンプル
詳細については、GitHub の azure-spring-boot-samples リポジトリ