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

4분 분량
0

OpenSearch Dashboards에 액세스하고 Amazon OpenSearch Service 도메인에서 Amazon Cognito 인증을 사용하고 싶습니다. 하지만 오류가 발생하거나 로그인 문제가 발생합니다.

해결 방법

OpenSearch Dashboards URL을 입력할 때 로그인 페이지가 나타나지 않음

다음과 같은 이유로 로그인 페이지가 나타나지 않을 수 있습니다.

  • 로컬 시스템의 IP 주소가 Dashboards에 액세스할 수 있도록 허용하는 IP 기반 도메인 액세스 정책을 사용했습니다. 이 문제를 해결하려면 도메인 액세스 정책에 Amazon Cognito 인증 역할을 추가하십시오.
  • 요청에 서명할 권한이 있는 AWS Identity and Access Management(IAM) 역할을 사용했습니다. 이 문제를 해결하려면 프록시 방법을 사용하여 요청에 서명하지 마십시오.
  • OpenSearch Service 도메인은 가상 프라이빗 클라우드(VPC)에 있으므로 도메인에는 오픈 액세스 정책이 적용됩니다. 도메인이 VPC에 있는 경우 Dashboards에 액세스하기 위해 Amazon Cognito 인증이 필요하지 않습니다.
    참고: Amazon Cognito 인증을 요구하려면 도메인 액세스 정책을 변경하십시오.

Amazon Cognito 인증을 통해 OpenSearch Dashboards로그인 페이지로 리디렉션되지만 로그인할 수 없다면 Amazon Cognito를 잘못 구성한 것입니다. 이 오류를 해결하려면 다음 작업을 수행하십시오.

“Missing Role” 오류

OpenSearch Service 도메인의 OpenSearch Dashboards에서 세분화된 액세스 제어를 활성화한 경우 다음 오류가 발생할 수 있습니다.

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

이 문제를 해결하려면 Amazon Cognito ID 풀이 수임하는 역할이 지정된 기본 사용자의 IAM 역할과 일치하는지 확인하십시오.

기본 사용자의 IAM 역할을 수임된 Amazon Cognito 역할과 일치시키려면 다음 단계를 완료하십시오.

  1. OpenSearch Service 콘솔을 엽니다.
  2. 탐색 창의Managed clusters(관리형 클러스터)에서 Domains(도메인)를 선택합니다.
  3. Actions(작업)를 선택합니다.
  4. Edit security configuration(보안 구성 편집)을 선택합니다.
  5. Fine-grained access control(세분화된 액세스 제어)에서 기본 사용자로 Set IAM role(IAM 역할 설정)을 선택합니다. Amazon Cognito 인증 역할의 ARN을 지정해야 합니다.
  6. (선택 사항) 기본 사용자의 ARN을 모르는 경우 기본 사용자를 수정하여 새 IAM ARN을 지정하십시오.
  7. Submit(제출)을 선택합니다.

잘못된 ID 풀 구성 오류

Amazon Cognito에 인증된 사용자의 IAM 역할을 수임할 권한이 없는 경우 다음 오류가 발생할 수 있습니다.

"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: #####-####-####-####-#####)"

이 문제를 해결하려면 IAM 역할의 신뢰 관계를 수정하십시오.

다음 단계를 완료하십시오.

  1. Amazon IAM 콘솔을 엽니다.

  2. Roles(역할)를 선택합니다.

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

  4. Trust relationships(신뢰 관계) 탭을 선택합니다.

  5. Edit trust relationship(신뢰 관계 편집)을 선택합니다. Amazon Cognito ID 풀이 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. Update trust policy(신뢰 정책 업데이트)를 선택합니다.

자세한 내용은 튜토리얼: IAM 마스터 사용자와 Amazon Cognito 인증을 사용하여 도메인 구성을 참조하십시오

페이지 요청 시 오류 발생

앱 클라이언트 설정에서 콜백 URL 또는 사용자 지정 엔드포인트를 잘못 구성한 경우 다음 오류가 발생할 수 있습니다.

"An error was encountered with the requested page"

앱 클라이언트 설정을 올바르게 구성했는지 확인하려면 다음 단계를 완료하십시오.

  1. Amazon Cognito 콘솔을 엽니다.

  2. Manage user pools(사용자 풀 관리)를 선택합니다.

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

  4. App integration(앱 통합)의 App client(앱 클라이언트) 메뉴에서 OpenSearch 앱 클라이언트를 선택합니다.

  5. 콜백 URL로그아웃 URL을 올바르게 구성했는지 확인하십시오.

    URL 예시:

    <dashboards-endpoint>/_dashboards/app/home

    사용자 지정 엔드포인트가 활성화된 도메인의 URL 예시:

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

"CognitoIdentityCredentials is not authorized to perform" 오류 발생

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

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

기본적으로 ID 풀의 인증된 IAM 역할에는 Dashboards 액세스에 필요한 권한이 포함되지 않습니다. 인증된 역할의 이름을 찾아 OpenSearch Service 액세스 정책에 추가하려면 다음 단계를 완료하십시오.

  1. Amazon Cognito 콘솔을 엽니다.
  2. Manage identity pools(ID 풀 관리)를 선택합니다.
  3. Edit identity pool(ID 풀 편집)을 선택합니다.
  4. OpenSearch Service 도메인 액세스 정책에 인증된 역할을 추가합니다.

참고: 인증된 사용자에게는 리소스 기반 정책을 사용하는 것이 가장 좋습니다. 인증된 역할은 특히 OpenSearch Dashboards에 대한 Amazon Cognito 인증을 제어합니다.

관련 정보

일반적인 구성 문제

AWS 공식
AWS 공식업데이트됨 한 달 전
댓글 없음