컬렉션에 대한 액세스 권한을 Amazon OpenSearch Ingestion 파이프라인에 부여 - Amazon OpenSearch Service

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

컬렉션에 대한 액세스 권한을 Amazon OpenSearch Ingestion 파이프라인에 부여

Amazon OpenSearch Ingestion 파이프라인은 OpenSearch Serverless 퍼블릭 컬렉션 또는 VPC 컬렉션에 쓸 수 있습니다. 컬렉션에 대한 액세스를 제공하려면 컬렉션에 대해 액세스를 부여하는 권한 정책을 사용하여 AWS Identity and Access Management(IAM) 파이프라인 역할을 구성합니다. 파이프라인 구성에서 역할을 지정하기 전에 적절한 신뢰 관계로 역할을 구성한 다음, 데이터 액세스 정책을 통해 데이터 액세스 권한을 부여해야 합니다.

파이프라인 생성 중에 OpenSearch Ingestion은 파이프라인과 OpenSearch Serverless 컬렉션 간 AWS PrivateLink 연결을 생성합니다. 파이프라인의 모든 트래픽은 이 VPC 엔드포인트를 통과하여 컬렉션으로 라우팅됩니다. 컬렉션에 도달하려면 네트워크 액세스 정책을 통해 컬렉션에 대한 액세스 권한을 엔드포인트에 부여해야 합니다.

OpenSearch Ingestion pipeline connecting to OpenSearch Serverless collection via PrivateLink VPC endpoint.

파이프라인에 대한 네트워크 액세스 제공

OpenSearch Serverless에서 생성하는 각 컬렉션에는 하나 이상의 네트워크 액세스 정책이 연결되어 있습니다. 네트워크 액세스 정책은 퍼블릭 네트워크에서 인터넷을 통해 컬렉션에 액세스할 수 있는지 아니면 프라이빗 액세스로 액세스해야 하는지 여부를 결정합니다. 네트워크 정책에 대한 자세한 내용은 Amazon OpenSearch Serverless에 대한 네트워크 액세스 섹션을 참조하세요.

네트워크 액세스 정책 내에서 OpenSearch Serverless 관리형 VPC 엔드포인트만 지정할 수 있습니다. 자세한 내용은 인터페이스 엔드포인트(AWS PrivateLink)를 사용하여 Amazon OpenSearch Serverless에 액세스 단원을 참조하십시오. 그러나 파이프라인에서 컬렉션에 쓰려면 OpenSearch Ingestion이 파이프라인과 컬렉션 간에 자동으로 생성하는 VPC 엔드포인트에 대한 액세스 권한도 정책에 부여해야 합니다. 따라서 OpenSearch Serverless 컬렉션 싱크가 있는 파이프라인을 생성할 때 network_policy_name 옵션을 사용하여 연결된 네트워크 정책의 이름을 제공해야 합니다.

예:

... sink: - opensearch: hosts: [ "https://collection-id.region.aoss.amazonaws.com" ] index: "my-index" aws: serverless: true serverless_options: network_policy_name: "network-policy-name"

파이프라인 생성 중에 OpenSearch Ingestion은 지정된 네트워크 정책이 있는지 확인합니다. 존재하지 않는 경우 OpenSearch Ingestion에서 생성합니다. 존재하는 경우 OpenSearch Ingestion은 새 규칙을 추가하여 업데이트합니다. 이 규칙에서 파이프라인과 컬렉션을 연결하는 VPC 엔드포인트에 대한 액세스 권한을 부여합니다.

예:

{ "Rules":[ { "Resource":[ "collection/my-collection" ], "ResourceType":"collection" } ], "SourceVPCEs":[ "vpce-0c510712627e27269" # The ID of the VPC endpoint that OpenSearch Ingestion creates between the pipeline and collection ], "Description":"Created by Data Prepper" }

콘솔에서 OpenSearch Ingestion이 네트워크 정책에 추가하는 모든 규칙의 이름은 Data Prepper에서 생성됨으로 지정됩니다.

Configuration details for OpenSearch endpoint access, including VPC endpoint and resources.
참고

일반적으로 컬렉션에 대한 퍼블릭 액세스를 지정하는 규칙은 프라이빗 액세스를 지정하는 규칙을 재정의합니다. 따라서 정책에 이미 퍼블릭 액세스가 구성된 경우 OpenSearch Ingestion이 추가하는 이 새 규칙은 실제로 정책의 동작을 변경하지 않습니다. 자세한 내용은 정책 우선순위 단원을 참조하십시오.

파이프라인을 중지하거나 삭제하면 OpenSearch Ingestion은 파이프라인과 컬렉션 사이의 VPC 엔드포인트를 삭제합니다. 또한 허용된 엔드포인트 목록에서 VPC 엔드포인트를 제거하도록 네트워크 정책을 수정합니다. 파이프라인을 다시 시작하면 VPC 엔드포인트가 다시 생성되고 네트워크 정책이 엔드포인트 ID로 다시 업데이트됩니다.

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

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

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

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "aoss:APIAccessAll", "aoss:BatchGetCollection", "aoss:CreateSecurityPolicy", "aoss:GetSecurityPolicy", "aoss:UpdateSecurityPolicy" ], "Resource": "*" } ] }

