O que é uma assinatura de acesso compartilhado (SAS) OneLake? (Pré-visualização)
Uma assinatura de acesso compartilhado (SAS) do OneLake fornece acesso seguro, de curto prazo e delegado aos recursos em seu OneLake. Com um OneLake SAS, você tem controle granular sobre como um cliente pode acessar seus dados. Por exemplo:
- Quais recursos o cliente pode acessar.
- Que permissões eles têm para os recursos.
- Por quanto tempo o SAS é válido.
Cada SAS OneLake (e chave de delegação do usuário) é sempre apoiado por uma Identidade Microsoft Entra, tem uma vida útil máxima de 1 hora e só pode conceder acesso a pastas e arquivos dentro de um item de dados, como uma casa de lago.
Importante
Este recurso está em pré-visualização.
Como funciona uma assinatura de acesso compartilhado
Uma assinatura de acesso compartilhado é um token anexado ao URI de um recurso 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. É construído a partir dos parâmetros SAS e assinado com a chave que foi usada para criar o SAS. O OneLake usa essa assinatura para autorizar o acesso à pasta ou arquivo no OneLake. Os SASs OneLake usam o mesmo formato e propriedades que os SAS delegados pelo usuário do Armazenamento do Azure, mas com mais restrições de segurança em seu tempo de vida e escopo.
Um OneLake SAS é assinado com uma chave de delegação de usuário (UDK), que é apoiada por uma credencial Microsoft Entra. Você pode solicitar uma chave de delegação de usuário com a operação Obter chave de delegação de usuário. Em seguida, você usa essa chave (enquanto ela ainda é válida) para criar o OneLake SAS. As permissões dessa conta do Microsoft Entra, juntamente com as permissões explicitamente concedidas ao SAS, determinam o acesso do cliente ao recurso.
Autorizando um OneLake SAS
Quando um cliente ou aplicativo acessa o OneLake com uma SAS OneLake, a solicitação é autorizada usando as credenciais do Microsoft Entra que solicitaram o UDK usado para criar o SAS. Portanto, todas as permissões 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 cria. Além disso, ao criar uma SAS, você concede permissões explicitamente, permitindo que você forneça permissões ainda mais abrangentes para a SAS. Entre a identidade do Microsoft Entra, as permissões concedidas explicitamente e a vida útil curta, o OneLake segue as práticas recomendadas de segurança para fornecer acesso delegado aos seus dados.
Quando usar um OneLake SAS
Os SASs OneLake delegam acesso seguro e temporário ao OneLake, apoiado por uma identidade Microsoft Entra. Os aplicativos sem suporte nativo do Microsoft Entra podem usar um OneLake SAS para obter acesso temporário para carregar dados sem um trabalho complicado de configuração e integração.
OneLake SASs também suporta aplicativos que servem como proxies entre os usuários e seus dados. Por exemplo, alguns ISVs (Fornecedores Independentes de Software) são executados entre os usuários e seu espaço de trabalho de malha, fornecendo funcionalidade extra e, possivelmente, um modelo de autenticação diferente. Ao delegar o acesso com uma SAS 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 Microsoft Entra.
Gerenciando o OneLake SAS
Duas configurações em seu locatário de malha gerenciam o uso de SASs OneLake. A primeira é uma configuração de nível de locatário, Usar tokens 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 do 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, já que essas chaves de delegação de usuário têm permissões equivalentes à identidade do Microsoft Entra que as solicita e são sempre de curta duração.
Nota
Desativar esse recurso impedirá que todos os espaços de trabalho usem SASs OneLake, pois todos os usuários não poderão gerar chaves de delegação de usuário.
A segunda configuração é uma configuração de espaço de trabalho delegado, Autenticar com tokens SAS delegados pelo usuário OneLake, que controla se um espaço de trabalho aceita um SAS OneLake. Essa configuração é desativada por padrão e pode ser ativada por um administrador de espaço de trabalho que deseja permitir a autenticação com uma SAS OneLake em seu espaço de trabalho. Um administrador de locatário pode ativar essa configuração para todos os espaços de trabalho por meio da configuração de locatário ou deixá-la para os administradores de espaço de trabalho ativarem.
Você também pode monitorar a criação de chaves de delegação de usuário por meio do portal de conformidade do Microsoft Purview. Você pode pesquisar o nome da operação generateonelakeudk para visualizar todas as chaves geradas em seu locatário. Como a criação de uma SAS é uma operação do lado do cliente, você não pode monitorar ou limitar a criação de uma SAS OneLake, apenas a geração de uma UDK.
Melhores práticas com o OneLake SAS
- Sempre use HTTPS para criar ou distribuir um SAS para proteger contra ataques man-in-the-middle que procuram intercetar o SAS.
- Acompanhe os tempos de expiração do token, da chave e do token SAS. As chaves de delegação de usuário OneLake e SASs têm uma vida útil máxima de 1 hora. A tentativa de solicitar um UDK ou criar uma SAS com uma vida útil superior a 1 hora faz com que a solicitação falhe. Para evitar que o SAS seja usado para estender a vida útil dos tokens OAuth que expiram, 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 do SAS.
- Tenha cuidado com a hora de início de um SAS. Definir a hora de início de um SAS como a hora atual pode causar falhas nos primeiros minutos, devido a diferentes tempos de início entre máquinas (distorção do relógio). Definir a hora de início como alguns minutos no passado ajuda a proteger contra esses erros.
- Conceda o mínimo de privilégios possível ao SAS. Fornecer os privilégios mínimos necessários para o menor número possível de recursos é uma prática recomendada de segurança e diminui o impacto se uma SAS for comprometida.
- Monitore a geração de chaves de delegação do usuário. Você pode auditar a criação de chaves de delegação de usuário no portal de conformidade do Microsoft Purview. Procure o nome da operação 'generateonelakeudk' para visualizar as chaves geradas no seu inquilino.
- Entenda as limitações dos SASs OneLake. Como os SASs OneLake não podem ter permissões no nível do espaço de trabalho, eles não são compatíveis com algumas ferramentas de Armazenamento do Azure que esperam permissões no nível do contêiner para atravessar dados, como o Gerenciador de Armazenamento do Azure.