Partilhar via


Usar uma identidade gerenciada para conectar o Banco de Dados SQL do Azure a um aplicativo implantado no Azure Spring Apps

Nota

Os planos Basic, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de aposentadoria de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte o anúncio de aposentadoria do Azure Spring Apps.

O plano de consumo padrão e dedicado será preterido a partir de 30 de setembro de 2024, com um desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte Migrar consumo padrão e plano dedicado do Azure Spring Apps para Aplicativos de Contêiner do Azure.

Este artigo aplica-se a:✅ Java ✅ C#

Este artigo aplica-se a:✅ Basic/Standard ✅ Enterprise

Este artigo mostra como criar uma identidade gerenciada para um aplicativo implantado no Azure Spring Apps e usá-lo para acessar o Banco de Dados SQL do Azure.

O Banco de Dados SQL do Azure é o serviço de banco de dados relacional, escalável e inteligente criado para a nuvem. Está sempre atualizado, com recursos automatizados e alimentados por IA que otimizam o desempenho e a durabilidade. A computação sem servidor e as opções de armazenamento do Hyperscale dimensionam os recursos automaticamente a pedido, pelo que se pode concentrar em criar aplicações novas sem se preocupar com a gestão do tamanho do armazenamento ou com os recursos.

Pré-requisitos

Conectar-se ao Banco de Dados SQL do Azure com uma identidade gerenciada

Você pode conectar seu aplicativo a um Banco de Dados SQL do Azure com uma identidade gerenciada seguindo etapas manuais ou usando o Service Connector.

Conceder permissão à identidade gerenciada

Conecte-se ao seu servidor SQL e execute a seguinte consulta 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

O valor do espaço reservado <managed-identity-name> segue a regra <service-instance-name>/apps/<app-name>, por exemplo: myspringcloud/apps/sqldemo. Você também pode usar o seguinte comando para consultar o nome da identidade gerenciada com a CLI do Azure:

az ad sp show --id <identity-object-ID> --query displayName

Configure seu aplicativo Java para usar uma identidade gerenciada

Abra o arquivo src/main/resources/application.properties e adicione Authentication=ActiveDirectoryMSI; no final da spring.datasource.url linha, conforme mostrado no exemplo a seguir. Certifique-se de usar o valor correto para a variável $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;

Criar e implantar o aplicativo no Azure Spring Apps

Recrie o aplicativo e implante-o no Azure Spring Apps provisionado no segundo ponto em Pré-requisitos. Agora você tem um aplicativo Spring Boot autenticado por uma identidade gerenciada que usa JPA para armazenar e recuperar dados de um Banco de Dados SQL do Azure no Azure Spring Apps.

Próximos passos