Kibana에 대한 Amazon Cognito 인증으로 인해 발생하는 문제는 어떻게 해결합니까?

최종 업데이트 날짜: 2020년 2월 11일

Amazon Elasticsearch Service(Amazon ES) 도메인에서 Amazon Cognito를 통해 Kibana에 액세스하는 데 문제가 있습니다. 

​해결 방법

Amazon Cognito 인증을 활성화하려고 하면 오류 메시지가 표시됩니다.

Kibana URL을 입력하면 로그인 페이지가 표시되지 않습니다. Kibana 대시보드로 바로 이동했습니다.

Amazon Cognito 인증은 필요하지 않습니다. 다음이 발생하면 Kibana 로그인 페이지로 리디렉션됩니다.

  • 로컬 머신의 퍼블릭 IP 주소가 Kibana에 액세스하도록 허용하는 IP 기반 도메인 액세스 정책을 사용합니다.
  • 요청은 허용된 IAM 사용자 또는 역할을 통해 서명됩니다.
  • Amazon ES 도메인이 Virtual Private Cloud(VPC)에 있고 도메인에 오픈 액세스 정책이 있습니다. 이 시나리오에서 모든 VPC 사용자는 Amazon Cognito 인증 없이 Kibana와 도메인에 액세스할 수 있습니다.

Amazon Cognito 인증이 필요한지 확인하려면 도메인 액세스 정책을 변경하십시오. 자세한 내용은 액세스 정책 구성을 참조하십시오.

Kibana URL을 입력하면 redirect_mismatch 오류가 발생합니다.

  1. Amazon Cognito 콘솔에 로그인합니다.
  2. [Manage User Pools(사용자 풀 관리)]를 선택한 다음 편집할 사용자 풀을 선택합니다.
  3. 페이지 왼쪽에 있는 탐색 모음에서 [App clients(앱 클라이언트)]를 선택합니다.
  4. 이 예제와 같이 Callback URL Sign out URL이 올바르게 구성되어 있는지 확인합니다.
your-kibana-endpoint/app/kibana

참고: your-kibana-endpoint를 사용자 엔드포인트 이름으로 바꿉니다.

Kibana 로그인 페이지로 리디렉션되었지만 로그인할 수 없습니다.

로그인할 수 있지만 Kibana를 볼 수 없습니다.

Kibana에 로그인하면 다음과 같은 오류 메시지가 표시됩니다.

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

기본적으로 자격 증명 풀에 대한 인증된 IAM 역할에는 Kibana에 액세스하는 데 필요한 권한이 포함되어 있지 않습니다. 다음을 수행하여 인증된 역할의 이름을 찾아 Amazon ES 액세스 정책에 추가할 수 있습니다.

  1. Amazon Cognito 콘솔에 로그인합니다.
  2. [Manage Identity Pools(자격 증명 풀 관리)]를 선택한 다음 편집할 사용자 풀을 선택합니다.
  3. [Dashboard(대시보드)] 페이지의 오른쪽 상단 모서리에서 [Edit identity pool(자격 증명 풀 편집)]을 선택합니다.
  4. 인증된 역할을 Amazon ES 도메인 액세스 정책에 추가합니다.

참고: 인증된 사용자에 대해 리소스 기반 정책을 사용하는 것이 좋습니다. 인증된 역할은 Kibana에 대한 Amazon Cognito 인증만 제어합니다. 따라서 도메인 액세스 정책에서 다른 리소스를 제거하지 마십시오.

추가 문제 해결 시나리오는 일반적인 구성 문제를 참조하십시오.