Использование управляемого удостоверения для подключения База данных SQL Azure к приложению, развернутом в Azure Spring Apps
Примечание.
Azure Spring Apps — это новое название службы Azure Spring Cloud. Старое название будет еще некоторое время встречаться в наших материалах, пока мы не обновим ресурсы, такие как снимки экрана, видео и схемы.
Эта статья применима к: ✔️ Java ✔️ C#
Эта статья относится к: ✔️ Basic/Standard ✔️ Enterprise
В этой статье показано, как создать управляемое удостоверение для приложения, развернутого в Azure Spring Apps, и использовать его для доступа к База данных SQL Azure.
База данных SQL Azure — это интеллектуальная масштабируемая служба реляционной базы данных, созданная для облака. Она регулярно обновляется и включает основанные на ИИ и автоматизированные функции, которые оптимизируют производительность и устойчивость. При использовании бессерверных вычислений и хранилища уровня "Гипермасштабирование" ресурсы масштабируются в соответствии с текущими потребностями автоматически. Это позволяет вам сконцентрироваться на создании новых приложений и не беспокоиться о размере хранилища или управлении ресурсами.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Azure CLI версии 2.45.0 или более поздней.
- Следуйте инструкциям по JPA Spring Data, чтобы подготовить База данных SQL Azure и получить его работу с приложением Java локально.
- Следуйте инструкциям по управляемому удостоверению, назначаемого системой Azure Spring Apps, чтобы подготовить приложение в Azure Spring Apps с включенным управляемым удостоверением.
Подключение База данных SQL Azure с управляемым удостоверением
Вы можете подключить приложение к База данных SQL Azure с управляемым удостоверением, выполнив инструкции вручную или выполнив Подключение службы.
Предоставление разрешения управляемому удостоверению
Подключитесь к серверу 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 можно также использовать следующую команду:
az ad sp show --id <identity-object-ID> --query displayName
Настройка приложения Java для использования управляемого удостоверения
Откройте файл src/main/resources/application.properties, а затем добавьте Authentication=ActiveDirectoryMSI;
в конец spring.datasource.url
строки, как показано в следующем примере. Не забудьте использовать правильное значение для переменной $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, подготовленной во второй точке маркера в разделе предварительных требований. Теперь у вас есть приложение Spring Boot, прошедшее проверку подлинности с помощью управляемого удостоверения, использующего JPA для хранения и получения данных из База данных SQL Azure в Azure Spring Apps.
Следующие шаги
- Как получить доступ к BLOB-объекту службы хранилища с помощью управляемого удостоверения в Azure Spring Apps
- Как включить управляемое удостоверение, назначенное системой, для приложений в Azure Spring Apps
- Что такое управляемые удостоверения для ресурсов Azure?
- Проверка подлинности Azure Spring Apps с использованием Key Vault в GitHub Actions