Tutorial: Banco de dados interno de usuários e autenticação básica HTTP
Este tutorial aborda outro caso de uso popular de controle de acesso refinado: um usuário primário no banco de dados interno de usuários e autenticação básica HTTP para o OpenSearch Dashboards.
Conceitos básicos do controle de acesso refinado
-
Crie um domínio com as seguintes configurações:
-
OpenSearch 1.0 ou posterior ou Elasticsearch 7.9 ou posterior
-
Acesso público
-
Controle de acesso refinado com um usuário primário no banco de dados interno de usuários (
TheMasterUser
para o restante deste tutorial) -
Autenticação do Amazon Cognito para Dashboards desabilitada
-
A seguinte política de acesso:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "*" ] }, "Action": [ "es:ESHttp*" ], "Resource": "arn:aws:es:
region
:account
:domain/domain-name
/*" } ] } -
HTTPS necessário para todo o tráfego para o domínio
-
Criptografia de nó a nó
-
Criptografia de dados em repouso
-
-
Navegue para o OpenSearch Dashboards.
-
Faça login usando
TheMasterUser
. -
Escolha Try our sample data (Experimentar nossos dados de exemplo).
-
Adicione os dados de voo de exemplo.
-
Escolha Security (Segurança), Internal users (Usuários internos),Create internal user (Criar usuário interno).
-
Nomeie o usuário
new-user
e especifique uma senha. Em seguida, selecione Criar. -
Selecione Roles (Funções), Create role (Criar função).
-
Nomeie a função
new-role
. -
Para as permissões do índice, especifique
dashboards_sample_data_fli*
para o padrão de índice. -
Para o grupo de ações, escolha read (leitura).
-
Em Document level security (Segurança em nível de documento), especifique a seguinte consulta:
{ "match": { "FlightDelay": true } }
-
Para segurança em nível de campo, escolha Exclude (Excluir) e especifique
FlightNum
. -
Em Anonymization (Anonimização), especifique
Dest
. -
Escolha Create (Criar OpsItem).
-
Escolha Mapped users (Usuários mapeados) e Manage mapping (Gerenciar mapeamento). Em seguida, adicione
new-user
a Users (Usuários) e escolha Map (Mapa). -
Retorne à lista de funções e escolha opensearch_dashboards_user. Escolha Mapped users (Usuários mapeados) e Manage mapping (Gerenciar mapeamento). Em seguida, adicione
new-user
a Users (Usuários) e escolha Map (Mapa). -
Em uma nova janela privada do navegador, navegue até o Dashboards, faça login usando
new-user
e escolha Explore on my own (Explorar por conta própria). -
Escolha Dev Tools (Ferramentas de desenvolvimento) e execute a pesquisa padrão:
GET _search { "query": { "match_all": {} } }
Observe o erro de permissões.
new-user
não tem permissões para executar pesquisas em todo o cluster. -
Execute outra pesquisa:
GET dashboards_sample_data_flights/_search { "query": { "match_all": {} } }
Observe que todos os documentos correspondentes têm um campo
FlightDelay
detrue
, um campo anônimoDest
e nenhum campoFlightNum
. -
Na janela original do navegador, conectado como
TheMasterUser
, escolha Dev Tools (Ferramentas de desenvolvimento) e execute as mesmas pesquisas. Observe a diferença nas permissões, número de ocorrências, documentos correspondentes e campos incluídos.