As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Aplica-se a: Enterprise Edition |
Público-alvo: QuickSight administradores da Amazon e desenvolvedores da Amazon QuickSight |
Ao incorporar QuickSight painéis da Amazon em seu aplicativo para usuários que não estão provisionados (registrados) QuickSight, você pode usar a segurança em nível de linha (RLS) com tags. Nesse caso, você usa tags para especificar quais dados os usuários poderão visualizar no painel, dependendo de quem eles são.
Por exemplo, suponhamos que você tenha uma empresa no setor de logística com uma aplicação voltada ao cliente para vários varejistas. Milhares de usuários desses varejistas acessam sua aplicação para visualizar as métricas relacionadas à forma como os pedidos estão sendo enviados de seu local de armazenamento.
Você não quer gerenciar milhares de usuários QuickSight, então você usa a incorporação anônima para incorporar os painéis selecionados em seu aplicativo que seus usuários autenticados e autorizados possam ver. No entanto, você deseja garantir que os varejistas visualizem somente os dados relativos aos seus negócios e não aos de outras empresas. Você pode usar a RLS com tags para garantir que seus clientes visualizem somente os dados relevantes para eles.
Para fazer isso, conclua as seguintes etapas:
-
Adicione a RLS com tags a um conjunto de dados.
-
Atribua valores para essas tags no runtime usando a operação de API
GenerateEmbedUrlForAnonymousUser
.Para obter mais informações sobre a incorporação de painéis para usuários anônimos usando a operação de API
GenerateEmbedUrlForAnonymousUser
, consulte Incorporação de QuickSight painéis para usuários anônimos (não registrados).
Antes de usar a RLS com tags, lembre-se dos seguintes pontos:
-
No momento, o uso de RLS com tags é compatível somente com a incorporação anônima, especificamente para painéis incorporados que usam a operação de API
GenerateEmbedUrlForAnonymousUser
. -
O uso de RLS com tags não é compatível com painéis incorporados que usam a operação de API
GenerateEmbedURLForRegisteredUser
ou a operação de APIGetDashboardEmbedUrl
antiga. -
As tags RLS não são compatíveis com AWS Identity and Access Management (IAM) ou com o tipo de QuickSight identidade.
-
Ao aplicar conjuntos de dados do SPICE à segurança por linha, cada campo no conjunto de dados poderá conter, no máximo, 2.047 caracteres Unicode. Os campos que contêm mais do que essa cota são truncados durante a ingestão. Para saber mais sobre as cotas para dados do SPICE, consulte SPICE cotas para dados importados.
Etapa 1: adicionar a RLS com tags a um conjunto de dados
Você pode adicionar regras baseadas em tags a um conjunto de dados na Amazon. QuickSight Como alternativa, você pode chamar a operação de API CreateDataSet
ou UpdateDataSet
e adicionar regras baseadas em tags dessa forma. Para obter mais informações, consulte Adicionar RLS com tags a um conjunto de dados usando a API.
Use o procedimento a seguir para adicionar tags RLS a um conjunto de dados no. QuickSight
Adicionar a RLS com tags a um conjunto de dados
-
Na página QuickSight inicial, escolha Conjuntos de dados à esquerda.
-
Na página Conjuntos de dados, selecione o conjunto de dados ao qual você deseja adicionar a RLS.
-
Na página de detalhes do conjunto de dados que é aberta, em Segurança por linha, escolha Configurar.
-
Na página Configurar segurança por linha que é aberta, escolha Regras baseadas em tags.
-
Em Coluna, escolha uma coluna à qual você deseja adicionar regras baseadas em tags.
Por exemplo, no caso da empresa no setor de logística, é utilizada a coluna
retailer_id
.Somente colunas com um tipo de dados string são listadas.
-
Em Tag, insira uma chave de tag. Você pode inserir qualquer nome de tag que desejar.
Por exemplo, no caso da empresa no setor de logística, é utilizada a chave de tag
tag_retailer_id
. Fazer isso define a segurança por linha com base no varejista que está acessando a aplicação. -
(Opcional) Em Delimitador, escolha um delimitador usando a lista ou insira o seu próprio delimitador.
É possível usar delimitadores para separar strings de texto ao atribuir mais de um valor para uma tag. O valor de um delimitador pode ter, no máximo, dez caracteres.
-
(Opcional) Em Corresponder a todos, escolha o símbolo * ou insira seu próprio caractere ou caracteres.
Esta opção pode ser qualquer caractere que você deseja usar ao filtrar por todos os valores dessa coluna no conjunto de dados. Em vez de listar os valores um por um, você pode usar o caractere. Se este valor for especificado, ele poderá ter no mínimo um caractere ou no máximo 256 caracteres.
-
Escolha Adicionar.
A regra baseada em tags será adicionada ao conjunto de dados e listada na parte inferior, mas ainda não será aplicada. Para adicionar outra regra baseada em tags ao conjunto de dados, repita as etapas 5 a 9. Para editar uma regra baseada em tags, escolha o ícone de lápis próximo à regra. Para excluir uma regra baseada em tags, escolha o ícone de exclusão próximo à regra. É possível adicionar até 50 tags a um conjunto de dados.
-
Quando estiver com tudo pronto para aplicar as regras baseadas em tags ao conjunto de dados, escolha Aplicar regras.
-
Na página Deseja ativar a segurança baseada em tags? que é aberta, escolha Aplicar e ativar.
As regras baseadas em tags estarão ativas. Na página Configurar segurança por linha, um botão de alternância aparece para você ativar e desativar as regras baseadas em tags para o conjunto de dados.
Para desativar todas as regras baseadas em tags para o conjunto de dados, desative o botão de alternância das Regras baseadas em tags e, em seguida, digite “confirmar” na caixa de texto que aparecer.
Na página Conjuntos de dados, um ícone de cadeado aparece na linha do conjunto de dados para indicar que as regras baseadas em tags estão habilitadas.
Agora, você pode usar regras baseadas em tags para definir valores de tags no runtime, conforme descrito em Etapa 2: atribuir valores à RLS com tags no runtime. As regras só afetam QuickSight os leitores quando estão ativas.
Importante
Depois que as tags forem atribuídas e habilitadas no conjunto de dados, certifique-se de conceder aos QuickSight autores permissões para ver qualquer um dos dados no conjunto de dados ao criar um painel.
Para dar permissão aos QuickSight autores para ver os dados no conjunto de dados, crie um arquivo de permissões ou uma consulta para usar como regras do conjunto de dados. Para obter mais informações, consulte Como criar regras do conjunto de dados para a segurança por linha.
Após criar uma regra baseada em tags, uma nova tabela Gerenciar regras será exibida para mostrar como suas regras baseadas em tags se relacionam. Para fazer alterações nas regras listadas na tabela Gerenciar regras, escolha o ícone de lápis próximo à regra. Em seguida, adicione ou remova as tags e escolha Atualizar. Para aplicar a regra atualizada ao conjunto de dados, escolha Aplicar.

