

# 보안 정책을 변경하는 방법
<a name="apigateway-security-policies-update"></a>

API의 보안 정책을 변경할 수 있습니다. 사용자 지정 도메인 이름을 통해 API로 트래픽을 전송하는 경우 API와 사용자 지정 도메인 이름은 동일한 보안 정책을 가질 필요가 없습니다. 해당 사용자 지정 도메인 이름을 간접적으로 호출하면 API Gateway는 API의 보안 정책을 사용하여 TLS 핸드셰이크를 협상합니다. 그러나 일관성을 위해 사용자 지정 도메인 이름 및 API에 동일한 보안 정책을 사용하는 것이 좋습니다.

보안 정책을 변경하는 경우 업데이트가 완료되는 데 약 15분이 걸립니다. API의 `apiStatus`를 모니터링할 수 있습니다. API가 업데이트되면 `apiStatus`는 `UPDATING`이고 완료되면 `AVAILABLE`이 됩니다. API를 업데이트할 때도 API를 간접적으로 호출할 수 있습니다.

------
#### [ AWS Management Console ]

**API의 보안 정책 변경**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway)에서 API Gateway 콘솔에 로그인합니다.

1. REST API를 선택합니다.

1. **API 설정**을 선택한 다음 **편집**을 선택합니다.

1. **보안 정책**에서 `SecurityPolicy_`로 시작하는 새 정책을 선택합니다.

1. **엔드포인트 액세스 모드**에서 **엄격**을 선택합니다.

1. **변경 사항 저장**을 선택합니다.

   변경 사항을 적용하려면 API를 재배포합니다. 엔드포인트 액세스 모드를 엄격으로 변경했으므로 변경 사항이 완전히 전파되는 데 약 15분이 걸립니다.

------
#### [ AWS CLI ]

다음 [update-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-rest-api.html) 명령은 `SecurityPolicy_TLS13_1_3_2025_09` 보안 정책을 사용하도록 API를 업데이트합니다.

```
aws apigateway update-rest-api \
    --rest-api-id abcd1234 \
    --patch-operations '[
        {
            "op": "replace",
            "path": "/securityPolicy",
            "value": "SecurityPolicy_TLS13_1_3_2025_09"
        }, 
        {
            "op": "replace",
            "path": "/endpointAccessMode",
            "value": "STRICT"
        }
    ]'
```

출력은 다음과 같습니다.

```
{
    "id": "abcd1234",
    "name": "MyAPI",
    "description": "My API with a new security policy",
    "createdDate": "2025-02-04T11:47:06-08:00",
    "apiKeySource": "HEADER",
    "endpointConfiguration": {
        "types": [
            "REGIONAL"
        ],
        "ipAddressType": "dualstack"
    },
    "tags": {},
    "disableExecuteApiEndpoint": false,
    "securityPolicy": "SecurityPolicy_TLS13_1_3_2025_09",
    "endpointAccessMode": "STRICT"
    "rootResourceId": "efg456"
}
```

다음 [update-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-rest-api.html) 명령은 보안 정책을 사용하기 위해 향상된 보안 `TLS_1_0` 정책을 사용하는 API를 업데이트합니다.

```
aws apigateway update-rest-api \
    --rest-api-id abcd1234 \
    --patch-operations '[
        {
            "op": "replace",
            "path": "/securityPolicy",
            "value": "TLS_1_0"
        }, 
        {
            "op": "replace",
            "path": "/endpointAccessMode",
            "value": ""
        }
    ]'
```

출력은 다음과 같습니다.

```
{
    "id": "abcd1234",
    "name": "MyAPI",
    "description": "My API with a new security policy",
    "createdDate": "2025-02-04T11:47:06-08:00",
    "apiKeySource": "HEADER",
    "endpointConfiguration": {
        "types": [
            "REGIONAL"
        ],
        "ipAddressType": "dualstack"
    },
    "tags": {},
    "disableExecuteApiEndpoint": false,
    "securityPolicy": "TLS_1_0",
    "rootResourceId": "efg456"
}
```

------