OpenSearch Dashboards에 대한 Amazon Cognito 인증 구성 - 아마존 OpenSearch 서비스

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

OpenSearch Dashboards에 대한 Amazon Cognito 인증 구성

Amazon Cognito를 사용하여 OpenSearch Dashboards의 Amazon OpenSearch Service 기본 설치를 인증하고 보호할 수 있습니다. Amazon Cognito 인증은 선택 사항이며 OpenSearch 또는 Elasticsearch 5.1 이상을 사용하는 도메인에서만 사용할 수 있습니다. Amazon Cognito 인증을 구성하지 않은 경우에도 IP 기반 액세스 정책프록시 서버, HTTP 기본 인증 또는 SAML을 사용하여 Dashboards를 보호할 수 있습니다.

인증 프로세스의 많은 부분은 Amazon Cognito에서 진행되지만 이 섹션에서 OpenSearch Service 도메인과 호환되도록 Amazon Cognito 리소스를 구성하는 지침과 요건을 알려드립니다. 표준 요금은 모든 Amazon Cognito 리소스에 적용됩니다.

작은 정보

OpenSearch Dashboards에 대해 Amazon Cognito 인증을 사용하도록 도메인을 처음 구성할 때는 콘솔을 사용하는 것이 좋습니다. Amazon Cognito 리소스는 사용자 지정 기능이 뛰어나며, 콘솔은 사용자에게 중요한 기능을 식별하고 이해하는 데 도움이 됩니다.

필수 조건

OpenSearch Dashboards에 대한 Amazon Cognito 인증을 구성하기 전에 충족해야 하는 사전 조건이 여럿 있습니다. OpenSearch Service 콘솔은 이런 리소스의 생성을 간소화해 주지만, 각 리소스의 목적을 이해해야 구성과 문제 해결에 도움이 됩니다. Dashboards에 대한 Amazon Cognito 인증에는 다음 리소스가 필요합니다.

  • Amazon Cognito 사용자 풀

  • Amazon Cognito 자격 증명 풀

  • AmazonOpenSearchServiceCognitoAccess 정책이 연결된 IAM 역할(CognitoAccessForAmazonOpenSearch)

참고

사용자 풀과 자격 증명 풀은 동일한 AWS 리전에 있어야 합니다. 동일한 사용자 풀과 자격 증명 풀 및 IAM 역할을 이용해 여러 OpenSearch Service 도메인에 Dashboards에 대한 Amazon Cognito 인증을 추가할 수 있습니다. 자세한 내용은 할당량 섹션을 참조하세요.

사용자 풀 소개

사용자 풀의 주된 기능은 사용자 디렉터리를 만들고 관리하는 것과 사용자가 가입하고 로그인하게 하는 것 두 가지입니다. 사용자 풀 생성에 대한 지침은 Amazon Cognito 개발자 가이드에서 사용자 풀 설정을 참조하세요.

OpenSearch Service에 사용할 사용자 풀을 생성할 때는 다음 사항을 고려하세요.

  • Amazon Cognito 사용자 풀에 도메인 이름이 있어야 합니다. OpenSearch Service는 이 도메인 이름을 사용해 사용자를 Dashboards에 액세스하는 로그인 페이지로 리디렉션합니다. 사용자 풀은 도메인 이름 외에 다른 기본값이 아닌 구성은 필요하지 않습니다.

  • 풀의 필수 표준 속성(이름, 생년월일, 이메일 주소 및 전화번호 등)을 지정해야 합니다. 사용자 풀을 만든 후에는 이런 속성을 변경할 수 없으므로 이때 중요한 속성을 선택해야 합니다.

  • 사용자 풀을 만드는 동안 사용자가 자기 계정을 만들 수 있는지 여부, 계정 암호의 최소 강도, 멀티 팩터 인증 활성화 여부 등을 선택하십시오. 외부 자격 증명 공급자를 이용할 계획이라면 이런 설정은 중요하지 않습니다. 기술적으로는 사용자 풀을 자격 증명 공급자로도 사용할 수 있고 동시에 외부 자격 증명 공급자로도 사용할 수 있지만, 대부분은 어느 한쪽을 선호합니다.

사용자 풀 ID는 region_ID의 형식입니다. AWS CLI 또는 AWS SDK로 OpenSearch Service를 구성할 생각이라면 ID를 기록해 둡니다.

