Amazon OpenSearch Service 클러스터에서 액세스 제어 오류가 발생했습니다. 액세스 제어 오류를 해결하려면 어떻게 해야 합니까?
간략한 설명
OpenSearch Service 클러스터에서 다음과 같은 세분화된 액세스 제어(FGAC) 오류 중 하나가 발생할 수 있습니다.
- "security_exception", "reason":"no permissions" 403 오류("security_exception","reason":"no permissions" 403 errors)
- "사용자: 다음에 대한 익명 수행 권한이 없습니다. iam:PassRole(User: anonymous is not authorized to perform: iam:PassRole)"
- "Elasticsearch 검색 데이터를 찾을 수 없음(Couldn’t find any Elasticsearch data)"
- 401 권한 없음 오류(401 unauthorized errors)
이 문서에서는 이러한 오류를 해결하는 것 외에도 OpenSearch Service를 사용하여 다음 작업을 완료하는 방법을 보여줍니다.
- 세분화된 액세스 제어가 활성화된 경우 다른 AWS 서비스를 OpenSearch Service와 통합
- 세분화된 액세스 제어를 사용하여 익명 액세스 허용
- 사용자 테넌시를 기반으로 특정 인덱스, 대시보드 및 시각화에 대한 세분화된 액세스 제공
- 현장 수준에서 세분화된 액세스 제어 사용
해결 방법
"security_exception", "reason":"no permissions" 403 오류("security_exception","reason":"no permissions" 403 errors)
이 오류를 해결하려면 먼저 OpenSearch Service 클러스터의 사용자 또는 백엔드 역할에 필요한 권한이 있는지 확인합니다. 그런 다음 사용자 또는 백엔드 역할을 역할에 매핑합니다.
"사용자: 다음에 대한 익명 수행 권한이 없습니다. iam:PassRole(User: anonymous is not authorized to perform: iam:PassRole)"
수동 스냅샷을 등록하려고 할 때 이 오류가 나타날 수 있습니다. 수동 스냅샷을 등록하는 데 사용한 Amazon Identity and Access Management(IAM) 역할에 필요한 일반 권한뿐만 아니라manage_snapshots 역할을 IAM 역할에 매핑해야 합니다. 그런 다음 해당 IAM 역할을 사용하여 서명된 요청을 도메인에 보냅니다.
"Elasticsearch 검색 데이터를 찾을 수 없음(Couldn’t find any Elasticsearch data)"
OpenSearch Service 버전 7.9로 업그레이드한 후 인덱스 패턴을 생성하려고 할 때 이 오류가 나타날 수 있습니다. FGAC 사용 클러스터에서 인덱스 패턴을 만들 때 resolve index API를 사용하여 모든 인덱스 및 별칭에 'indices:admin/resolve/index'를 추가합니다. 이 권한이 없으면 OpenSearch Service에서 403 오류 상태 코드가 발생합니다. 그런 다음 OpenSearch 대시보드의 500 오류 상태 코드에 매핑됩니다. 따라서 인덱스가 나열되지 않습니다.
401 권한 없음 오류(401 unauthorized errors)
curl -u “user:password” 를 사용하는 기본 자격 증명에 “$” 또는 “!”를 사용하면 401 권한 없음 오류가 발생할 수 있습니다. 다음 예와 같이 보안 인증을 작은 따옴표로 묶어야 합니다.
curl -u <DOMAIN-ENDPOINT>
세분화된 액세스 제어가 활성화된 경우 다른 AWS 서비스를 OpenSearch Service와 통합
세분화된 액세스 제어가 활성화된 경우 다른 AWS 서비스를 OpenSearch Service와 통합하려면 해당 서비스에 대한 IAM 역할에 적절한 권한을 부여해야 합니다. 자세한 내용은 세분화된 액세스 제어와 통합 사용에 대한 다음 설명서를 참조하세요.
세분화된 액세스 제어를 사용하여 익명 액세스 허용
OpenSearch Service의 관리 특성으로 인해 현재 익명 액세스는 지원되지 않습니다.
사용자 테넌시를 기반으로 특정 인덱스, 대시보드 및 시각화에 대한 세분화된 액세스 제공
특정 인덱스 또는 대시보드에 FGAC 액세스를 제공하려면 테넌트의 Kibana 인덱스에 대한 권한이 있는 역할에 사용자를 매핑합니다.
.kibana_<hash>_<tenant_name>
자세한 내용은 Open Distro 웹 사이트에서 Kibana 인덱스 관리를 참조하세요.
현장 수준에서 세분화된 액세스 제어 사용
현장 수준에서 세분화된 액세스 제어를 사용하려면 필요한 현장 수준 보안으로 역할을 설정하세요. 그런 다음 만든 역할에 사용자를 매핑합니다.
관련 정보
Amazon OpenSearch Service에서 세분화된 액세스 제어