

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

# OpenSearch Service 요청 작성 및 서명
<a name="managedomains-signing-service-requests"></a>

완전 개방형 리소스 기반 액세스 정책을 구성하는 경우에도 OpenSearch Service 구성 API에 대한 *모든* 요청에 서명해야 합니다. 정책에서 IAM 역할 또는 사용자를 지정하는 경우 OpenSearch APIs에 대한 요청도 AWS 서명 버전 4를 사용하여 서명해야 합니다. 서명 메서드는 API에 따라 다음과 같이 다릅니다.
+ OpenSearch Service 구성 API를 호출할 때는 [AWS SDK](https://docs.aws.amazon.com/sdkref/latest/guide/overview.html) 중에서 한 가지를 사용하는 것이 바람직합니다. SDK는 프로세스를 대폭 간소화할 뿐만 아니라 사용자 자신의 요청을 생성한 후 서명을 추가할 때와 비교하여 시간을 크게 절감할 수 있습니다. 구성 API 엔드포인트는 다음 형식을 사용합니다.

  ```
  es.{{region}}.amazonaws.com/2021-01-01/
  ```

  예를 들어 다음 요청은 `movies` 도메인의 구성을 변경하지만, 사용자가 직접 서명해야 합니다(권장하지 않음).

  ```
  POST https://es.{{us-east-1}}.amazonaws.com/2021-01-01/opensearch/domain/{{movies}}/config
  {
    "ClusterConfig": {
      "InstanceType": "c5.xlarge.search"
    }
  }
  ```

  SDK 중 하나를 사용하면(예: [Boto 3](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/opensearch.html#OpenSearchService.Client.update_domain_config)) SDK가 서명하여 자동으로 요청을 처리합니다.

  ```
  import boto3
  
  client = boto3.client(es)
  response = client.update_domain_config(
    DomainName='{{movies}}',
    ClusterConfig={
      'InstanceType': 'c5.xlarge.search'
    }
  )
  ```

  Java 코드 샘플의 경우 [AWS SDKs를 사용하여 Amazon OpenSearch Service와 상호 작용](configuration-samples.md) 섹션을 참조하세요.
+ OpenSearch API를 호출할 때는 사용자 자신의 요청에 서명이 필요합니다. OpenSearch API는 다음 형식을 사용합니다.

  ```
  {{domain-id}}.{{region}}.es.amazonaws.com
  ```

  예를 들어 다음 요청은 `movies` 인덱스에서 *thor*를 검색합니다.

  ```
  GET https://{{my-domain}}.{{us-east-1}}.es.amazonaws.com/movies/_search?q=thor
  ```

**참고**  
서명 버전 4로 서명된 HTTP POST 요청을 위해 URL로 전달된 파라미터는 무시됩니다.