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

Última atualização: 10/03/2022

Estou tentando acessar OpenSearch Dashboards usando a autenticação do Amazon Cognito no meu cluster do Amazon OpenSearch 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.

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

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

Se o Fine-Grained Access Control (FGAC – Controle de acesso refinado) estiver habilitado no OpenSearch Dashboards no domínio do OpenSearch Services, talvez você receba o seguinte erro:

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

Esse erro ocorre quando o usuário primário ou principal do IAM não corresponde à 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 a política de função do IAM em que o FGAC está habilitado, consulte o Tutorial: IAM primary user and Amazon Cognito (Tutorial: usuário principal do IAM e o Amazon Cognito).

Erro de incompatibilidade de redirecionamento

Você pode 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 em App client settings (Configurações de cliente da aplicação) do Amazon Cognito.

Para verificar se as configurações do cliente da aplicação estão configuradas corretamente, realize 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?