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

최종 업데이트 날짜: 2022년 3월 10일

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

해결 방법

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

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

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

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 인증을 제어합니다. 그러므로 도메인 액세스 정책에서 다른 리소스를 제거하지 마세요.


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


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