(Opcional) Adicionar a condição Or à RLS com tags
Você também pode adicionar a condição OR às suas regras baseadas em tags para personalizar ainda mais a forma como os dados são apresentados aos usuários QuickSight da sua conta. Quando você usa a condição OR com suas regras baseadas em tags, as imagens QuickSight aparecem se pelo menos uma tag definida na regra for válida.
Adicionar a condição OR às regras baseadas em tags
-
Na tabela Gerenciar regras, escolha Adicionar condição OU.
-
Na lista suspensa Selecionar tag que é apresentada, escolha a tag para a qual você deseja criar uma condição OU. É possível adicionar até 50 condições OR à tabela Gerenciar regras. Você pode adicionar diversas tags a uma única coluna em um conjunto de dados, mas, no mínimo, uma tag de coluna precisa ser inclusa em uma regra.
-
Escolha Atualizar para adicionar a condição à regra e, em seguida, selecione Aplicar para aplicar a regra atualizada ao seu conjunto de dados.
Adicionar RLS com tags a um conjunto de dados usando a API
Como alternativa, você pode configurar e habilitar a segurança por linha baseada em tags em seu conjunto de dados ao chamar a operação de API CreateDataSet
ou UpdateDataSet
. Use os exemplos apresentados a seguir para aprender a fazer isso.
Veja um exemplo a seguir de criação de um conjunto de dados que usa a RLS com tags. O exemplo assume o cenário da empresa no setor de logística descrito anteriormente. As tags estão definidas no elemento row-level-permission-tag-configuration
. As tags são definidas nas colunas para as quais você deseja proteger os dados. Para obter mais informações sobre esse elemento opcional, consulte RowLevelPermissionTagConfigurationa Amazon QuickSight API Reference.
create-data-set --aws-account-id <value> --data-set-id <value> --name <value> --physical-table-map <value> [--logical-table-map <value>] --import-mode <value> [--column-groups <value>] [--field-folders <value>] [--permissions <value>] [--row-level-permission-data-set <value>] [--column-level-permission-rules <value>] [--tags <value>] [--cli-input-json <value>] [--generate-cli-skeleton <value>] [--row-level-permission-tag-configuration '{ "Status": "ENABLED", "TagRules": [ { "TagKey": "
tag_retailer_id
", "ColumnName": "retailer_id
", "TagMultiValueDelimiter": ",
", "MatchAllValue": "*
" }, { "TagKey": "tag_role
", "ColumnName": "role
" } ], "TagRuleConfigurations": [tag_retailer_id
], [tag_role
] }' ]
Neste exemplo, as tags estão definidas na parte TagRules
do elemento. No exemplo, duas tags são definidas com base em duas colunas:
-
A chave da tag
tag_retailer_id
é definida para a colunaretailer_id
. Neste caso, para a empresa no setor de logística, isto define a segurança por linha com base no varejista que está tentando acessar a aplicação. -
A chave da tag
tag_role
é definida para a colunarole
. Neste caso, para a empresa no setor de logística, isso define uma camada adicional de segurança por linha com base no perfil do usuário que acessa a aplicação usando um varejista específico. Um exemplo éstore_supervisor
oumanager
.
Para cada tag, você pode definir TagMultiValueDelimiter
e MatchAllValue
. Entretanto, são opcionais.
-
TagMultiValueDelimiter
: esta opção pode ser qualquer string que você deseja usar para delimitar os valores ao transferi-los no runtime. O valor pode ter, no máximo, dez caracteres. Nesse caso, uma vírgula é usada como o valor delimitador. -
MatchAllValue
: esta opção pode ser qualquer caractere que você deseja usar ao filtrar por todos os valores dessa coluna no conjunto de dados. Em vez de listar os valores um por um, você pode usar o caractere. Se especificado, esse valor poderá ter no mínimo um caractere ou no máximo 256 caracteres. Nesse caso, um asterisco será usado como o correspondente a todos os valores.
Ao configurar as tags para as colunas do conjunto de dados, ative-as ou desative-as usando a propriedade obrigatória Status
. Para habilitar as regras baseadas em tags, use o valor ENABLED
para esta propriedade. Ao ativar as regras baseadas em tags, você poderá usá-las para definir valores de tags no runtime, conforme descrito em Etapa 2: atribuir valores à RLS com tags no runtime.
Veja um exemplo a seguir de definição de resposta.
{
"Status": 201,
"Arn": "arn:aws:quicksight:us-west-2:11112222333:dataset/RLS-Dataset",
"DataSetId": "RLS-Dataset",
"RequestId": "aa4f3c00-b937-4175-859a-543f250f8bb2"
}
Importante
Depois que as tags forem atribuídas e habilitadas no conjunto de dados, certifique-se de conceder aos QuickSight autores permissões para ver qualquer um dos dados no conjunto de dados ao criar um painel.
Para dar permissão aos QuickSight autores para ver os dados no conjunto de dados, crie um arquivo de permissões ou uma consulta para usar como regras do conjunto de dados. Para obter mais informações, consulte Como criar regras do conjunto de dados para a segurança por linha.
Para obter mais informações sobre o RowLevelPermissionTagConfiguration
elemento, consulte RowLevelPermissionTagConfigurationa Amazon QuickSight API Reference.
Etapa 2: atribuir valores à RLS com tags no runtime
Você pode usar tags para a RLS somente para a incorporação anônima. É possível definir valores para as tags usando a operação de API GenerateEmbedUrlForAnonymousUser
.
O exemplo apresentado a seguir mostra como atribuir valores à RLS com tags definida no conjunto de dados na etapa anterior.
POST /accounts/AwsAccountId
/embed-url/anonymous-user
HTTP/1.1
Content-type: application/json
{
“AwsAccountId”: “string”,
“SessionLifetimeInMinutes”: integer,
“Namespace”: “string”, // The namespace to which the anonymous end user virtually belongs
“SessionTags”: // Optional: Can be used for row-level security
[
{
“Key”: “tag_retailer_id”,
“Value”: “West,Central,South”
}
{
“Key”: “tag_role”,
“Value”: “shift_manager”
}
],
“AuthorizedResourceArns”:
[
“string”
],
“ExperienceConfiguration”:
{
“Dashboard”:
{
“InitialDashboardId”: “string”
// This is the initial dashboard ID the customer wants the user to land on. This ID goes in the output URL.
}
}
}
Veja um exemplo a seguir de definição de resposta.
HTTP/1.1 Status
Content-type: application/json
{
"EmbedUrl": "string
",
"RequestId": "string
"
}
O suporte a RLS sem registrar usuários QuickSight é suportado somente na operação da GenerateEmbedUrlForAnonymousUser
API. Nesta operação, em SessionTags
, é possível definir os valores das tags associadas às colunas do conjunto de dados.
Neste caso, são definidas as seguintes atribuições:
-
Os valores
West
,Central
eSouth
são atribuídos à tagtag_retailer_id
no runtime. Uma vírgula é usada para o delimitador, que foi definido emTagMultipleValueDelimiter
no conjunto de dados. Para usar valores de chamada na coluna, você pode definir o valor como *, que foi definido como oMatchAllValue
ao criar a tag. -
O valor
shift_manager
é atribuído à tagtag_role
.
O usuário que usar o URL gerado poderá visualizar somente as linhas com o valor shift_manager
na coluna role
. Esse usuário poderá visualizar somente o valor West
, Central
ou South
na coluna retailer_id
.
Para obter mais informações sobre a incorporação de painéis para usuários anônimos usando a operação de GenerateEmbedUrlForAnonymousUser
APIIncorporação de QuickSight painéis para usuários anônimos (não registrados), consulte ou GenerateEmbedUrlForAnonymousUserna Amazon QuickSight API Reference