자격 증명 풀 소개

자격 증명 풀을 사용하면 로그인 후 제한적 권한의 임시 역할을 사용자에게 할당할 수 있습니다. 사용자 풀 생성에 대한 지침은 Amazon Cognito 개발자 안내서자격 증명 풀을 참조하세요. OpenSearch Service에 사용할 자격 증명 풀을 생성할 때는 다음 사항을 고려하세요.

  • Amazon Cognito 콘솔을 사용할 경우 인증되지 않은 자격 증명에 대한 액세스 활성화(Enable access to unauthenticated identities) 확인란을 선택해야 자격 증명 풀을 만들 수 있습니다. 자격 증명 풀을 만들고 OpenSearch Service 도메인을 구성하고 나면 Amazon Cognito에서 이 설정을 비활성화합니다.

  • 자격 증명 풀에 외부 자격 증명 공급자를 추가할 필요는 없습니다. Amazon Cognito 인증을 사용하려고 OpenSearch Service를 구성할 때는 방금 만든 사용자 풀을 사용할 자격 증명 풀을 구성합니다.

  • 자격 증명 풀을 만든 다음에는 인증 및 인증되지 않은 IAM 역할을 선택해야 합니다. 이러한 역할은 로그인 전후 사용자의 액세스 정책을 지정합니다. Amazon Cognito 콘솔을 사용하는 경우 이런 역할이 자동으로 생성됩니다. 인증 역할을 만든 후에는 ARN을 기록해 둡니다. arn:aws:iam::123456789012:role/Cognito_identitypoolnameAuth_Role의 형식입니다.

자격 증명 풀 ID는 region:ID-ID-ID-ID-ID의 형식입니다. AWS CLI 또는 AWS SDK로 OpenSearch Service를 구성할 생각이라면 ID를 기록해 둡니다.

CognitoAccessForAmazonOpenSearch 역할 정보

OpenSearch Service는 권한이 있어야 Amazon Cognito 사용자와 자격 증명 풀을 구성하고 이것들을 인증에 사용할 수 있습니다. 이 목적을 위한 AWS 관리형 정책인 AmazonOpenSearchServiceCognitoAccess를 사용할 수 있습니다. AmazonESCognitoAccess는 서비스가 Amazon OpenSearch Service로 이름이 바뀌었을 때 AmazonOpenSearchServiceCognitoAccess로 대체된 레거시 정책입니다. 두 정책 모두 Cognito 인증 활성화에 필요한 최소의 Amazon Cognito 권한을 제공합니다. 정책 JSON에 대한 자세한 내용은 IAM 콘솔을 참조하세요.

콘솔을 사용해 OpenSearch Service 도메인을 생성하거나 구성할 경우 IAM 역할이 자동으로 생성되며 역할에 AmazonOpenSearchServiceCognitoAccess 정책(Elasticsearch 도메인인 경우 AmazonESCognitoAccess 정책)이 연결됩니다. 이 역할의 기본 이름은 CognitoAccessForAmazonOpenSearch입니다.

역할 허가 정책 AmazonOpenSearchServiceCognitoAccessAmazonESCognitoAccess는 모든 자격 증명 및 사용자 풀에서 다음 작업을 완료할 수 있도록 OpenSearch Service를 지원합니다.

  • 작업: cognito-idp:DescribeUserPool

  • 작업: cognito-idp:CreateUserPoolClient

  • 작업: cognito-idp:DeleteUserPoolClient

  • 작업: cognito-idp:UpdateUserPoolClient

  • 작업: cognito-idp:DescribeUserPoolClient

  • 작업: cognito-idp:AdminInitiateAuth

  • 작업: cognito-idp:AdminUserGlobalSignOut

  • 작업: cognito-idp:ListUserPoolClients

  • 작업: cognito-identity:DescribeIdentityPool

  • 작업: cognito-identity:SetIdentityPoolRoles

  • 작업: cognito-identity:GetIdentityPoolRoles

AWS CLI 혹은 AWS SDK 중 하나를 이용하는 경우에는 OpenSearch Service 도메인을 구성할 때 사용자가 직접 역할을 생성하고 정책을 연결하며 이 역할에 대한 ARN을 지정해야 합니다. 역할은 다음과 같은 신뢰 관계를 맺고 있어야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "opensearchservice.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

