Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Use estes exemplos de segurança do Microsoft SQL para comparar como o Data API Builder (DAB) se autentica ao SQL, valida os utilizadores e impõe o acesso por utilizador. Cada amostra é autónoma, mas a série passa das credenciais básicas para o acesso SQL do Azure delegado pelo utilizador.
Escolha um início rápido
Começa pela pergunta que corresponde ao teu objetivo.
| Se você quiser... | Utilize este guia de início rápido |
|---|---|
| Aprenda o padrão de ligação mais simples de DAB a SQL | Nome de utilizador/palavra-passe |
| Remover palavras-passe SQL da configuração do Azure | Identidade gerenciada |
| Adicione a validação de tokens do Microsoft Entra antes de exigir o início de sessão | Microsoft Entra |
| Filtrar linhas no DAB usando reivindicações de token | Políticas DAB |
| Filtrar linhas em SQL usando segurança ao nível das linhas imposta pela base de dados | Segurança ao nível das linhas SQL |
| Deixe o SQL do Azure autenticar diretamente o utilizador iniciado | Em nome de SQL do Azure |
Árvore de decisões
- Só precisas de uma amostra básica de trabalho?
- Pretende acesso do DAB ao SQL do Azure sem palavra-passe?
- Utilize a identidade gerida.
- Precisa de DAB para validar tokens Microsoft Entra?
- Use Microsoft Entra.
- Os utilizadores com sessão iniciada têm de ver apenas as suas próprias linhas?
- Se o DAB tiver de aplicar o filtro, use políticas DAB.
- Se o SQL deve aplicar o filtro, usa segurança ao nível das linhas do SQL.
- Os registos de auditoria ou as políticas da base de dados precisam do utilizador com sessão iniciada como identidade no SQL?
Compare o modelo de segurança
A coluna do fornecedor de autenticação DAB mostra o valor efetivo para runtime.host.authentication.provider. Se a configuração omitir esta definição, o DAB usa Unauthenticated. Exceto nos exemplos de nome de utilizador/palavra-passe e de delegação, as execuções locais utilizam credenciais SQL e as implementações no Azure utilizam identidade gerida. O exemplo on-behalf-of também define data-source.user-delegated-auth.provider como EntraId.
| Início Rápido | Do utilizador para a aplicação web | Aplicação web para DAB | Fornecedor de autenticação DAB | DAB para SQL |
|---|---|---|---|---|
| Nome de utilizador/palavra-passe | Anônimo | Anônimo | Unauthenticated |
Credenciais SQL |
| Identidade gerenciada | Anônimo | Anônimo | Unauthenticated |
Identidade gerida no Azure |
| Microsoft Entra | Anônimo | Anônimo | EntraId |
Identidade gerida no Azure |
| Políticas DAB | Iniciar sessão no Microsoft Entra | Token de autenticação ao portador | EntraId |
Identidade gerida no Azure |
| Segurança ao nível das linhas SQL | Iniciar sessão no Microsoft Entra | Token de autenticação ao portador | EntraId |
Identidade gerida no Azure |
| Em nome de SQL do Azure | Iniciar sessão no Microsoft Entra | Token de autenticação ao portador | EntraId |
Token delegado pelo utilizador para o SQL do Azure |