다음을 통해 공유


Spring Cloud Azure 리소스 관리자

ARM(Azure Resource Manager)은 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-enabled를 관리 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 지원Spring Cloud Azure Redis 지원참조하세요.

예를 들어 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 리포지토리를 참조하세요.