OpenSearch Ingestion이 역할을 수임할 수 있도록 하는 다음 신뢰 관계가 있어야 합니다.

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

2단계: 컬렉션 생성

다음 설정을 사용하여 OpenSearch Serverless 컬렉션을 생성합니다. 컬렉션 생성 지침은 컬렉션 생성 섹션을 참조하세요.

데이터 액세스 정책

파이프라인 역할에 필요한 권한을 부여하는 컬렉션에 대한 데이터 액세스 정책을 생성합니다. 예:

[ { "Rules": [ { "Resource": [ "index/collection-name/*" ], "Permission": [ "aoss:CreateIndex", "aoss:UpdateIndex", "aoss:DescribeIndex", "aoss:WriteDocument" ], "ResourceType": "index" } ], "Principal": [ "arn:aws:iam::account-id:role/pipeline-role" ], "Description": "Pipeline role access" } ]
참고

Principal 요소에서는 이전 단계에서 생성한 파이프라인 역할의 Amazon 리소스 이름(ARN)을 지정합니다.

네트워크 액세스 정책

컬렉션에 대한 네트워크 액세스 정책을 생성합니다. 퍼블릭 컬렉션 또는 VPC 컬렉션으로 데이터를 수집할 수 있습니다. 예를 들어 다음 정책은 단일 OpenSearch Serverless 관리형 VPC 엔드포인트에 대한 액세스를 제공합니다.

[ { "Description":"Rule 1", "Rules":[ { "ResourceType":"collection", "Resource":[ "collection/collection-name" ] } ], "AllowFromPublic": false, "SourceVPCEs":[ "vpce-050f79086ee71ac05" ] } ]
중요

파이프라인 구성의 network_policy_name 옵션 내에서 네트워크 정책 이름을 지정해야 합니다. 파이프라인 생성 시 OpenSearch Ingestion은 파이프라인과 컬렉션 사이에서 자동으로 생성하는 VPC 엔드포인트에 액세스할 수 있도록 이 네트워크 정책을 업데이트합니다. 파이프라인 구성 예제는 3단계를 참조하세요. 자세한 내용은 파이프라인에 대한 네트워크 액세스 제공 단원을 참조하십시오.

3단계: 파이프라인 생성

마지막으로 파이프라인 역할 및 컬렉션 세부 정보를 지정하는 파이프라인을 생성합니다. 파이프라인은 OpenSearch Serverless 컬렉션 싱크에 대한 요청에 서명하기 위해 이 역할을 맡습니다.

다음을 수행하세요.

  • hosts 옵션의 경우 2단계에서 생성한 컬렉션의 엔드포인트를 지정합니다.

  • sts_role_arn 옵션의 경우, 1단계에서 생성한 파이프라인 역할의 Amazon 리소스 이름(ARN)을 지정합니다.

  • 옵션을 serverless 설정하세요true.

  • network_policy_name 옵션을 컬렉션에 연결된 네트워크 정책 이름으로 설정합니다. OpenSearch Ingestion은 파이프라인과 컬렉션 사이에서 생성하는 VPC에서 액세스할 수 있도록 이 네트워크 정책을 자동으로 업데이트합니다. 자세한 내용은 파이프라인에 대한 네트워크 액세스 제공 단원을 참조하십시오.

version: "2" log-pipeline: source: http: path: "/log/ingest" processor: - date: from_time_received: true destination: "@timestamp" sink: - opensearch: hosts: [ "https://collection-id.region.aoss.amazonaws.com" ] index: "my-index" aws: serverless: true serverless_options: network_policy_name: "network-policy-name" # If the policy doesn't exist, a new policy is created. region: "us-east-1" sts_role_arn: "arn:aws:iam::account-id:role/pipeline-role"

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