Como soluciono problemas de segurança em nível de linha no QuickSight?

Última atualização em: 12/07/2022

Apliquei a RLS ao meu conjunto de dados no Amazon QuickSight, mas estou enfrentando problemas com o acesso aos dados.

Breve descrição

Veja a seguir problemas comuns que você pode enfrentar ao usar a Row-Level Security (RLS – Segurança em nível de linha) no seu conjunto de dados do Amazon QuickSight:

  • Você não consegue ver nenhum dado no painel incorporado do QuickSight para usuários anônimos do QuickSight.
  • Usuários restritos ainda podem ver todos os dados.
  • Usuários irrestritos não podem ver nenhum dado.
  • Você recebe o código de erro DatasetRulesInvalidColType ao aplicar a RLS.
  • Você recebe o erro Code DatasetRulesUserDenied ao criar uma análise.

Observação: ao usar a RLS, considere o seguinte:

  • A RLS está disponível somente para a edição Enterprise do QuickSight.
  • A RLS oferece suporte apenas a dados textuais, como string, char e varchar para campos na regra do conjunto de dados. Atualmente, a RLS não funciona para datas ou campos numéricos.
  • O conjunto completo de registros de regras que são aplicados por usuário não deve exceder 999. Conjuntos de dados com mais de 999 regras podem falhar ao aplicar regras de RLS ao conjunto de dados.
  • Não é possível aplicar a RLS a linhas vazias com o valor null padrão porque o QuickSight trata null como um valor de campo vazio. No entanto, os espaços em um campo são tratados como um valor literal, portanto, a regra do conjunto de dados se aplica a essas linhas.
  • Somente os usuários adicionados à regra do conjunto de dados podem ver os dados com base na regra definida. Outros usuários não conseguem ver os dados.
  • Ao usar vários campos nas regras do conjunto de dados, as regras funcionam como um operador AND. No momento, o operador OR não é compatível.
  • As regras baseadas em etiquetas de RLS são compatíveis apenas com painéis incorporados para usuários anônimos com a API GenerateEmbedUrlForAnonymousUser. Se você incorporou painéis para usuários registrados com a API GenerateEmbedUrlForRegisteredUser, considere o uso de regras no nível do usuário.

Resolução

Não consigo ver nenhum dado no painel incorporado do QuickSight para usuários anônimos

Se você usar regras baseadas em etiquetas para seu painel incorporado anônimo, não poderá ver ou modificar os dados. Para ver os dados, você deve adicionar regras de RLS baseadas em usuário ao conjunto de dados.

No exemplo de regra de conjunto de dados a seguir, John Stiles pode ver dados apenas do departamento de Logística, e Martha Rivera pode ver todos os dados do conjunto de dados.

UserName,Department 
JohnStiles,Logistics 
MarthaRivera,

Observação: você pode aplicar regras baseadas em etiquetas e regras de RLS baseadas em usuário em seu conjunto de dados.

Usuários restritos ainda podem ver todos os dados

Se um conjunto de dados contiver muitas regras, mesmo que você aplique a RLS com êxito, os usuários restritos ainda poderão ver todos os dados. Para resolver esse problema, certifique-se de que seu conjunto de dados contenha no máximo 999 regras. Se você restringir usuários por UserName e tiver mais de 999 usuários em sua regra de conjunto de dados, crie grupos do QuickSight. Adicione os usuários aos grupos e use GroupName em vez de UserName na regra do conjunto de dados.

Usuários irrestritos não podem ver nenhum dado

Veja a seguir os possíveis motivos pelos quais usuários irrestritos não podem ver os dados:

  • O usuário não existe na regra do conjunto de dados. Analise a regra do conjunto de dados para verificar se todos os usuários pretendidos estão lá.
  • O UserNameou GroupName não corresponde aos usuários ou grupos no QuickSight. Analise o UserName ou o GroupName da regra do conjunto de dados para verificar se eles correspondem aos usuários ou grupos no QuickSight.

Você recebe o código de erro DatasetRulesInvalidColType ao aplicar a RLS

O erro DatasetRulesInvalidColType ocorre quando você usa a RLS para datas ou campos numéricos.

Analise o campo usado para avaliar a RLS na regra do conjunto de dados para verificar se o tipo de dados é String. Você também pode converter campos numéricos em String no QuickSight editando o conjunto de dados.

Você recebe o código de erro DatasetRulesUserDenied ao criar uma análise

Esse erro DataRulesUserDenied ocorre quando o usuário não está na regra do conjunto de dados. Para resolver esse erro, adicione o usuário à regra do conjunto de dados e atualize o conjunto de dados.