지침은 IAM 사용 설명서에서 AWS 서비스에 대한 권한을 위임할 역할 생성IAM 정책 연결 및 분리를 참조하세요.

Amazon Cognito 인증을 사용하도록 도메인 구성

사전 조건을 마친 후 Dashboards에 Amazon Cognito를 사용하기 위해 OpenSearch Service 도메인을 구성할 수 있습니다.

참고

일부 AWS 리전에서는 Amazon Cognito를 사용할 수 없습니다. 지원되는 리전의 목록은 AWS 리전 및 엔드포인트를 참조하세요. OpenSearch Service에 사용한 것과 똑같은 Amazon Cognito 리전을 사용할 필요는 없습니다.

Amazon Cognito 인증 구성(콘솔)

콘솔에서는 CognitoAccessForAmazonOpenSearch 역할이 자동으로 생성되기 때문에 구성하기가 가장 간단합니다. 콘솔로 OpenSearch Dashboards에 대한 Amazon Cognito 인증을 사용하는 도메인을 만들려면 표준 OpenSearch Service 권한 외에도 다음과 같은 권한 모음이 있어야 합니다.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:DescribeVpcs", "cognito-identity:ListIdentityPools", "cognito-idp:ListUserPools", "iam:CreateRole", "iam:AttachRolePolicy" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole" ], "Resource": "arn:aws:iam::123456789012:role/service-role/CognitoAccessForAmazonOpenSearch" } ] }

자격 증명 (사용자, 사용자 그룹 또는 역할) 에 권한을 추가하는 방법은 IAM 자격 증명 권한 추가(콘솔)를 참조하세요.

CognitoAccessForAmazonOpenSearch가 이미 존재한다면 다음과 같이 더 적은 권한만 필요합니다.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:DescribeVpcs", "cognito-identity:ListIdentityPools", "cognito-idp:ListUserPools" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole" ], "Resource": "arn:aws:iam::123456789012:role/service-role/CognitoAccessForAmazonOpenSearch" } ] }
Dashboards에 대한 Amazon Cognito 인증을 구성하려면(콘솔)
  1. https://console.aws.amazon.com/aos/home/에서 Amazon OpenSearch Service 콘솔을 엽니다.

  2. [도메인(Domains)]에서 구성할 도메인을 선택합니다.

  3. [작업(Actions)], [보안 구성 편집(Edit security configuration)]을 선택합니다.

  4. Amazon Cognito 인증 활성화(Enable Amazon Cognito authentication)를 선택합니다.

  5. Region(리전)의 경우 Amazon Cognito 사용자 풀과 자격 증명 풀이 포함된 AWS 리전을 선택합니다.

  6. [Cognito 사용자 풀(Cognito user pool)]에서 사용자 풀을 하나 선택하거나 만듭니다. 자세한 지침은 사용자 풀 소개 섹션을 참조하세요.

  7. [Cognito 자격 증명 풀(Cognito identity pool)]에서 자격 증명 풀을 하나 선택하거나 만듭니다. 자세한 지침은 자격 증명 풀 소개 섹션을 참조하세요.

    참고

    [사용자 풀 생성(Create user pool)] 및 [자격 증명 풀 생성(Create identity pool)] 링크는 Amazon Cognito 콘솔로 연결되며, 이런 리소스를 수동으로 만들어야 합니다. 이 프로세스는 자동이 아닙니다. 자세한 내용은 필수 조건 섹션을 참조하세요.

  8. [IAM 역할 이름(IAM role name)]의 경우 기본값 CognitoAccessForAmazonOpenSearch를 사용(권장)하거나 새 이름을 입력합니다. 이 역할의 목적을 자세히 알아보려면 CognitoAccessForAmazonOpenSearch 역할 정보 섹션을 참조하세요.

  9. Save changes(변경 사항 저장)를 선택합니다.

도메인이 처리를 마친 후 추가 구성 단계는 인증된 역할 허용자격 증명 공급자 구성 섹션을 참조하세요.

Amazon Cognito 인증 구성(AWS CLI)

OpenSearch Service 도메인을 구성하려면 --cognito-options 파라미터를 사용합니다. 다음 구문은 create-domainupdate-domain-config 명령 둘 다에서 사용됩니다.

