

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

# Amazon OpenSearch Serverless에 대한 네트워크 액세스
<a name="serverless-network"></a>

Amazon OpenSearch Serverless 컬렉션에 대한 네트워크 설정에 따라 퍼블릭 네트워크에서 인터넷을 통해 컬렉션에 액세스할 수 있는지 또는 프라이빗 액세스로 액세스해야 하는지 여부가 결정됩니다.

프라이빗 액세스는 다음 중 하나 또는 둘 다에 적용될 수 있습니다.
+ OpenSearch Serverless 관리형 VPC 엔드포인트
+ Amazon Bedrock AWS 서비스 과 같이 지원됨

컬렉션의 **OpenSearch 엔드포인트 및 해당 **OpenSearch Dashboards 엔드포인트에 대해 네트워크 액세스를 개별적으로 구성할 수 있습니다.

네트워크 액세스는 다양한 소스 네트워크에서 액세스를 허용하기 위한 격리 메커니즘입니다. 예를 들어 컬렉션의 OpenSearch 대시보드 엔드포인트에 퍼블릭 액세스로 액세스할 수 있지만 OpenSearch API 엔드포인트에는 액세스할 수 없는 경우, 사용자는 퍼블릭 네트워크에서 연결할 때 대시보드를 통해서만 컬렉션 데이터에 액세스할 수 있습니다. 퍼블릭 네트워크에서 직접 OpenSearch API를 호출하려고 하면 차단됩니다. 네트워크 설정은 이러한 소스에서 리소스 유형으로의 순열에 사용할 수 있습니다. Amazon OpenSearch Serverless는 IPv4 및 IPv6 연결을 모두 지원합니다.

