

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á.

# Tutorial: Configuração de um domínio com o banco de dados interno do usuário e a autenticação básica HTTP
<a name="fgac-http-auth"></a>

Este tutorial aborda outro caso de uso de [controle de acesso refinado](fgac.md) e popular: um usuário principal no banco de dados de usuários interno e autenticação básica HTTP para painéis. OpenSearch O usuário principal pode então entrar nos OpenSearch painéis, criar um usuário interno, mapear o usuário para uma função e usar um controle de acesso refinado para limitar as permissões do usuário.

**nota**  
Ao usar a Autenticação Básica HTTP com uma política de acesso baseada em recursos que especifica um principal do IAM, as solicitações não assinadas autenticadas por meio da Autenticação Básica HTTP são tratadas exclusivamente pelo banco de dados interno de usuários de controle de acesso refinado. As solicitações assinadas (usando SigV4) são avaliadas em relação à política de acesso ao domínio e ao controle de acesso refinado. Se sua política de acesso especificar um principal`"AWS": "arn:aws:iam::111122223333:root"`, como, por exemplo, somente SigV4-signed solicitações dessa conta serão permitidas pela política de acesso, enquanto as solicitações HTTP Basic Auth ignoram a política de acesso e são controladas inteiramente por funções de controle de acesso refinadas.

Você concluirá as seguintes etapas neste tutorial:

1. [Crie um domínio com um usuário primário](#fgac-http-auth-domain)

1. [Configurar um usuário interno nos OpenSearch painéis](#fgac-http-auth-dashboards-user)

1. [Mapeie funções em OpenSearch painéis](#fgac-http-auth-dashboards-map)

1. [Testas as permissões](#fgac-http-auth-test)

## Etapa 1: Criar um domínio
<a name="fgac-http-auth-domain"></a>

Navegue até o console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/home/](https://console.aws.amazon.com/aos/home/)e [crie um domínio](createupdatedomains.md) com as seguintes configurações:
+ OpenSearch 1.0 ou posterior, ou Elasticsearch 7.9 ou posterior
+ Acesso público
+ Fine-grained controle de acesso com um usuário principal no banco de dados interno do usuário (`TheMasterUser`para o restante deste tutorial)
+ Autenticação do Amazon Cognito para Dashboards *desabilitada*
+ A seguinte política de acesso:

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Principal": {
          "AWS": "arn:aws:iam::{{111122223333}}:root"
        },
        "Action": [
          "es:ESHttp*"
        ],
        "Resource": "arn:aws:es:{{us-east-1}}:{{111122223333}}:domain/{{{domain-name}}}/*"
      }
    ]
  }
  ```

------
+ HTTPS necessário para todo o tráfego para o domínio
+ Node-to-node criptografia
+ Criptografia de dados em repouso

## Etapa 2: criar um usuário interno nos OpenSearch painéis
<a name="fgac-http-auth-dashboards-user"></a>

Agora que você tem um domínio, pode entrar no OpenSearch Dashboards e criar um usuário interno.

1. Volte para o console OpenSearch de serviços e navegue até a URL dos OpenSearch painéis do domínio que você criou. O URL segue este formato: `{{domain-endpoint}}/_dashboards/`.

1. Faça login com o `TheMasterUser`.

1. Escolha **Adicionar dados de amostras** e adicione os dados de voo de amostra.

1. No painel de navegação à esquerda, escolha **Segurança**, **Usuários internos**, **Criar usuário interno**.

1. Nomeie o usuário `new-user` e especifique uma senha. Em seguida, escolha **Criar**.

## Etapa 3: mapear funções em OpenSearch painéis
<a name="fgac-http-auth-dashboards-map"></a>

Agora que seu usuário está configurado, você pode mapeá-lo para uma perfil.

1. Fique na seção **Segurança** dos OpenSearch Painéis e escolha **Funções**, **Criar função**.

1. Nomeie a função `new-role`.

1. Em **Índice**, especifique `opensearch_dashboards_sample_data_fli*`(`kibana_sample_data_fli*` nos domínios do Elasticsearch) para o padrão de índice.

1. Para o grupo de ações, escolha **leitura**.

1. Em **Segurança em nível de documento**, especifique a seguinte consulta:

   ```
   {
     "match": {
       "FlightDelay": true
     }
   }
   ```

1. Para segurança em nível de campo, escolha **Excluir** e especifique `FlightNum`.

1. Em **Anonimização**, especifique `Dest`.

1. Escolha **Criar**.

1. Escolha **Usuários mapeados** e **Gerenciar mapeamento**. Em seguida, adicione `new-user` a **Usuários** e escolha **Mapa**.

## Etapa 4: Testar as permissões
<a name="fgac-http-auth-test"></a>

Quando suas funções estiverem mapeadas corretamente, é possível fazer login como o usuário limitado e testá-las.

1. Em uma nova janela privada do navegador, navegue até o URL dos OpenSearch painéis do domínio, faça login usando `new-user` as credenciais e escolha **Explorar sozinho**.

1. Escolha **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.

1. Execute outra pesquisa:

   ```
   GET dashboards_sample_data_flights/_search
   {
     "query": {
       "match_all": {}
     }
   }
   ```

   Observe que todos os documentos correspondentes têm um campo `FlightDelay` de `true`, um campo anônimo `Dest` e nenhum campo `FlightNum`.

1. Na janela original do navegador, conectado como `TheMasterUser`, escolha **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.