관리 ID를 사용하여 Azure Spring Apps에 배포된 앱에 Azure SQL Database 연결
참고 항목
기본, 표준 및 엔터프라이즈 계획은 2025년 3월 중순부터 사용되지 않으며 3년의 은퇴 기간이 있습니다. Azure Container Apps로 전환하는 것이 좋습니다. 자세한 내용은 Azure Spring Apps 사용 중지 공지 사항을 참조하세요.
표준 소비 및 전용 계획은 2024년 9월 30일부터 사용되지 않으며 6개월 후에 완전히 종료됩니다. Azure Container Apps로 전환하는 것이 좋습니다. 자세한 내용은 Azure Spring Apps 표준 사용량 및 전용 계획을 Azure Container Apps로 마이그레이션을 참조 하세요.
이 문서는 Java ✅ C에✅ 적용됩니다.#
이 문서는 기본/표준 ✅ 엔터프라이즈에✅ 적용됩니다.
이 문서에서는 Azure Spring Apps에 배포된 앱에 대한 관리 ID를 만들고 이를 사용하여 Azure SQL Database에 액세스하는 방법을 보여 줍니다.
Azure SQL Database는 클라우드용으로 빌드된 지능적이고 스케일링 가능한 관계형 데이터베이스 서비스입니다. 성능과 내구성을 최적화하는 AI 기반 기능과 자동화된 기능을 사용하여 항상 최신 상태를 유지합니다. 서버리스 컴퓨팅 및 하이퍼스케일 스토리지 옵션은 요청에 따라 자동으로 리소스를 스케일링하므로, 스토리지 크기나 리소스 관리에 대해 걱정하지 않고 새 애플리케이션을 빌드하는 데 집중할 수 있습니다.
필수 조건
- 활성 구독이 있는 Azure 계정. 체험 계정을 만듭니다.
- Azure CLI: 버전 2.45.0 이상
- Spring Data JPA자습서에 따라 Azure SQL Database를 프로비전하고 Java 앱에서 로컬로 작동하도록 합니다.
- Azure Spring Apps 시스템 할당 관리 ID 자습서에 따라 관리 ID를 사용하도록 설정된 Azure Spring Apps 앱을 프로비전합니다.
관리 ID를 사용하여 Azure SQL Database에 연결
수동 단계를 수행하거나 서비스 커넥터를 사용하여 관리 ID를 통해 애플리케이션을 Azure SQL Database에 연결할 수 있습니다.
관리 ID에 사용 권한 부여
SQL 서버에 연결하고 다음 SQL 쿼리를 실행:
CREATE USER [<managed-identity-name>] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [<managed-identity-name>];
ALTER ROLE db_datawriter ADD MEMBER [<managed-identity-name>];
ALTER ROLE db_ddladmin ADD MEMBER [<managed-identity-name>];
GO
<managed-identity-name>
자리 표시자의 값은 규칙 <service-instance-name>/apps/<app-name>
(예: myspringcloud/apps/sqldemo
)을 따릅니다. 다음 명령을 사용하여 Azure CLI를 통해 관리 ID 이름을 쿼리할 수도 있습니다.
az ad sp show --id <identity-object-ID> --query displayName
관리 ID를 사용하도록 Java 앱 구성
다음 예제와 같이 src/main/resources/application.properties 파일을 연 다음, spring.datasource.url
줄 끝에 Authentication=ActiveDirectoryMSI;
를 추가합니다. $AZ_DATABASE_NAME 변수에 대해 올바른 값을 사용해야 합니다.
spring.datasource.url=jdbc:sqlserver://$AZ_DATABASE_NAME.database.windows.net:1433;database=demo;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;Authentication=ActiveDirectoryMSI;
Azure Spring Apps에 앱 빌드 및 배포
앱을 다시 빌드하고 이를 필수 구성 요소의 두 번째 글머리 기호 지점에서 프로비전된 Azure Spring Apps에 배포합니다. 이제 JPA를 사용하여 Azure Spring Apps의 Azure SQL Database에서 데이터를 저장하고 검색하며 관리 ID로 인증된 Spring Boot 애플리케이션이 있습니다.