Como solucionar problemas de autenticação do Amazon Cognito com o OpenSearch Dashboards?

Última atualização: 20/10/2021

Estou tentando acessar o OpenSearch Dashboards usando a autenticação do Amazon Cognito em meu cluster do Amazon OpenSearch Service (sucessor do Amazon Elasticsearch Service). No entanto, recebo um erro ou encontro um problema de login. Por que isso está acontecendo?

Resolução

Eu inseri o URL do OpenSearch Dashboards, mas não consigo ver a página de login

Observação: o OpenSearch Dashboards é o sucessor do Kibana.

Você poderá ser redirecionado do URL do OpenSearch Dashboards para o painel do Dashboards por vários motivos:

Observação: a autenticação do Amazon Cognito não é necessária. Para que a autenticação do Amazon Cognito seja necessária, altere a política de acesso ao domínio. Para obter mais informações, consulte Configurar políticas de acesso.

Sou redirecionado para a página de login do OpenSearch Dashboards, mas não consigo fazer login

Se você for redirecionado para a página de login do OpenSearch Dashboards, mas não conseguir fazer login, significa que o Amazon Cognito está configurado incorretamente. Para resolver esse problema, considere os seguintes métodos:

Erro “Missing Role” (Função ausente)

Se você tiver o Fine-Grained Access Control (FGAC – Controle de acesso refinado) habilitado no OpenSearch Dashboards em seu domínio do OpenSearch Services, você pode receber o seguinte erro:

"Missing Role
No roles available for this user, please contact your system administrator."

Esse erro ocorre quando há uma incompatibilidade entre o usuário principal ou principal do IAM e a função do Amazon Cognito que está sendo assumida. A função que está sendo assumida (do grupo de identidades do Amazon Cognito) deve corresponder à função do IAM especificada para o usuário primário ou principal.

Para fazer com que a função do IAM do usuário primário ou principal corresponda à função do Amazon Cognito que está sendo assumida, execute as seguintes etapas:

1.    Navegue até o console do OpenSearch Services.

2.    Escolha seu domínio do OpenSearch Services.

3.    Selecione Actions (Ações).

4.    Escolha Modify authentication (Modificar autenticação).

5.    Em Fine-grained access control (Controle de acesso refinado), escolha Set IAM role (Definir função do IAM) como usuário primário ou principal. Certifique-se de especificar o ARN da função de autenticação do Amazon Cognito.

6.    (Opcional) Se você esqueceu o ARN do usuário primário ou principal (ou outros detalhes de configuração da função), modifique o usuário primário ou principal. Ao reconfigurar o usuário primário ou principal, você pode especificar um novo ARN do IAM.

7.    Escolha Submit (Enviar).

Erro de configuração inválida de grupo de identidades

Depois de autenticar com êxito seu login usando o Amazon Cognito, você ainda poderá receber o seguinte erro:

com.amazonaws.services.cognitoidentity.model.InvalidIdentityPoolConfigurationException:
Invalid identity pool configuration. Check assigned IAM roles for this pool.
(Service: AmazonCognitoIdentity; Status Code: 400; Error Code:
InvalidIdentityPoolConfigurationException; Request ID:
xxxxx-xxxx-xxxx-xxxx-xxxxx)

Essa mensagem de erro ocorre quando o Amazon Cognito não tem as permissões adequadas para assumir uma função do IAM em nome do usuário autenticado. Modifique a relação de confiança para a função do IAM para incluir o seguinte:

1.    Abra o console do Amazon IAM.

2.    Escolha Roles (Funções).

3.    Selecione sua função do IAM.

4.    Escolha a guia Trust relationships (Relacionamentos de confiança).

5.    Escolha Edit trust relationship (Editar relacionamento de confiança). Certifique-se de que o grupo de identidades do Amazon Cognito possa assumir a função do IAM.

Por exemplo:

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Principal": {
      "Federated": "cognito-identity.amazonaws.com"
    },
    "Action": "sts:AssumeRoleWithWebIdentity",
    "Condition": {
      "StringEquals": {
        "cognito-identity.amazonaws.com:aud": "identity-pool-id"
      },
      "ForAnyValue:StringLike": {
        "cognito-identity.amazonaws.com:amr": "authenticated"
      }
    }
  }]
}

6.    Escolha Update Trust Policy (Atualizar política de confiança).

Para obter mais informações sobre como atualizar sua política de função do IAM em que o FGAC está habilitado, consulte Tutorial: Usuário primário do IAM e Amazon Cognito.

Erro de incompatibilidade de redirecionamento

Você poderá receber o seguinte erro ao tentar acessar o OpenSearch Dashboards no OpenSearch Services usando um URL do Dashboards ou um URL de endpoint personalizado:

"An error was encountered with the requested page"

Esse erro ocorre quando você não tem a configuração de URL de retorno de chamada nas configurações do cliente da aplicação do Amazon Cognito.

Para verificar se as configurações do cliente da aplicação estão configuradas corretamente, execute as seguintes etapas:

1.    Navegue até o console do Amazon Cognito.

2.    Escolha Manage User Pools (Gerenciar grupos de usuários).

3.    Selecione o grupo de usuários que você deseja editar.

4.    No lado esquerdo do console, escolha App client settings (Configurações do cliente da aplicação).

5.    Verifique se os URLs de retorno de chamada e os URLs de saída estão configurados corretamente. Por exemplo:

<dashboards-endpoint>/_dashboards/app/home

Para um domínio em que um endpoint personalizado está habilitado, o URL de retorno de chamada e o URL de saída serão assim:

<domain-custom-endpoint>/_dashboards/app/home

Erro de função de autorização do grupo de identidades do Amazon Cognito

Se você conseguir fazer login, mas não conseguir ver o OpenSearch Dashboards, talvez receba o seguinte erro:

User: arn:aws:sts:: 123456789012:assumed-role/Cognito_identitypoolAuth_Role/CognitoIdentityCredentials is not authorized to perform: es:ESHttpGet

Por padrão, a função do IAM autenticada para grupos de identidades não inclui os privilégios necessários para acessar o Dashboards. Você pode encontrar o nome da função autenticada e adicioná-la à política de acesso do OpenSearch Services executando o seguinte:

1.    Navegue até o console do Amazon Cognito.

2.    Escolha Manage Identity Pools (Gerenciar grupos de identidades).

3.    No canto superior direito do console, escolha Edit identity pool (Editar grupo de identidades).

4.    Adicione sua função autenticada à política de acesso ao domínio do OpenSearch Services.

Observação: é uma prática recomendada usar uma política baseada em recursos para usuários autenticados. A função autenticada controla especificamente a autenticação do Amazon Cognito para o Dashboards. Portanto, não remova outros recursos da política de acesso ao domínio.


Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?