--cognito-options Enabled=true,UserPoolId="user-pool-id",IdentityPoolId="identity-pool-id",RoleArn="arn:aws:iam::123456789012:role/CognitoAccessForAmazonOpenSearch"

다음은 CognitoAccessForAmazonOpenSearch 역할을 이용하여 Dashboards에 Amazon Cognito 인증을 사용하는 도메인을 us-east-1 리전에 만들어 Cognito_Auth_Role에 도메인 액세스를 제공하는 예입니다.

aws opensearch create-domain --domain-name my-domain --region us-east-1 --access-policies '{ "Version":"2012-10-17", "Statement":[{"Effect":"Allow","Principal":{"AWS": ["arn:aws:iam::123456789012:role/Cognito_Auth_Role"]},"Action":"es:ESHttp*","Resource":"arn:aws:es:us-east-1:123456789012:domain/*" }]}' --engine-version "OpenSearch_1.0" --cluster-config InstanceType=m4.xlarge.search,InstanceCount=1 --ebs-options EBSEnabled=true,VolumeSize=10 --cognito-options Enabled=true,UserPoolId="us-east-1_123456789",IdentityPoolId="us-east-1:12345678-1234-1234-1234-123456789012",RoleArn="arn:aws:iam::123456789012:role/CognitoAccessForAmazonOpenSearch"

도메인이 처리를 마친 후 추가 구성 단계는 인증된 역할 허용자격 증명 공급자 구성 섹션을 참조하세요.

Amazon Cognito 인증 구성(AWS SDK)

AWS SDK(Android 및 iOS SDK 제외)는 CreateDomainUpdateDomainConfig 작업에 대한 CognitoOptions 파라미터를 비롯하여 Amazon OpenSearch Service API 참조에 정의된 모든 작업을 지원합니다. AWS SDK 설치 및 사용에 대한 자세한 내용은 AWS 소프트웨어 개발 키트를 참조하세요.

도메인이 처리를 마친 후 추가 구성 단계는 인증된 역할 허용자격 증명 공급자 구성 섹션을 참조하세요.

인증된 역할 허용

기본적으로 자격 증명 풀 소개의 지침에 따라 구성한 인증된 IAM 역할은 OpenSearch Dashboards 액세스에 필요한 권한이 없습니다. 역할에 추가 권한을 부여해야 합니다.

참고

세분화된 액세스 제어를 구성하고 “개방형” 또는 IP 기반 액세스 정책을 사용하는 경우 이 단계를 건너뛸 수 있습니다.

자격 증명 기반 정책에 이런 권한을 포함할 수도 있지만 인증된 사용자가 모든 OpenSearch Service 도메인에 액세스할 권한을 원하는 경우가 아니라면 리소스 기반 정책을 도메인 하나에 연결하는 것이 더 나은 접근 방식입니다.

Principal의 경우 자격 증명 풀 소개의 지침에 따라 구성한 Cognito 인증 역할의 ARN을 지정합니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "AWS":[ "arn:aws:iam::123456789012:role/Cognito_identitypoolnameAuth_Role" ] }, "Action":[ "es:ESHttp*" ], "Resource":"arn:aws:es:region:123456789012:domain/domain-name/*" } ] }

OpenSearch Service 도메인에 리소스 기반 정책을 추가하는 방법에 대한 자세한 내용은 액세스 정책 구성 섹션을 참조하세요.

자격 증명 공급자 구성

Dashboards에 Amazon Cognito 인증을 사용하려고 도메인을 구성할 때, OpenSearch Service는 사용자 풀에 앱 클라이언트를 추가하고 그 사용자 풀을 자격 증명 풀에 인증 공급자로 추가합니다.

주의

앱 클라이언트의 이름을 바꾸거나 삭제하지 마세요.

사용자 풀을 어떻게 구성했느냐에 따라 사용자 계정을 수동으로 만들어야 할 수도 있고, 사용자가 직접 자신의 계정을 만들게 할 수도 있습니다. 이러한 설정이 허용되는 경우 추가 조치가 필요 없습니다. 그러나 외부 자격 증명 공급자 사용을 선호하는 사람들이 많습니다.

