OpenSearch Dashboards로 Amazon Cognito 인증 문제를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 10월 20일

Amazon OpenSearch Service(Amazon Elasticsearch Service 후속) 클러스터에서 Amazon Cognito 인증을 사용하여 OpenSearch Dashboards에 액세스하려고 합니다. 그러나 오류나 로그인 문제가 발생합니다. 이유가 무엇입니까?

해결 방법

OpenSearch Dashboards URL을 입력했지만 로그인 페이지를 볼 수 없는 경우

참고: OpenSearch Dashboards는 Kibana의 후속입니다.

다음과 같은 이유로 OpenSearch Dashboard URL에서 Dashboard 대시보드로 리디렉션될 수 있습니다.

참고: Amazon Cognito 인증은 필요하지 않습니다. Amazon Cognito 인증을 요구하려면 도메인 액세스 정책을 변경하세요. 자세한 내용은 액세스 정책 구성을 참조하세요.

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

OpenSearch Dashboard 로그인 페이지로 리디렉션되었지만 로그인할 수 없는 경우 Amazon Cognito가 잘못 구성된 것입니다. 이 문제를 해결하려면 다음의 방법을 고려해보세요.

"Missing Role" 오류

OpenSearch Service 도메인에서 OpenSearch Dashboards에 세분화된 액세스 제어(FGAC)를 활성화했다면 다음과 같은 오류가 발생할 수 있습니다.

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

이 오류는 IAM 기본/고급 사용자와 부여된 Amazon Cognito 역할이 불일치할 때 발생합니다. (Amazon Cognito 자격 증명 풀에서) 부야된 역할은 기본/고급 사용자에 지정한 IAM 역할과 일치해야 합니다.

기본/고급 사용자의 IAM 역할이 부여된 Amazon Cognito 역할과 일치하도록 하려면 다음의 단계를 수행하세요.

1.    OpenSearch Service 콘솔로 이동합니다.

2.    OpenSearch Service 도메인을 선택합니다.

3.    [작업]을 선택합니다.

4.    [인증 수정]을 선택합니다.

5.    [세분화된 액세스 제어]에서 IAM 역할을 기본/고급 사용자로 설정합니다. Amazon Cognito 인증 역할의 ARN을 지정하세요.

6.    (선택 사항) 기본/고급 사용자의 ARN(또는 역할의 다른 구성 정보)을 잊었다면 기본/고급 사용자를 수정하세요. 기본/고급 사용자를 다시 구성할 때는 새로운 IAM ARN을 지정합니다.

7.    제출을 선택합니다.

잘못된 자격 증명 풀 구성 오류

Amazon Cognito를 사용하여 로그인을 인증하더라도 다음과 같은 오류가 발생할 수 있습니다.

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)

이 오류 메시지는 Amazon Cognito가 인증된 사용자를 대신해서 IAM 역할을 맡을 권한이 없을 경우에 나타납니다. IAM 역할의 신뢰 관계에 다음이 포함되도록 수정하세요.

1.    Amazon IAM 콘솔을 엽니다.

2.    [Roles]를 선택합니다.

3.    IAM 역할을 선택합니다.

4.    신뢰 관계 탭을 선택합니다.

5.    [신뢰 관계 편집]을 선택합니다. Amazon Cognito 자격 증명 풀이 IAM 역할을 맡을 수 있는지 확인하세요.

예를 들면 다음과 같습니다.

{
  "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.    [신뢰 정책 업데이트]를 선택합니다.

세분화된 액세스 제어(FGAC)가 활성화된 IAM 역할 정책 업데이트에 대한 자세한 내용은 자습서: IAM 기본 사용자 및 Amazon Cognito를 참조하세요.

리디렉션 불일치 오류

Dashboards URL 또는 사용자 지정 엔드포인트 URL을 사용하여 OpenSearch Service에서 OpenSearch Dashboards에 액세스하려고 하면 다음과 같은 오류가 발생할 수 있습니다.

"An error was encountered with the requested page"

Amazon Cognito의 앱 클라이언트 설정에서 콜백 URL 구성이 누락되면 이 오류가 발생합니다.

앱 클라이언트 설정이 올바르게 구성되었는지 확인하려면 다음의 단계를 수행하세요.

1.    Amazon Cognito 콘솔로 이동합니다.

2.    [사용자 풀 관리]를 선택합니다.

3.    편집할 사용자 풀을 선택합니다.

4.    콘솔 왼쪽에서 [앱 클라이언트 설정]을 선택합니다.

5.    콜백 URL로그아웃 URL이 올바르게 구성되었는지 확인합니다. 예를 들면 다음과 같습니다.

<dashboards-endpoint>/_dashboards/app/home

사용자 지정 엔드포인트가 활성화된 도메인의 경우, callback URLsign out URL은 다음과 같습니다.

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

Amazon Cognito 자격 증명 풀 인증 역할 오류

로그인할 수 있지만, OpenSearch Dashboards가 보이지 않는다면 다음과 같은 오류가 나타날 수 있습니다.

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

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

1.    Amazon Cognito 콘솔로 이동합니다.

2.    [자격 증명 풀 관리]를 선택합니다.

3.    콘솔 오른쪽 상단 모서리에서 [자격 증명 풀 편집]을 선택합니다.

4.    인증된 역할을 OpenSearch Service 도메인 액세스 정책에 추가합니다.

참고: 인증된 사용자에 대해 리소스 기반 정책을 사용하는 것이 좋습니다. 인증된 역할은 Dashboards에 대한 Amazon Cognito 인증을 제어합니다. 그러므로 도메인 액세스 정책에서 다른 리소스를 제거하지 마세요.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?