

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

# 자습서: Amazon OpenSearch Serverless에서 보안 시작하기(콘솔)
<a name="gsg-serverless"></a>

이 자습서에서는 Amazon OpenSearch Serverless 콘솔을 사용하여 보안 정책을 생성하고 관리합니다.

이 자습서에서는 다음 단계를 완료합니다.

1. [권한 구성](#gsgpermissions)

1. [암호화 정책 생성](#gsg-encryption)

1. [네트워크 정책 생성](#gsg-network)

1. [데이터 액세스 정책 구성](#gsg-data-access)

1. [컬렉션 생성](#gsgcreate-collection)

1. [데이터 업로드 및 검색](#gsgindex-collection)

이 자습서에서는를 사용하여 컬렉션을 설정하는 방법을 보여줍니다 AWS Management Console. 를 사용하는 것과 동일한 단계는 단원을 AWS CLI참조하십시오[자습서: Amazon OpenSearch Serverless에서 보안 시작하기(CLI)](gsg-serverless-cli.md).

## 1단계: 권한 구성
<a name="gsgpermissions"></a>

**참고**  
`Action":"aoss:*"` 또는 `Action":"*"`과 같은 보다 광범위한 자격 증명 기반 정책을 이미 사용 중인 경우 이 단계를 건너뛸 수 있습니다. 그러나 프로덕션 환경에서는 최소 권한 원칙을 따르고 작업을 완료하는 데 필요한 최소 권한만 할당합니다.

이 튜토리얼을 완료하려면 올바른 IAM 권한이 있어야 합니다. 사용자 또는 역할에는 다음과 같은 최소 권한이 포함된 연결된 [자격 증명 기반 정책](security-iam-serverless.md#security-iam-serverless-id-based-policies)이 있어야 합니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "aoss:ListCollections",
        "aoss:BatchGetCollection",
        "aoss:CreateCollection",
        "aoss:CreateSecurityPolicy",
        "aoss:GetSecurityPolicy",
        "aoss:ListSecurityPolicies",
        "aoss:CreateAccessPolicy",
        "aoss:GetAccessPolicy",
        "aoss:ListAccessPolicies"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
```

------

OpenSearch Serverless 권한의 전체 목록은 [Amazon OpenSearch Serverless에 대한 Identity and Access Management](security-iam-serverless.md) 섹션을 참조하세요.

## 2단계: 암호화 정책 생성
<a name="gsg-encryption"></a>

[암호화 정책은](serverless-encryption.md) OpenSearch Serverless가 컬렉션을 암호화하는 데 사용하는 키를 지정합니다 AWS KMS . AWS 관리형 키 또는 다른 키로 컬렉션을 암호화할 수 있습니다. 이 자습서에서는 간소화를 위해 로 컬렉션을 암호화합니다 AWS 관리형 키.

**암호화 정책 생성하기**

1. [https://console.aws.amazon.com/aos/home](https://console.aws.amazon.com/aos/home ) Amazon OpenSearch Service 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **Serverless**(서버리스)를 확장하고 **Encryption policies**(암호화 정책)를 선택합니다.

1. **Create encryption policy**(암호화 정책 생성)를 선택합니다.

1. 정책 이름을 `books-policy`로 지정합니다. 설명에를 입력합니다`Encryption policy for books collection`.

1. **리소스**에 컬렉션 이름을 `books`지정하는를 입력합니다. 더 넓은 범위를 원한다면 별표(`books*`)를 포함하여 정책이 "books"라는 단어로 시작하는 모든 컬렉션에 적용되도록 할 수 있습니다.

1. **암호화의** 경우 ** AWS 소유 키 사용을** 선택한 상태로 둡니다.

1. **생성(Create)**을 선택합니다.

## 3단계: 네트워크 정책 생성
<a name="gsg-network"></a>

[네트워크 정책](serverless-network.md)은 퍼블릭 네트워크에서 인터넷을 통해 컬렉션에 액세스할 수 있는지 또는 OpenSearch Serverless 관리형 VPC 엔드포인트를 통해 액세스해야 하는지 여부를 결정합니다. 이 자습서에서는 퍼블릭 액세스를 구성합니다.

**네트워크 정책 생성하기**

1. 왼쪽 탐색 창에서 **Network policies**(네트워크 정책)를 선택한 후 **Create network policy**(네트워크 정책 생성)를 선택합니다.

1. 정책 이름을 `books-policy`로 지정합니다. 설명에를 입력합니다`Network policy for books collection`.

1. **규칙 1**에서 규칙의 이름을 로 지정합니다`Public access for books collection`.

1. 이 자습서에서는 간소화를 위해 *책* 컬렉션에 대한 퍼블릭 액세스를 구성합니다. 액세스 유형으로 **Public**(퍼블릭)을 선택합니다.

1. OpenSearch Dashboards에서 컬렉션에 액세스합니다. 이렇게 하려면 Dashboards *및* OpenSearch 엔드포인트에 대한 네트워크 액세스를 구성해야 합니다. 그렇지 않으면 Dashboards가 작동하지 않습니다.

   리소스 유형의 경우 **Access to OpenSearch endpoints**(OpenSearch 엔드포인트에 대한 액세스)와 **Access to OpenSearch Dashboards**(OpenSearch Dashboards에 대한 액세스)를 모두 활성화합니다.

1. 두 입력 상자에 모두를 입력합니다`Collection Name = books`. 이 설정은 단일 컬렉션(`books`)에만 적용되도록 정책의 범위를 축소합니다. 규칙은 다음과 같아야 합니다.  
![컬렉션 또는 접두사 용어 선택에 대한 두 개의 입력 필드를 보여주는 검색 인터페이스로, 둘 다 "책"으로 설정됩니다.](http://docs.aws.amazon.com/ko_kr/opensearch-service/latest/developerguide/images/serverless-tutorial-network.png)

1. **생성(Create)**을 선택합니다.

## 4단계: 데이터 액세스 정책 생성
<a name="gsg-data-access"></a>

데이터 액세스를 구성할 때까지 컬렉션 데이터에 액세스할 수 없습니다. [데이터 액세스 정책](serverless-data-access.md)은 1단계에서 구성한 IAM 자격 증명 기반 정책과는 별개입니다. 이를 통해 사용자는 컬렉션 내의 실제 데이터에 액세스할 수 있습니다.

이 자습서에서는 데이터를 *책* 컬렉션으로 인덱싱하는 데 필요한 권한을 단일 사용자에게 제공합니다.

**데이터 액세스 정책 생성하기**

1. 왼쪽 탐색 창에서 **Data access policies**(데이터 액세스 정책)를 선택하고 **Create access policy**(액세스 정책 생성)를 선택합니다.

1. 정책 이름을 `books-policy`로 지정합니다. 설명에를 입력합니다`Data access policy for books collection`.

1. 정책 정의 방법으로 **JSON**을 선택하고 JSON 편집기에 다음 정책을 붙여 넣습니다.

   보안 주체 ARN을 OpenSearch Dashboards에 로그인하고 데이터를 인덱싱하는 데 사용하는 계정의 ARN으로 바꿉니다.

   ```
   [
      {
         "Rules":[
            {
               "ResourceType":"index",
               "Resource":[
                  "index/books/*"
               ],
               "Permission":[
                  "aoss:CreateIndex",
                  "aoss:DescribeIndex", 
                  "aoss:ReadDocument",
                  "aoss:WriteDocument",
                  "aoss:UpdateIndex",
                  "aoss:DeleteIndex"
               ]
            }
         ],
         "Principal":[
            "arn:aws:iam::{{123456789012}}:{{user}}/{{my-user}}"
         ]
      }
   ]
   ```

   이 정책은 단일 사용자에게 **books(책) 컬렉션에서 인덱스를 생성하고, 일부 데이터를 인덱싱하고, 검색하는 데 필요한 최소 권한을 제공합니다.

1. **생성(Create)**을 선택합니다.

## 5단계: 컬렉션 생성
<a name="gsgcreate-collection"></a>

암호화 및 네트워크 정책을 구성했으므로 이제 해당 정책과 일치하는 컬렉션을 생성할 수 있습니다. OpenSearch Serverless는 보안 설정을 자동으로 적용합니다.

**OpenSearch Serverless 컬렉션 생성하기**

1. 왼쪽 탐색 창에서 **Collections**(컬렉션)를 선택하고 **Create collection**(컬렉션 생성)을 선택합니다.

1. 아직 Classic에 있지 않은 경우 **서버리스 생성** 필드에서 Classic으로 전환을 선택합니다. **** 

1. 컬렉션 이름에를 입력합니다`books`.

1. 컬렉션 유형에서 **Search**(검색)를 선택합니다.

1. **Encryption**(암호화)에서 OpenSearch Serverless는 컬렉션 이름이 `books-policy` 암호화 정책과 일치한다고 알려줍니다.

1. **Network access settings**(네트워크 액세스 설정)에서 OpenSearch Serverless는 컬렉션 이름이 `books-policy` 네트워크 정책과 일치한다고 알려줍니다.

1. **다음**을 선택합니다.

1. **Data access policy options**(데이터 액세스 정책 옵션)에서 OpenSearch Serverless는 컬렉션 이름이 `books-policy` 데이터 액세스 정책과 일치한다고 알려줍니다.

1. **다음**을 선택합니다.

1. **OpenSearch UI 구성**에서 컬렉션에 대한 OpenSearch 애플리케이션 및 워크스페이스를 구성합니다. **기존 OpenSearch 애플리케이션 선택** 또는 **새 OpenSearch 애플리케이션 생성을** 선택하고 워크스페이스를 선택하거나 생성합니다. **다음**을 선택합니다.

1. 컬렉션 구성을 검토하고 **Submit**(제출)을 선택합니다. 컬렉션을 초기화하는 데 보통 1분도 채 걸리지 않습니다.

**참고**  
이 자습서에서는 Classic 컬렉션 생성 흐름을 사용하여 컬렉션 생성 중에 사전 구성된 보안 정책이 자동으로 매칭되는 방법을 보여줍니다. NextGen 흐름을 사용하여 컬렉션을 생성하는 방법에 대한 자세한 내용은 섹션을 참조하세요[컬렉션 생성](serverless-create.md).

## 6단계: 데이터 업로드 및 검색
<a name="gsgindex-collection"></a>

Postman 또는 curl을 사용하여 OpenSearch Serverless 컬렉션에 데이터를 업로드할 수 있습니다. 간결하게 하기 위해 이러한 예시는 OpenSearch Dashboards 콘솔의 **Dev Tools**(개발 도구)를 사용합니다.

**컬렉션의 데이터를 인덱싱하고 검색하기**

1. 왼쪽 탐색 창에서 **Collections**(컬렉션)를 선택하고 **books**(책) 컬렉션을 선택하여 세부 정보 페이지를 엽니다.

1. 컬렉션에 대한 OpenSearch Dashboards URL을 선택합니다. URL은 `https://{{collection-id}}.us-east-1.aoss.amazonaws.com/_dashboards` 형식을 취합니다.

1. 데이터 액세스 정책에서 지정한 보안 주체의 [AWS 액세스 및 보안 키](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-appendix-sign-up.html)를 사용하여 OpenSearch Dashboards에 로그인합니다.

1. OpenSearch Dashboards에서 왼쪽 탐색 메뉴를 열고 **Dev Tools**(개발 도구)를 선택합니다.

1. **books-index라는 단일 인덱스를 생성하려면 다음 명령을 실행합니다.

   ```
   PUT books-index{{ }}
   ```  
![OpenSearch JSON 응답이 포함된 books-index에 대한 PUT 요청을 보여주는 대시보드 콘솔입니다.](http://docs.aws.amazon.com/ko_kr/opensearch-service/latest/developerguide/images/serverless-createindex.png)

1. **books-index라는 단일 문서를 인덱싱하려면 다음 명령을 실행합니다.

   ```
   PUT books-index/_doc/1
   { 
     "title": "The Shining",
     "author": "Stephen King",
     "year": 1977
   }
   ```

1. OpenSearch Dashboards에서 데이터를 검색하려면 하나 이상의 인덱스 패턴을 구성해야 합니다. OpenSearch는 이러한 패턴을 사용하여 분석할 인덱스를 식별하기 때문입니다. Dashboards 주 메뉴를 열고 **스택 관리(Stack Management)**를 선택하고 **인덱스 패턴(Index Patterns)**을 선택한 다음 **인덱스 패턴 생성(Create index pattern)**을 선택합니다. 이 자습서에서는 **books-index를 입력하세요.

1. **다음 단계(Next step)**를 선택한 후 **인덱스 패턴 생성(Create index pattern)**을 선택합니다. 패턴이 생성되면 `author`, `title`와 같은 다양한 문서 필드를 볼 수 있습니다.

1. 데이터 검색을 시작하려면 기본 메뉴를 다시 열고 **Discover**(발견)를 선택하거나 [검색 API](https://opensearch.org/docs/latest/opensearch/rest-api/search/)를 사용합니다.