Spring Cloud Azure 资源管理器
本文适用于:✅ 版本 4.19.0 ✅ 版本 5.20.1
Azure 资源管理器(ARM)是 Azure 的部署和管理服务。 它提供一个管理层,可用于在 Azure 帐户中创建、更新和删除资源。 Spring Cloud Azure 资源管理器可以帮助预配资源或检索资源元数据。
依赖项设置
<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-enabled | 是否启用托管标识。 |
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 资源管理器可以与特定的 Spring Cloud Azure 初学者合作,检索连接信息(如连接字符串)以连接到 Azure 服务。 它还可与 spring-cloud-azure-starter
和第三方库协同工作,以检索用户名/密码等元数据,以及完成身份验证。 有关详细信息,请参阅 Spring Cloud Azure Kafka 支持 和 Spring Cloud Azure Redis 支持。
例如,若要检索 Azure 服务的连接字符串,开发人员可以使用服务主体作为凭据进行身份验证和检索连接字符串。 下面列出了配置。 应至少为所提供的服务主体分配关联命名空间 Contributor
的角色。 请参阅 使用 Microsoft Entra ID 授权访问,以确保主体已获得访问 Azure 资源的足够权限。
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 - 租户中不存在来自标识提供者的用户帐户。 有关转换单租户应用的信息,请参阅 在 Microsoft Entra ID上将单租户应用转换为多租户。
样品
有关详细信息,请参阅 GitHub 上的 azure-spring-boot-samples 存储库