OpenSearch Access Control
FGAC는 세분화된 접근 제어를 통해 보안을 강화하고 최소 권한 원칙을 지원합니다.
OpenSearch 세분화된 엑세스를 통한 접근 제어
FGAC(Fine-Grained Access Control)를 사용하면 IAM 역할, 사용자 속성, 데이터 자체에 설정된 권한 등을 기반으로 접근 권한을 부여할 수 있습니다. 특히 필드 레벨, 문서 레벨까지 세분화된 접근 제어가 가능하여 특정 사용자에게 특정 필드 또는 문서에 대한 접근 권한만 부여할 수 있습니다. 이를 통해 로그를 적재하는 컨테이너에 최소 권한을 할당할 수 있고, 컨테이너가 수행하는 작업에 필요한 리소스에 대한 접근만 허용하여 보안을 강화할 수 있습니다
추가로 세분화된 엑세스 제어를 설정하였으므로, OpenSearch 내부에서 관련 권한을 추가로 설정해주어야합니다. Amazon OpenSearch Service는 데이터를 안전하게 보호하기 위해 3단계 계층으로 구성된 보안 모델을 제공합니다.
각 계층은 다음과 같은 역할을 수행합니다.
1. 네트워크 계층:
- OpenSearch Service 도메인에 대한 접근을 제어하는 첫 번째 관문입니다.
- 퍼블릭 액세스: 인터넷에 연결된 모든 클라이언트가 도메인에 접근할 수 있도록 허용합니다.
- VPC 액세스: Virtual Private Cloud(VPC) 내부의 클라이언트만 도메인에 접근할 수 있도록 제한합니다. VPC 및 보안 그룹 설정을 통해 접근을 더욱 세밀하게 제어할 수 있습니다.
2. 도메인 액세스 정책 계층:
- OpenSearch 도메인 자체에 대한 접근 권한을 제어합니다.
- 리소스 기반 액세스 정책을 사용하여 특정 사용자, 역할 또는 IP 주소가 도메인의 특정 리소스(예: 인덱스, 문서)에 접근할 수 있는지 여부를 정의합니다.
- OpenSearch에 요청이 도달하기 전에 "경계"에서 접근을 허용하거나 거부합니다.
3. 세분화된 액세스 제어 계층:
- OpenSearch 도메인 내에서 데이터에 대한 접근을 세밀하게 제어합니다.
- 사용자 자격 증명을 평가하여 인증하고, 사용자에게 할당된 역할에 따라 권한을 부여합니다.
- 역할 기반 액세스 제어를 통해 인덱스, 문서, 필드 수준까지 세분화된 접근 제어를 구현할 수 있습니다.
세 계층은 서로 연동하여 작동하며, OpenSearch Service 도메인에 대한 포괄적인 보안을 제공합니다.
예를 들어, VPC 액세스를 통해 특정 VPC 내의 클라이언트만 도메인에 접근하도록 제한하고, 도메인 액세스 정책을 통해 특정 IP 주소 범위의 접근을 차단하며, 세분화된 액세스 제어를 통해 특정 사용자에게 특정 문서에 대한 읽기 권한만 부여하는 등 다양한 보안 정책을 조합하여 적용할 수 있습니다.

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::759320821027:user/smileshark_bjchoi"
},
"Action": "es:*",
"Resource": "arn:aws:es:ap-northeast-2:759320821027:domain/bjchoi-opensearch/*"
}
]
}