SAML 2.0 자격 증명 공급자를 활성화하려면 SAML 메타데이터 문서를 제공해야 합니다. Login with Amazon, Facebook, Google 같은 소셜 자격 증명 공급자를 사용하려면 이런 공급자들에게서 받은 앱 ID와 앱 암호를 가지고 있어야 합니다. 자격 증명 공급자는 자유롭게 조합하여 사용할 수 있습니다.

사용자 풀을 구성하는 가장 쉬운 방법은 Amazon Cognito 콘솔을 사용하는 것입니다. 지침은 Amazon Cognito 개발자 안내서에서 사용자 풀에서 연동 사용사용자 풀 앱에 대한 자격 증명 공급자 설정 지정을 참조하세요.

(선택 사항) 세분화된 액세스 구성

기본 자격 증명 풀 설정은 로그인한 모든 사용자를 동일한 IAM 역할(Cognito_identitypoolAuth_Role)에 할당한다는 사실을 눈치채셨을 것입니다. 다시 말해 모든 사용자는 동일한 AWS 리소스에 액세스할 수 있습니다. Amazon Cognito에서 세분화된 액세스 제어를 사용하려는 경우, 예를 들어 조직의 분석가가 여러 인덱스에 대한 읽기 전용 액세스 권한을 갖도록 하고 개발자는 모든 인덱스에 대한 쓰기 권한을 갖도록 하려면 다음 두 가지 옵션이 있습니다.

  • 사용자 그룹을 생성하고 자격 증명 공급자가 사용자 인증 토큰을 기반으로 IAM 역할을 선택하도록 구성합니다(권장).

  • 자격 증명 공급자가 하나 이상의 규칙을 기반으로 IAM 역할을 선택하도록 구성합니다.

세분화된 액세스 제어가 포함된 시연은 자습서: IAM 마스터 사용자 및 Amazon Cognito 인증을 사용하여 도메인 구성 섹션을 참조하세요.

중요

기본 역할과 마찬가지로 Amazon Cognito는 각 추가 역할의 신뢰 관계에 속해야 합니다. 자세한 내용은 Amazon Cognito 개발자 안내서역할 매핑을 위한 역할 만들기를 참조하세요.

사용자 그룹과 토큰

사용자 그룹을 생성할 때 그 그룹의 구성원에 대한 IAM 역할을 선택합니다. 그룹 생성에 대한 자세한 내용은 Amazon Cognito 개발자 안내서사용자 그룹을 참조하세요.

사용자 그룹을 하나 이상 만든 후 인증 공급자를 구성하여 사용자에게 자격 증명 풀의 기본 역할 대신 그룹 역할을 할당할 수 있습니다. 토큰으로부터 역할 선택(Choose role from token)을 선택한 다음, 기본 인증된 역할 사용(Use default Authenticated role) 또는 거부(DENY) 중 하나를 선택하여 자격 증명 풀이 그룹의 일부가 아닌 사용자를 취급하는 방식을 지정합니다.

규칙

규칙은 기본적으로 Amazon Cognito가 순차적으로 평가하는 일련의 if문입니다. 예를 들어 사용자의 이메일 주소에 @corporate이 포함된 경우, Amazon Cognito는 그 사용자를 Role_A로 할당합니다. 사용자의 이메일 주소에 @subsidiary가 포함된 경우에는 해당 사용자를 Role_B로 할당합니다. 그렇지 않은 경우 사용자에게 기본 인증된 역할을 할당합니다.

자세한 내용은 Amazon Cognito 개발자 안내서규칙 기반 매핑을 사용하여 사용자에게 역할 할당을 참조하세요.

(선택 사항) 로그인 페이지 사용자 지정

Amazon Cognito 콘솔의 UI 사용자 지정 페이지에서 사용자 지정 로고를 업로드하고 로그인 페이지에 CSS를 변경할 수 있습니다. CSS 속성의 지침과 전체 목록은 Amazon Cognito 개발자 안내서사용자 풀에 대한 앱 UI 사용자 지정 설정 지정을 참조하세요.

(선택 사항) 고급 보안 구성

Amazon Cognito 사용자 풀은 멀티 팩터 인증, 손상된 자격 증명 확인, 조정 인증과 같은 어드밴스 보안 기능을 지원합니다. 자세한 내용은 Amazon Cognito 개발자 안내서보안 관리를 참조하세요.

테스트

