도메인에 대한 Amazon OpenSearch Ingestion 파이프라인 액세스 권한 부여 - Amazon OpenSearch 서비스

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

도메인에 대한 Amazon OpenSearch Ingestion 파이프라인 액세스 권한 부여

Amazon OpenSearch Ingestion 파이프라인에는 싱크로 구성된 OpenSearch Service 도메인에 쓸 수 있는 권한이 필요합니다. 액세스를 제공하려면 파이프라인이 데이터를 보내는 도메인에 대해 액세스를 제한하는 제한적인 권한 정책을 사용하여 AWS Identity and Access Management (IAM) 역할을 구성하세요. 예를 들어 수집 파이프라인을 사용 사례를 지원하는 데 필요한 도메인과 인덱스로만 제한할 수 있습니다.

파이프라인 구성에서 역할을 지정하기 전에 적절한 신뢰 관계로 역할을 구성한 다음, 여기에 도메인 액세스 정책 내의 도메인에 대한 액세스를 부여해야 합니다.

1단계: 파이프라인 역할 생성

파이프라인 구성의 sts_role_arn 파라미터에 지정하는 역할에는 도메인 싱크로 데이터를 전송할 수 있는 권한 정책이 첨부되어 있어야 합니다. 또한 OpenSearch Ingestion이 그 역할을 수임할 수 있도록 하는 신뢰 관계도 있어야 합니다. 정책을 역할에 연결하는 지침은 IAM 사용 설명서IAM 자격 증명 권한 추가를 참조하세요.

다음 샘플 정책은 단일 도메인에 쓸 수 있도록 파이프라인 구성의 sts_role_arn 역할에서 제공할 수 있는 최소 권한을 보여줍니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:*:your-account-id:domain/*" }, { "Effect": "Allow", "Action": "es:ESHttp*", "Resource": "arn:aws:es:*:your-account-id:domain/domain-name/*" } ] }

역할을 재사용하여 여러 도메인에 쓸 계획이라면 도메인 이름을 와일드카드 문자(*)로 대체하여 정책을 더 광범위하게 적용할 수 있습니다.

역할에는 다음과 같은 신뢰 관계가 있어야 합니다. 그러면 OpenSearch Ingestion이 파이프라인 역할을 맡을 수 있습니다.

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

혼동된 대리자 문제로부터 자신을 보호하기 위하여 aws:SourceAccountaws:SourceArn 조건 키를 정책에 추가할 것을 권장합니다. 파이프라인 소유자의 소스 계정입니다.

예를 들어 정책에 다음 조건 블록을 추가할 수 있습니다.

"Condition": { "StringEquals": { "aws:SourceAccount": "your-account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:osis:region:your-account-id:pipeline/*" } }

2단계: 도메인 액세스 정책에 파이프라인 역할 포함

파이프라인이 도메인에 데이터를 쓰려면 도메인에 sts_role_arn 파이프라인 역할이 도메인에 액세스할 수 있도록 허용하는 도메인 수준 액세스 정책이 있어야 합니다.

다음 샘플 도메인 액세스 정책은 이전 단계에서 생성한 pipeline-role이라는 파이프라인 역할을 사용하여 ingestion-domain이라는 도메인에 데이터를 쓸 수 있도록 허용합니다.

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

3단계: 파이프라인 역할 매핑(세분화된 액세스 제어를 사용하는 도메인에만 해당)

도메인에서 인증에 세분화된 액세스 제어를 사용하는 경우 도메인에 대한 파이프라인 액세스 권한을 제공하기 위해 수행해야 하는 추가 단계가 있습니다. 단계는 도메인 구성에 따라 다릅니다.

시나리오 1: 다른 마스터 역할 및 파이프라인 역할 — IAM Amazon 리소스 이름(ARN)을 마스터 사용자로 사용하고 있고 이것이 파이프라인 역할(sts_role_arn)과 다른 경우, 파이프라인 역할을 OpenSearch all_access 백엔드 역할에 매핑해야 합니다. 이렇게 하면 기본적으로 파이프라인 역할이 추가 마스터 사용자로 추가됩니다. 자세한 내용은 추가 마스터 사용자를 참조하세요.

시나리오 2: 내부 사용자 데이터베이스의 마스터 사용자 - 도메인에서 내부 사용자 데이터베이스의 마스터 사용자와 OpenSearch Dashboard의 HTTP 기본 인증을 사용하는 경우 마스터 사용자 이름과 비밀번호를 파이프라인 구성으로 직접 전달할 수 없습니다. 대신 파이프라인 역할(sts_role_arn)을 OpenSearch all_access 백엔드 역할에 매핑해야 합니다. 이렇게 하면 기본적으로 파이프라인 역할이 추가 마스터 사용자로 추가됩니다. 자세한 내용은 추가 마스터 사용자를 참조하세요.

시나리오 3: 동일한 마스터 역할 및 파이프라인 역할(흔하지 않음) - IAM ARN을 마스터 사용자로 사용하고 있고 파이프라인 역할(sts_role_arn)로 사용하는 것과 동일한 ARN인 경우 추가 조치를 취할 필요가 없습니다. 파이프라인에는 도메인에 쓰는 데 필요한 권한이 있습니다. 대부분의 환경에서 관리자 역할이나 다른 역할을 마스터 역할로 사용하기 때문에 이 시나리오는 흔하지 않습니다.

다음 이미지는 파이프라인 역할을 백엔드 역할에 매핑하는 방법을 보여줍니다.

Backend roles section showing an AWSIAM role ARN for a pipeline role with a Remove option.

4단계: 파이프라인 구성에서 역할 지정

파이프라인을 성공적으로 생성하려면 1단계에서 생성한 파이프라인 역할을 파이프라인 구성의 sts_role_arn 파라미터로 지정해야 합니다. 파이프라인은 OpenSearch Service 도메인 싱크에 대한 요청에 서명하기 위해 이 역할을 맡습니다.

sts_role_arn 필드에 IAM 파이프라인 역할의 ARN을 지정합니다.

version: "2" log-pipeline: source: http: path: "/${pipelineName}/logs" processor: - grok: match: log: [ "%{COMMONAPACHELOG}" ] sink: - opensearch: hosts: [ "https://search-domain-name.us-east-1.es.amazonaws.com" ] index: "my-index" aws: region: "region" sts_role_arn: "arn:aws:iam::your-account-id:role/pipeline-role"

필수 및 미지원 파라미터에 대한 전체 참조는 Amazon OpenSearch Ingestion 파이프라인에 지원되는 플러그인 및 옵션(을)를 참조하세요.