O que é uma SAS (assinatura de acesso compartilhado) do OneLake? (versão prévia)
Uma SAS (assinatura de acesso compartilhado) do OneLake fornece acesso seguro, de curto prazo e delegado aos recursos no OneLake. Com uma SAS do OneLake, você tem controle granular sobre como um cliente pode acessar seus dados. Por exemplo:
- Quais recursos o cliente pode acessar.
- Quais as permissões que eles têm para os recursos.
- Por quanto tempo a SAS é válida.
Cada SAS do OneLake (e chave de delegação de usuário) sempre tem o suporte de uma Identidade do Microsoft Entra, tem um tempo de vida máximo de 1 hora e só pode conceder acesso a pastas e arquivos dentro de um item de dados, como um lakehouse.
Importante
Esse recurso está na versão prévia.
Como funciona uma assinatura de acesso compartilhado
Uma assinatura de acesso compartilhado é um token acrescentado ao URI de um recurso do OneLake. O token contém um conjunto especial de parâmetros de consulta que indicam como o cliente pode acessar o recurso. Um dos parâmetros de consulta é a assinatura. Ele é construído a partir dos parâmetros da SAS e assinado com a chave que foi usada para criar a SAS. O OneLake usa essa assinatura para autorizar o acesso à pasta ou arquivo no OneLake. As SASs do OneLake usam o mesmo formato e propriedades que a SAS delegada pelo usuário do Armazenamento do Azure, mas com mais restrições de segurança em seu tempo de vida e escopo.
Uma SAS do OneLake é assinada com uma UDK (chave de delegação de usuário), que é apoiada por uma credencial do Microsoft Entra. Solicite uma chave de delegação de usuário com a operação Obter Chave de Delegação do Usuário. Em seguida, use essa chave (embora ainda seja válida) para criar a SAS do OneLake. As permissões dessa conta do Microsoft Entra, juntamente com as permissões explicitamente concedidas à SAS, determinam o acesso do cliente ao recurso.
Autorizar uma SAS do OneLake
Quando um cliente ou aplicativo acessa o OneLake com uma SAS do OneLake, a solicitação é autorizada usando as credenciais do Microsoft Entra que solicitaram o UDK usado para criar a SAS. Portanto, todas as permissões do OneLake concedidas a essa identidade do Microsoft Entra se aplicam à SAS, o que significa que uma SAS nunca pode exceder as permissões do usuário que a criou. Além disso, ao criar uma SAS, você concede permissões explicitamente, permitindo fornecer permissões ainda mais com escopo para a SAS. Entre a identidade do Microsoft Entra, as permissões explicitamente concedidas e o tempo de vida curto, o OneLake segue as melhores práticas de segurança para fornecer acesso delegado aos seus dados.
Quando usar uma SAS do OneLake
As SASs do OneLake delegam acesso seguro e temporário ao OneLake, apoiado por uma identidade do Microsoft Entra. Aplicativos sem suporte nativo do Microsoft Entra podem usar uma SAS do OneLake para obter acesso temporário para carregar dados sem um trabalho de configuração e integração complicados.
As SASs do OneLake também dão suporte aos aplicativos que servem como proxies entre os usuários e seus dados. Por exemplo, alguns ISVs (fornecedores independentes de software) são executados entre usuários e seu espaço de trabalho do Fabric, fornecendo funcionalidade extra e possivelmente um modelo de autenticação diferente. Ao delegar o acesso com uma SAS do OneLake, esses ISVs podem gerenciar o acesso aos dados subjacentes e fornecer acesso direto aos dados, mesmo que seus usuários não tenham identidades do Microsoft Entra.
Gerenciar a SAS do OneLake
Duas configurações no locatário do Fabric gerenciam o uso das SASs do OneLake. A primeira é uma configuração de nível de locatário, Usar tokens da SAS delegados pelo usuário de curta duração, que gerencia a geração de chaves de delegação de usuário. Como as chaves de delegação de usuário são geradas no nível do locatário, elas são controladas por uma configuração de locatário. Essa configuração é ativada por padrão, pois essas chaves de delegação de usuário têm permissões equivalentes para a identidade do Microsoft Entra solicitando-as e são sempre de curta duração.
Observação
Desativar esse recurso impedirá que todos os espaços de trabalho usem as SASs do OneLake, pois todos os usuários não poderão gerar chaves de delegação do usuário.
A segunda configuração é uma configuração de espaço de trabalho delegada, Autenticar com tokens da SAS delegados pelo usuário do OneLake, que controla se um espaço de trabalho aceita uma SAS do OneLake. Essa configuração é desativada por padrão e pode ser ativada por um administrador do espaço de trabalho que deseja permitir a autenticação com uma SAS do OneLake em seu espaço de trabalho. Um administrador de locatários pode ativar essa configuração para todos os espaços de trabalho por meio da configuração do locatário ou deixá-la para que os administradores do espaço de trabalho ativem.
Também é possível monitorar a criação de chaves de delegação de usuário por meio do portal de conformidade do Microsoft Purview. Pesquise o nome da operação generateonelakeudk para exibir todas as chaves geradas no locatário. Como a criação de uma SAS é uma operação do lado do cliente, não é possível monitorar ou limitar a criação de uma SAS do OneLake, apenas a geração de um UDK.
Melhores práticas com a SAS do OneLake
- Sempre use HTTPS para criar ou distribuir uma SAS para proteger contra ataques man-in-the-middle que buscam interceptar a SAS.
- Acompanhe os tempos de expiração do token, da chave e do token da SAS. As chaves de delegação de usuário do OneLake e as SASs têm um tempo de vida máximo de 1 hora. A tentativa de solicitar um UDK ou criar uma SAS com uma vida útil maior que 1 hora faz com que a solicitação falhe. Para evitar que a SAS seja usada para estender o tempo de vida dos tokens OAuth expirando, o tempo de vida do token também deve ser maior do que o tempo de expiração da chave de delegação do usuário e da SAS.
- Tenha cuidado com a hora de início de uma SAS. Definir a hora de início de uma SAS como a hora atual pode causar falhas nos primeiros minutos, devido a tempos de início diferentes entre computadores (distorção de relógio). Definir a hora de início como alguns minutos no passado ajuda a proteger contra esses erros.
- Conceda os mínimos privilégios possíveis à SAS. Fornecer os privilégios mínimos necessários para o menor número possível de recursos é uma melhor prática de segurança e diminuirá o impacto se uma SAS estiver comprometida.
- Monitore a geração de chaves de delegação do usuário. Audite a criação de chaves de delegação de usuário no portal de conformidade do Microsoft Purview. Pesquise o nome da operação 'generateonelakeudk' para exibir as chaves geradas em seu locatário.
- Entenda as limitações das SASs do OneLake. Como as SASs do OneLake não podem ter permissões no nível do espaço de trabalho, elas não são compatíveis com algumas ferramentas de Armazenamento do Microsoft Azure que esperam permissões no nível do contêiner para percorrer dados, como o Gerenciador de Armazenamento do Azure.