구성에 만족하면 사용자 경험이 기대에 부합하는지 확인하세요.

OpenSearch Dashboards에 액세스하려면
  1. 웹 브라우저에서 https://opensearch-domain/_dashboards로 이동합니다. 특정 테넌트에 직접 로그인하려면 URL에 ?security_tenant=tenant-name을 추가하세요.

  2. 선호하는 자격 증명을 사용하여 로그인합니다.

  3. OpenSearch Dashboards가 로드되면 인덱스 패턴을 한 개 이상 구성합니다. Dashboards는 이러한 패턴을 사용하여 분석할 인덱스를 식별하기 때문입니다. *를 입력하고 다음 단계(Next step)를 선택한 후 인덱스 패턴 생성(Create index pattern)을 선택합니다.

  4. 데이터를 검색하거나 탐색하려면 검색(Discover)을 선택합니다.

이 과정의 어느 단계든 실패하면 일반적인 구성 문제에서 문제 해결 정보를 확인하세요.

할당량

Amazon Cognito에는 다양한 리소스에 대한 소프트웨어 제한이 있습니다. 많은 수의 OpenSearch Service 도메인에 Dashboards 인증을 사용하려면 Amazon Cognito의 할당량을 확인하고 필요에 따라 한도 증가를 요청합니다.

각 OpenSearch Service 도메인은 사용자 풀에 앱 클라이언트를 추가하여 자격 증명 풀에 인증 공급자를 추가합니다. 10개 이상의 도메인에 OpenSearch Dashboards 인증을 사용할 경우 "자격 인증 풀당 최대 Amazon Cognito 사용자 풀 공급자" 제한에 걸릴 수도 있습니다. 제한을 초과할 경우 Dashboards에 Amazon Cognito 인증을 사용하려고 구성을 시도하는 모든 OpenSearch Service 도메인은 처리 중(Processing) 구성 상태에 고착될 수 있습니다.

일반적인 구성 문제

다음 표는 일반적인 구성 문제와 해결책 목록입니다.

OpenSearch Service 구성
문제 솔루션

OpenSearch Service can't create the role(콘솔)

올바른 IAM 권한이 없습니다. Amazon Cognito 인증 구성(콘솔)에 지정된 권한을 추가하세요.

User is not authorized to perform: iam:PassRole on resource CognitoAccessForAmazonOpenSearch(콘솔)

CognitoAccessForAmazonOpenSearch 역할에 대한 iam:PassRole 권한이 없습니다. 사용자 계정에 다음 정책을 연결합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::123456789012:role/service-role/CognitoAccessForAmazonOpenSearch" } ] }

또는 IAMFullAccess 정책을 연결할 수 있습니다.

User is not authorized to perform: cognito-identity:ListIdentityPools on resource

Amazon Cognito에 대한 읽기 권한이 없습니다. 사용자 계정에 AmazonCognitoReadOnly 정책을 연결하세요.

An error occurred (ValidationException) when calling the CreateDomain operation: OpenSearch Service must be allowed to use the passed role

OpenSearch Service가 CognitoAccessForAmazonOpenSearch 역할의 신뢰 관계에 지정되지 않았습니다. 역할이 CognitoAccessForAmazonOpenSearch 역할 정보에 지정된 신뢰 관계를 사용하는지 확인하세요. 또는 콘솔을 이용해 Amazon Cognito 인증을 구성하세요. 콘솔에서 자동으로 역할을 만들어줍니다.

An error occurred (ValidationException) when calling the CreateDomain operation: User is not authorized to perform: cognito-idp:action on resource: user pool

--cognito-options에 지정된 역할에 Amazon Cognito 액세스 권한이 없습니다. 역할에 AWS 관리형 AmazonOpenSearchServiceCognitoAccess 정책이 연결되었는지 확인하세요. 또는 콘솔을 이용해 Amazon Cognito 인증을 구성하세요. 콘솔에서 자동으로 역할을 만들어줍니다.
An error occurred (ValidationException) when calling the CreateDomain operation: User pool does not exist

OpenSearch Service에서 사용자 풀을 찾을 수 없습니다. 자격 증명 풀을 생성했고 ID가 올바른지 확인합니다. ID를 찾으려면 Amazon Cognito 콘솔을 이용하거나 다음 AWS CLI 명령을 이용합니다.