**Topics**
+ [네트워크 정책](#serverless-network-policies)
+ [고려 사항](#serverless-network-considerations)
+ [네트워크 정책을 구성하는 데 필요한 권한](#serverless-network-permissions)
+ [정책 우선순위](#serverless-network-precedence)
+ [네트워크 정책 생성(콘솔)](#serverless-network-console)
+ [네트워크 정책 생성(AWS CLI)](#serverless-network-cli)
+ [네트워크 정책 보기](#serverless-network-list)
+ [네트워크 정책 업데이트](#serverless-network-update)
+ [네트워크 정책 삭제](#serverless-network-delete)

## 네트워크 정책
<a name="serverless-network-policies"></a>

네트워크 정책을 사용하면 정책에 정의된 규칙과 일치하는 컬렉션에 네트워크 액세스 설정을 자동으로 할당하여 많은 컬렉션을 대규모로 관리할 수 있습니다.

네트워크 정책에서는 일련의 **규칙을 지정합니다. 이 규칙은 컬렉션 엔드포인트 및 OpenSearch Dashboards 엔드포인트에 대한 액세스 권한을 정의합니다. 각 규칙은 액세스 유형(퍼블릭 또는 프라이빗)과 리소스 유형(컬렉션 및/또는 OpenSearch 대시보드 엔드포인트)으로 구성됩니다. 각 리소스 유형(`collection` 및 `dashboard`)에 대해 정책을 적용할 컬렉션을 정의하는 일련의 규칙을 지정합니다.

이 샘플 정책에서 첫 번째 규칙은 `marketing*` 용어로 시작하는 모든 컬렉션에서 컬렉션 엔드포인트와 대시보드 엔드포인트 모두에 대한 VPC 엔드포인트 액세스를 지정합니다. 또한 Amazon Bedrock 액세스를 지정합니다.

**참고**  
Amazon Bedrock AWS 서비스 과 같은에 대한 프라이빗 액세스는 컬렉션의 OpenSearch 엔드포인트*에만* 적용되며 OpenSearch Dashboards 엔드포인트에는 적용되지 않습니다. `ResourceType`가 인 경우에도 OpenSearch Dashboards에 대한 액세스 권한을 부여받을 수 `dashboard` AWS 서비스 없습니다.

두 번째 규칙은 `finance` 컬렉션에 대한 퍼블릭 액세스를 지정하지만 컬렉션 엔드포인트에 대해서만(Dashboards 액세스 없음) 지정합니다.

```
[
   {
      "Description":"Marketing access",
      "Rules":[
         {
            "ResourceType":"collection",
            "Resource":[
               "collection/marketing*"
            ]
         },
         {
            "ResourceType":"dashboard",
            "Resource":[
               "collection/marketing*"
            ]
         }
      ],
      "AllowFromPublic":false,
      "SourceVPCEs":[
         "vpce-050f79086ee71ac05"
      ],
      "SourceServices":[
         "bedrock.amazonaws.com"
      ],
   },
   {
      "Description":"Sales access",
      "Rules":[
         {
            "ResourceType":"collection",
            "Resource":[
               "collection/finance"
            ]
         }
      ],
      "AllowFromPublic":true
   }
]
```

이 정책은 “finance”(재무)로 시작하는 컬렉션에 대한 OpenSearch Dashboards에 대한 퍼블릭 액세스만 제공합니다. OpenSearch API에 직접 액세스하려는 모든 시도는 실패합니다.

```
[
  {
    "Description": "Dashboards access",
    "Rules": [
      {
        "ResourceType": "dashboard",
        "Resource": [
          "collection/finance*"
        ]
      }
    ],
    "AllowFromPublic": true
  }
]
```

네트워크 정책은 기존 컬렉션뿐만 아니라 향후 컬렉션에도 적용될 수 있습니다. 예를 들어 컬렉션을 만든 다음 컬렉션 이름과 일치하는 규칙을 사용하여 네트워크 정책을 생성할 수 있습니다. 컬렉션을 생성하기 전에 네트워크 정책을 먼저 생성해야 하는 것은 아닙니다.

## 고려 사항
<a name="serverless-network-considerations"></a>

컬렉션에 대한 네트워크 액세스를 구성할 때 다음 사항을 고려하세요.
+ 컬렉션에 대한 VPC 엔드포인트 액세스를 구성하려면 먼저 [OpenSearch Serverless 관리형 VPC 엔드포인트](serverless-vpc.md)를 하나 이상 생성해야 합니다.
+ 에 대한 프라이빗 액세스는 컬렉션의 OpenSearch 엔드포인트 AWS 서비스 에만 적용되며 OpenSearch Dashboards 엔드포인트에는 적용되지 않습니다. `ResourceType`가 인 경우에도 OpenSearch Dashboards에 대한 액세스 권한을 부여받을 수 `dashboard` AWS 서비스 없습니다.
+ 퍼블릭 네트워크에서 컬렉션에 액세스할 수 있는 경우 모든 OpenSearch Serverless 관리형 VPC 엔드포인트 및 모든 AWS 서비스에서도 액세스할 수 있습니다.
+ 단일 컬렉션에 여러 네트워크 정책을 적용할 수 있습니다. 자세한 내용은 [정책 우선순위](#serverless-network-precedence) 단원을 참조하십시오.

## 네트워크 정책을 구성하는 데 필요한 권한
<a name="serverless-network-permissions"></a>

OpenSearch Serverless에 대한 네트워크 액세스는 다음 AWS Identity and Access Management (IAM) 권한을 사용합니다. IAM 조건을 지정하여 사용자를 특정 컬렉션과 연결된 네트워크 정책으로 제한할 수 있습니다.
+ `aoss:CreateSecurityPolicy` – 네트워크 액세스 정책을 생성합니다.
+ `aoss:ListSecurityPolicies` – 현재 계정의 모든 네트워크 정책을 나열합니다.
+ `aoss:GetSecurityPolicy` – 네트워크 액세스 정책 사양을 봅니다.
+ `aoss:UpdateSecurityPolicy` – 주어진 네트워크 액세스 정책을 수정하고 VPC ID 또는 퍼블릭 액세스 지정을 변경합니다.
+ `aoss:DeleteSecurityPolicy` – 모든 컬렉션에서 분리된 후 네트워크 액세스 정책을 삭제합니다.

다음 자격 증명 기반 액세스 정책을 통해 사용자는 모든 네트워크 정책을 보고 리소스 패턴 `collection/application-logs`로 정책을 업데이트할 수 있습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "aoss:UpdateSecurityPolicy"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aoss:collection": "application-logs"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "aoss:ListSecurityPolicies",
                "aoss:GetSecurityPolicy"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**참고**  
또한 OpenSearch Serverless에는 컬렉션 리소스에 대한 `aoss:APIAccessAll` 및 `aoss:DashboardsAccessAll` 권한이 필요합니다. 자세한 내용은 [OpenSearch API 작업 사용](security-iam-serverless.md#security_iam_id-based-policy-examples-data-plane) 단원을 참조하십시오.

## 정책 우선순위
<a name="serverless-network-precedence"></a>

네트워크 정책 규칙이 정책 내에서 또는 정책 간에 중복되는 상황이 있을 수 있습니다. 이 경우 퍼블릭 액세스를 지정하는 규칙이 **두 규칙에 공통적인 모든 컬렉션에 대해 프라이빗 액세스를 지정하는 규칙보다 우선 적용됩니다.

예를 들어 다음 정책에서 두 규칙 모두 `finance` 컬렉션에 대한 네트워크 액세스를 할당하지만 한 규칙은 VPC 액세스를 지정하고 다른 규칙은 퍼블릭 액세스를 지정합니다. 이 상황에서 퍼블릭 액세스는 **finance(재무) 컬렉션에 대해서만 VPC 액세스를 재정의하므로(두 규칙 모두에 존재하기 때문에) 퍼블릭 네트워크에서 finance(재무) 컬렉션에 액세스할 수 있습니다. sales 컬렉션은 지정된 엔드포인트에서 VPC 액세스 권한을 가집니다.

```
[
   {
      "Description":"Rule 1",
      "Rules":[
         {
            "ResourceType":"collection",
            "Resource":[
               "collection/sales",
               "collection/finance"
            ]
         }
      ],
      "AllowFromPublic":false,
      "SourceVPCEs":[
         "vpce-050f79086ee71ac05"
      ]
   },
   {
      "Description":"Rule 2",
      "Rules":[
         {
            "ResourceType":"collection",
            "Resource":[
               "collection/finance"
            ]
         }
      ],
      "AllowFromPublic":true
   }
]
```

서로 다른 규칙의 여러 VPC 엔드포인트가 컬렉션에 적용되는 경우 규칙은 추가적으로 적용되며 지정된 모든 엔드포인트에서 컬렉션에 액세스할 수 있습니다. `AllowFromPublic`을 `true`로 설정했지만 하나 이상의 `SourceVPCEs` 또는 `SourceServices`를 제공하는 경우 OpenSearch Serverless는 VPC 엔드포인트 및 서비스 식별자를 무시하고 연결된 컬렉션에 퍼블릭 액세스 권한이 부여됩니다.

## 네트워크 정책 생성(콘솔)
<a name="serverless-network-console"></a>

네트워크 정책은 기존 컬렉션뿐만 아니라 향후 컬렉션에도 적용될 수 있습니다. 컬렉션을 생성하기 전에 네트워크 정책을 생성하는 것이 좋습니다.

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

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

1. 왼쪽 탐색 패널에서 **Serverless**(서버리스)를 확장하고 **Network policies**(네트워크 정책)를 선택합니다.

1. **Create network policy**(네트워크 정책 생성)를 선택합니다.

1. 정책의 이름 및 설명을 입력합니다.

1. 하나 이상의 **규칙을 입력합니다. 이러한 규칙은 OpenSearch Serverless 컬렉션 및 해당 OpenSearch Dashboards 엔드포인트에 대한 액세스 권한을 정의합니다.

   각 규칙에는 다음 요소가 포함됩니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/opensearch-service/latest/developerguide/serverless-network.html)

   선택한 각 리소스 유형에 대해 기존 컬렉션을 선택하여 정책 설정을 적용하거나 하나 이상의 리소스 패턴을 생성할 수 있습니다. 리소스 패턴은 접두사와 와일드카드(\$1)로 구성되며 정책 설정이 적용될 컬렉션을 정의합니다.

   예를 들어 `Marketing*`이라는 패턴을 포함하는 경우 이름이 “Marketing”으로 시작하는 새 컬렉션이나 기존 컬렉션에는 이 정책의 네트워크 설정이 자동으로 적용됩니다. 단일 와일드카드(`*`)는 모든 현재 및 향후 컬렉션에 정책을 적용합니다.

   또한 `Finance`와 같이 와일드카드 없이 **향후 컬렉션의 이름을 지정할 수 있습니다. OpenSearch Serverless는 정확히 동일한 이름으로 새로 생성된 컬렉션에 정책 설정을 적용합니다.

1. 정책 구성에 만족하면 **Create**(생성)를 선택합니다.

## 네트워크 정책 생성(AWS CLI)
<a name="serverless-network-cli"></a>

OpenSearch Serverless API 작업을 사용하여 네트워크 정책을 생성하려면 JSON 형식으로 규칙을 지정합니다. [CreateSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateSecurityPolicy.html) 요청은 인라인 정책과 .json 파일을 모두 허용합니다. 모든 컬렉션과 패턴은 `collection/<collection name|pattern>` 형식을 취해야 합니다.

**참고**  
`dashboards` 리소스 유형은 OpenSearch Dashboards에 대한 권한만 허용하지만 OpenSearch Dashboards가 작동하려면 동일한 소스의 컬렉션 액세스도 허용해야 합니다. 아래 두 번째 정책을 참조하세요.

프라이빗 액세스를 지정하려면 다음 요소 중 하나 또는 둘 다를 포함합니다.
+ `SourceVPCEs` - 하나 이상의 OpenSearch Serverless 관리형 VPC 엔드포인트를 지정합니다.
+ `SourceServices` - 지원되는 하나 이상의 식별자를 지정합니다 AWS 서비스. 현재 다음 서비스 식별자가 지원됩니다.
  + `bedrock.amazonaws.com` - Amazon Bedrock

다음 샘플 네트워크 정책은 접두사 `log*`로 시작하는 컬렉션에만 컬렉션 엔드포인트(VPC 액세스 및 Amazon Bedrock)에 대한 프라이빗 액세스 권한에 제공합니다. 인증된 사용자는 OpenSearch Dashboards에 로그인할 수 없으며 프로그래밍 방식으로만 컬렉션 엔드포인트에 액세스할 수 있습니다.

```
[
   {
      "Description":"Private access for log collections",
      "Rules":[
         {
            "ResourceType":"collection",
            "Resource":[
               "collection/log*"
            ]
         }
      ],
      "AllowFromPublic":false,
      "SourceVPCEs":[
         "vpce-050f79086ee71ac05"
      ],
      "SourceServices":[
         "bedrock.amazonaws.com"
      ],
   }
]
```

다음 정책은 `finance`라는 이름이 지정된 단일 컬렉션에 대해 OpenSearch 엔드포인트 **및 OpenSearch Dashboards에 대한 퍼블릭 액세스를 제공합니다. 컬렉션이 존재하지 않는 경우 컬렉션이 생성되면 네트워크 설정이 컬렉션에 적용됩니다.

```
[
   {
      "Description":"Public access for finance collection",
      "Rules":[
         {
            "ResourceType":"dashboard",
            "Resource":[
               "collection/finance"
            ]
         },
         {
            "ResourceType":"collection",
            "Resource":[
               "collection/finance"
            ]
         }
      ],
      "AllowFromPublic":true
   }
]
```

다음 요청은 위의 네트워크 정책을 생성합니다.

```
aws opensearchserverless create-security-policy \
    --name sales-inventory \
    --type network \
    --policy "[{\"Description\":\"Public access for finance collection\",\"Rules\":[{\"ResourceType\":\"dashboard\",\"Resource\":[\"collection\/finance\"]},{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/finance\"]}],\"AllowFromPublic\":true}]"
```

JSON 파일로 정책을 제공하려면 `--policy file://my-policy.json` 형식을 사용합니다.

## 네트워크 정책 보기
<a name="serverless-network-list"></a>

컬렉션을 생성하기 전에 계정의 기존 네트워크 정책을 미리 보고 컬렉션 이름과 일치하는 리소스 패턴을 가진 정책을 확인하는 것이 좋습니다. 다음 [ListSecurityPolicies](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListSecurityPolicies.html) 요청은 계정의 모든 네트워크 정책을 나열합니다.

```
aws opensearchserverless list-security-policies --type network
```

요청은 구성된 모든 네트워크 정책에 대한 정보를 반환합니다. 특정 정책에 정의된 패턴 규칙을 보려면 응답의 `securityPolicySummaries` 요소 내용에서 정책 정보를 찾으십시오. 이 `name` 및 `type`를 기록하고 [GetSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetSecurityPolicy.html) 요청에서 이러한 속성을 사용하여 다음 정책 세부 정보가 포함된 응답을 수신하세요.

```
{
    "securityPolicyDetail": [
        {
            "type": "network",
            "name": "my-policy",
            "policyVersion": "MTY2MzY5MTY1MDA3Ml8x",
            "policy": "[{\"Description\":\"My network policy rule\",\"Rules\":[{\"ResourceType\":\"dashboard\",\"Resource\":[\"collection/*\"]}],\"AllowFromPublic\":true}]",
            "createdDate": 1663691650072,
            "lastModifiedDate": 1663691650072
        }
    ]
}
```

특정 정책에 대한 자세한 정보를 보려면 [GetSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetSecurityPolicy.html) 명령을 사용합니다.

## 네트워크 정책 업데이트
<a name="serverless-network-update"></a>

네트워크에 대한 VPC 엔드포인트 또는 퍼블릭 액세스 지정을 수정하면 연결된 모든 컬렉션이 영향을 받습니다. OpenSearch Serverless 콘솔에서 네트워크 정책을 업데이트하려면 **Network policies**(네트워크 정책)를 확장하고 수정할 정책을 선택한 다음 **Edit**(편집)를 선택합니다. 변경하고 **Save**(저장)를 선택합니다.

OpenSearch Serverless API를 사용하여 네트워크 정책을 업데이트하려면 [UpdateSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateSecurityPolicy.html) 명령을 사용합니다. 요청에 정책 버전을 포함해야 합니다. `ListSecurityPolicies` 또는`GetSecurityPolicy` 명령을 사용하여 정책 버전을 검색할 수 있습니다. 최신 정책 버전을 포함하면 다른 사람이 변경한 내용을 실수로 재정의하지 않습니다.

다음 요청은 새 정책 JSON 문서로 네트워크 정책을 업데이트합니다.

```
aws opensearchserverless update-security-policy \
    --name sales-inventory \
    --type network \
    --policy-version MTY2MzY5MTY1MDA3Ml8x \
    --policy file://my-new-policy.json
```

## 네트워크 정책 삭제
<a name="serverless-network-delete"></a>

네트워크 정책을 삭제하려면 먼저 네트워크 정책을 모든 컬렉션에서 분리해야 합니다. OpenSearch Serverless 콘솔에서 정책을 삭제하려면 정책을 선택하고 **Delete**(삭제)를 선택합니다.

[DeleteSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_DeleteSecurityPolicy.html) 명령을 사용할 수도 있습니다.

```
aws opensearchserverless delete-security-policy --name my-policy --type network
```