aws cognito-idp list-user-pools --max-results 60 --region region

An error occurred (ValidationException) when calling the CreateDomain operation: IdentityPool not found

OpenSearch Service에서 자격 증명 풀을 찾을 수 없습니다. 자격 증명 풀을 생성했고 ID가 올바른지 확인합니다. ID를 찾으려면 Amazon Cognito 콘솔을 이용하거나 다음 AWS CLI 명령을 이용합니다.

aws cognito-identity list-identity-pools --max-results 60 --region region

An error occurred (ValidationException) when calling the CreateDomain operation: Domain needs to be specified for user pool

사용자 풀에 도메인 이름이 없습니다. Amazon Cognito 콘솔 또는 다음 AWS CLI 명령을 이용해 도메인 이름을 구성할 수 있습니다.
aws cognito-idp create-user-pool-domain --domain name --user-pool-id id
OpenSearch Dashboards 액세스
문제 솔루션
로그인 페이지에 선호하는 자격 증명 공급자가 보이지 않습니다.

자격 증명 공급자 구성에 지정한 대로 OpenSearch Service 앱 클라이언트에 자격 증명 공급자를 활성화했는지 확인합니다.

로그인 페이지가 나의 조직과 연결된 것처럼 보이지 않습니다.

(선택 사항) 로그인 페이지 사용자 지정 섹션을 참조하세요.

나의 로그인 자격 증명이 통하지 않습니다.

자격 증명 공급자 구성에 지정한 대로 자격 증명 공급자를 구성했는지 확인합니다.

사용자 풀을 자격 증명 공급자로 사용하는 경우 해당 계정이 존재하고 Amazon Cognito 콘솔의 사용자 및 그룹 페이지에서 확인되는지 확인합니다.

OpenSearch Dashboards가 전혀 로드되지 않거나 제대로 작동하지 않습니다.

Amazon Cognito 인증된 역할이 Dashboards에 액세스하고 사용하려면 그 도메인(/*)에 대한 es:ESHttp* 권한이 필요합니다. 인증된 역할 허용에 지정된 대로 액세스 정책을 추가했는지 확인합니다.

한 탭에서 OpenSearch Dashboards에서 로그아웃하면 나머지 탭에 새로 고침 토큰이 취소되었다는 메시지가 표시됩니다.

Amazon Cognito 인증을 사용하는 동안 OpenSearch Dashboards 세션에서 로그아웃하면 OpenSearch Service는 AdminUserGlobalSignout 작업을 실행하여 모든 활성 OpenSearch Dashboards 세션에서 로그아웃합니다.

Invalid identity pool configuration. Check assigned IAM roles for this pool. 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" } } }] }
Token is not from a supported provider of this identity pool. 이 일반적인 오류는 사용자 풀에서 앱 클라이언트를 삭제할 때 발생합니다. 새 브라우저 세션에서 Dashboards를 열어 보세요.

OpenSearch Dashboards에 대한 Amazon Cognito 인증 비활성화

다음 절차에 따라 Dashboards에 대한 Amazon Cognito 인증을 비활성화합니다.

Dashboards에 대한 Amazon Cognito 인증을 비활성화하려면(콘솔)
  1. https://console.aws.amazon.com/aos/home/에서 Amazon OpenSearch Service 콘솔을 엽니다.

  2. Domains(도메인)에서 구성할 도메인을 선택합니다.

  3. [작업(Actions)], [보안 구성 편집(Edit security configuration)]을 선택합니다.

  4. Amazon Cognito 인증 활성화(Enable Amazon Cognito authentication)를 선택 취소합니다.

  5. Save changes(변경 사항 저장)를 선택합니다.

중요

Amazon Cognito 사용자 풀과 자격 증명 풀이 더 이상 필요하지 않으면 삭제합니다. 그러지 않으면 계속 요금이 부과됩니다.

OpenSearch Dashboards에 대한 Amazon Cognito 인증을 사용하는 도메인 삭제

Dashboards에 Amazon Cognito 인증을 사용하는 도메인이 Processing(처리 중) 구성 상태에서 멈춰있지 않도록 하려면, OpenSearch Service 도메인을 먼저 삭제한 다음 연결된 Amazon Cognito 사용자 및 자격 증명 풀을 삭제해야 합니다.