--- title: "My Products" slug: "api-gateway-myproducts" tags: ["api gateway"] updated: 2026-10-22T09:13:25Z published: 2026-10-22T09:13:25Z canonical: "guide-gov.ncloud-docs.com/api-gateway-myproducts" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide-gov.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # My Products Classic/VPC 환경에서 이용 가능합니다. My Products 메뉴에서는 여러 개의 API를 Product로 그룹화하여 관리하며 REST API 및 이와 관련된 리소스와 메서드를 정의하고 인증 방식을 설정할 수 있습니다. API를 게시하고, Product를 사용하고 있는 API Key로 사용자의 애플리케이션을 식별하거나 사용량을 제한할 수 있습니다. ## My Products 화면 API Gateway 이용을 위한 My Products 메뉴의 기본적인 설명은 다음과 같습니다. ![apigw-myproducts-screen_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/apigw-myproducts-screen_ko.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D) | 영역 | 설명 | | --- | --- | | ① 메뉴명 | 현재 확인 중인 메뉴 이름, 운영 중인 Product 개수 | | ② 기본 기능 | [Product 생성](/docs/api-gateway-start#Product%EC%83%9D%EC%84%B1), API Gateway 상세 정보 확인, My Products 화면 새로 고침 | | ③ 생성 후 기능 | 운영 중인 Product [수정](/docs/api-gateway-myproducts#Product%EC%88%98%EC%A0%95), [삭제](/docs/api-gateway-myproducts#Product%EC%82%AD%EC%A0%9C) | | ④ Product 목록 | 운영 중인 Product 목록 및 정보 확인 | | ⑤ 검색창 및 필터 | 목록에서 원하는 Product 검색, 필터 기능을 이용하여 조건에 해당하는 Product 확인 | ## Product 목록 확인 생성하여 운영 중인 Product 목록에서 Product별 정보를 확인할 수 있습니다. 참고 Product 생성 방법에 대한 내용은 [API Gateway 시작](/docs/api-gateway-start)을 참고해 주십시오. 생성한 Product의 정보를 확인하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록이 표시되면 요약 정보를 확인하거나 대상 Product를 클릭하여 상세 정보를 확인해 주십시오. ![apigw-myproducts-list_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/apigw-myproducts-list_ko.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D) - **Product ID**: Product의 고유 ID로 Product 생성 시 자동 설정됨 - **Product 이름**: Product 생성 시 설정한 Product 이름 - **설명**: Product 생성 시 설정한 해당 Product에 대한 설명 - **구독 방식**: Product 생성 시 설정한 API 구독 방식 - **상태**: API 게시 여부 표시 - **Catalog**: 게시된 API에 대한 Overview 및 설명서(Swagger) 확인 - **게시**: ![i-apigateway-publish](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-publish.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D) 클릭 시 [API 게시](/docs/api-gateway-myproducts#API%EA%B2%8C%EC%8B%9C) 화면으로 이동 - **API Keys**: Product에 연결된 [API Key](/docs/api-gateway-apikeys)의 상태별 현황. ![i-apigateway-apikeys](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apikeys.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D) 클릭 시 API Key 확인, 추가, 상태 변경 및 [Usage Plan](/docs/api-gateway-usageplans) 확인, 수정 화면으로 이동. - **APIs**: Product에 생성된 API 목록 및 현황. ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D) 클릭 시 API 관리 화면으로 이동. - **API 이름**: API 이름을 클릭하면 해당 API 관리 화면으로 이동 - **정의된 메서드**: API별 정의된 메서드 수 - **Stage Document**: Stage 이름을 클릭하면 해당 API 설명서(Swagger) 화면으로 이동 ## Product 수정 Product를 수정하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 수정할 Product의 체크 박스를 클릭해 선택한 후 **[수정]** 버튼을 클릭해 주십시오. 4. Product 수정 화면에서 Product 정보를 변경한 후 **[Product 수정]** 버튼을 클릭해 주십시오. - **이름**: Product 이름 표시 - **설명**: Product에 대한 설명 수정 및 입력 - **구독 방식**: Product 구독 방식을 선택 - **공개 - 자율 구독**: Product의 API를 누구나 사용 가능 - **보호 - 승인 필요**: Product의 API를 사용하기 위해서는 게시자의 승인이 필요 5. Product 수정 팝업 창에서 **[확인]** 버튼을 클릭해 주십시오. ## Product 삭제 Product를 삭제하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 삭제할 Product를 클릭해 선택한 후 **[삭제]** 버튼을 클릭해 주십시오. 4. 삭제 팝업 창에서 내용을 확인하고, **이름**에 삭제할 Product의 이름을 입력한 후 **[삭제]** 버튼을 클릭해 주십시오. ## API 등록 API를 생성 및 관리하며 관련 리소스와 메서드를 관리할 수 있습니다. 또한, API 사용자가 참조할 수 있는 정의된 API 명세와 Overview를 관리할 수 있으며, 스테이지를 활용하여 동일한 API를 여러 버전으로 운영할 수 있습니다. 백엔드 서비스의 안정화를 위한 스테이지별 캐시 사용, Throttling 정책, IP ACL 등을 설정할 수 있습니다. ### API 생성 생성한 Product에 여러 개의 API를 생성할 수 있습니다. API를 생성하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 API를 생성할 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. 4. API 목록 화면에서 **[API 생성]** 버튼을 클릭해 주십시오. 5. API 생성 화면의 **API 생성** 항목에서 생성 방법을 선택해 주십시오. 6. API 생성 방법에 따라 설정 정보를 입력해 주십시오. - API 생성 방법을 **새로운 API**로 선택한 경우, 다음의 항목을 설정 - **API 이름**: 생성할 API 이름을 입력. API의 이름은 API Gateway의 호출 URL의 경로에 포함됨. - **설명**: 생성할 API의 설명을 입력 - API 생성 방법을 **API 복사**로 선택한 경우, 다음의 항목을 설정 - **API 이름**: 생성할 API 이름을 입력. API의 이름은 API Gateway의 호출 URL의 경로에 포함됨. - **설명**: 생성할 API의 설명을 입력 - **API 복사**: 복사할 API가 있는 Product를 선택한 후 복사할 API를 선택 - API 생성 방법을 **Swagger에서 가져오기**로 선택한 경우, 다음의 항목을 설정 - **API 이름**: 생성할 API 이름을 입력. API의 이름은 API Gateway의 호출 URL의 경로에 포함됨. - **설명**: 생성할 API의 설명을 입력 - **Swagger에서 가져오기** 영역 - **[Swagger]** 탭 : 외부에 저장된 Swagger 파일을 가져와 API를 생성 - **Drop files here or click to upload.**: 외부에 저장된 Swagger 파일을 드래그하거나 영역을 클릭해 탐색 창에서 Swagger 파일 선택 - **경고 실패**: Swagger 파일을 가져올 때 오류 또는 경고가 발생하면 가져오기를 중단 - **경고 무시**: Swagger 파일을 가져올 때 발생하는 오류 또는 경고에 관계없이 가져옴 - **[미리보기]** 탭: Swagger 설정 상태 미리보기 - API 생성 방법을 **API 예제**로 선택한 경우, 다음의 항목을 설정 - **API 이름**: 생성할 예제 API 이름을 입력. API의 이름은 API Gateway의 호출 URL의 경로에 포함됨. - **설명**: 생성할 예제 API의 설명을 입력 - **API 예제**: 생성할 예제 API의 세부 정보 표시 7. **[API 생성]** 버튼을 클릭해 주십시오. API 생성 방법이 **API 복사**인 경우 **[API 복사]** 버튼을 클릭해 주십시오. 8. API 생성 성공 팝업 창에서 **[확인]** 버튼을 클릭해 주십시오. API가 생성된 후의 API 목록 화면에 대한 설명은 다음과 같습니다. ![apigw-myproducts-apilist_ko1-2](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/apigw-myproducts-apilist1-2_ko.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D) | 영역 | 설명 | | --- | --- | | ① API 이름 | 해당 Product에 생성되어 있는 API 목록. 클릭 시 사용 가능한 기능 및 상세 정보가 화면 오른쪽에 표시됨. | | ② API 수정, 배포, 삭제 | [API 설명 수정](/docs/api-gateway-myproducts#API%EC%88%98%EC%A0%95), [Stage에 API 배포](/docs/api-gateway-myproducts#API%EB%B0%B0%ED%8F%AC), [API 삭제](/docs/api-gateway-myproducts#API%EC%82%AD%EC%A0%9C) | | ③ **Resources** | [리소스 생성 및 관리](/docs/api-gateway-myproducts#%EB%A6%AC%EC%86%8C%EC%8A%A4%EA%B4%80%EB%A6%AC)[메서드 생성 및 관리](/docs/api-gateway-myproducts#%EB%A9%94%EC%84%9C%EB%93%9C%EA%B4%80%EB%A6%AC)API가 생성되면 기본으로 루트 리소스(Root Resource)인 `/` 생성 | | ④ **Stages** | [Stage 생성 및 관리](/docs/api-gateway-myproducts#Stage%EA%B4%80%EB%A6%AC) | | ⑤ **Gateway Responses** | API Gateway에서 발생한 [게이트웨이 응답 정의](/docs/api-gateway-myproducts#%EA%B2%8C%EC%9D%B4%ED%8A%B8%EC%9B%A8%EC%9D%B4%EC%9D%91%EB%8B%B5%EC%A0%95%EC%9D%98). 변경 사항을 적용하려면 API를 배포해야 함. | | ⑥ **Models** | [요청과 응답의 바디 모델 정의](/docs/api-gateway-myproducts#%EC%9A%94%EC%B2%AD%EA%B3%BC%EC%9D%91%EB%8B%B5%EC%9D%98%EB%B0%94%EB%94%94%EB%AA%A8%EB%8D%B8%EC%A0%95%EC%9D%98). 수정 시 변경 사항을 적용하려면 API를 배포해야 함. | | ⑦ **Overview** | [API 설명서의 Overview 작성](/docs/api-gateway-myproducts#API%EC%84%A4%EB%AA%85%EC%84%9C%EC%9D%98Overview%EC%9E%91%EC%84%B1) | ### API 수정 API에 대한 설명을 수정하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. Product 목록에서 수정할 API가 있는 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. 3. API 목록에서 수정할 API를 클릭해 주십시오. 4. **[수정]** 버튼을 클릭해 주십시오. 5. API 수정 화면의 **설명** 항목에 설정 내용을 추가 또는 수정한 후 **[저장]** 버튼을 클릭해 주십시오. ### API 삭제 API를 삭제하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. Product 목록에서 삭제할 API가 있는 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. 3. API 목록에서 삭제할 API를 클릭해 주십시오. 4. **[삭제]** 버튼을 클릭해 주십시오. 5. 삭제 팝업 창에서 삭제할 API 이름을 입력한 후 **[삭제]** 버튼을 클릭해 주십시오. ### 리소스 관리 API 사용에 필요한 리소스를 생성하고 관리할 수 있습니다. **[Resources]** 탭 메뉴에 대한 설명은 다음과 같습니다. ![apigw-myproducts-resource_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/apigw-myproducts-resource_ko.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D) | 영역 | 설명 | | --- | --- | | ① **리소스 생성** | API에 [새 리소스 생성](/docs/api-gateway-myproducts#%EB%A6%AC%EC%86%8C%EC%8A%A4%EC%83%9D%EC%84%B1) | | ② **리소스 보기** | [리소스 CORS 활성 여부 설정](/docs/api-gateway-myproducts#%EB%A6%AC%EC%86%8C%EC%8A%A4%EC%9D%98CORS%EC%84%A4%EC%A0%95) | | ③ **리소스 삭제** | 불필요한 [리소스 삭제](/docs/api-gateway-myproducts#%EB%A6%AC%EC%86%8C%EC%8A%A4%EC%82%AD%EC%A0%9C) | | ④ **API 가져오기** | Swagger 파일을 불러와서 리소스 생성([API가져오기](/docs/api-gateway-myproducts#API%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0) 참고) | | ⑤ 루트 리소스 경로 | API 생성 시 기본으로 생성되는 루트 리소스(`/`로 표시) | | ⑥ 리소스 이름(경로) | [리소스 생성](/docs/api-gateway-myproducts#%EB%A6%AC%EC%86%8C%EC%8A%A4%EC%83%9D%EC%84%B1) 시 설정한 API URL 경로 | | ⑦ 메서드 | [메서드 생성](/docs/api-gateway-myproducts#%EB%A9%94%EC%84%9C%EB%93%9C%EC%83%9D%EC%84%B1) 기능으로 리소스에 추가한 메서드 | | ⑧ OPTIONS 메서드 | CORS를 활성화한 후 자동으로 생성된 메서드([리소스 생성](/docs/api-gateway-myproducts#%EB%A6%AC%EC%86%8C%EC%8A%A4%EC%83%9D%EC%84%B1)의 7번 절차 또는 [리소스의 CORS 설정](/docs/api-gateway-myproducts#%EB%A6%AC%EC%86%8C%EC%8A%A4%EC%9D%98CORS%EC%84%A4%EC%A0%95) 참고) | | ⑨ **메서드 생성** | 리소스에 [메서드 생성](/docs/api-gateway-myproducts#%EB%A9%94%EC%84%9C%EB%93%9C%EC%83%9D%EC%84%B1) 지원 메서드: ANY, GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD | | ⑩ 메서드 목록 | 리소스에 추가된 메서드 목록(카드 타입)으로 해당 리소스의 설정 정보 확인 **[보기]**: 해당 [메서드 설정](/docs/api-gateway-myproducts#%EB%A9%94%EC%84%9C%EB%93%9C%EC%84%A4%EC%A0%95) 페이지로 이동**[삭제]**: [메서드 삭제](/docs/api-gateway-myproducts#%EB%A9%94%EC%84%9C%EB%93%9C%EC%82%AD%EC%A0%9C)OPTIONS 메서드는 **[보기]**/**[삭제]** 버튼 비활성화 | #### 리소스 생성 리소스를 생성하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 리소스를 생성할 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 리소스를 생성할 API를 클릭해 주십시오. 5. **[Resources]** 탭을 클릭해 주십시오. 6. **[리소스 생성]** 버튼을 클릭해 주십시오. - 이미 생성된 리소스의 하위에 리소스를 추가하려면 해당 리소스를 선택한 후 **[리소스 생성]** 버튼을 클릭해 주십시오. - 이미 생성된 리소스 중 경로가 `{variable+}`와 같이 `+`가 포함되어 하위 리소스를 포함하는 리소스에는 하위 리소스를 생성할 수 없습니다. 7. 리소스 목록 오른쪽에 표시된 리소스 생성 항목에 정보를 입력한 후 **[생성]** 버튼을 클릭해 주십시오. - **리소스 경로**: API URL 경로로 사용할 값을 입력 참고 Endpoint 로 Cloud Functions의 Web Action을 사용한다면 `{type}` 변수는 예약어로 처리됩니다. `{type}` 변수는 Cloud Functions에서 Web action의 Content extensions를 정의하기 위한 예약어입니다. 따라서 Cloud Functions의 Web Action을 Endpoint로 사용하는 API의 리소스에 `{type}` 변수가 존재하는 경우, 해당 값을 Cloud Functions의 extension 변수 `{type}`에 사용하며, 해당 변수에 대한 정의가 없다면 빈값으로 처리합니다. - 괄호를 사용하여 리소스를 경로 변수로 지정할 수 있습니다. - <예시1> `{variable}`: 현재 경로를 변수로 사용 - <예시2> `{variable+}`: 하위 리소스를 포함한 경로를 변수로 사용 - 경로 변수는 엔드포인트의 경로에 파라미터로 사용할 수 있습니다. - **활성화 CORS**: CORS(Cross-Origin Resource Sharing) 활성 여부 선택. 활성화 선택 시 추가 항목 설정 필요. - **Access-Control-Allow-Method**: 클라이언트 요청(리소스 접근) 시 허용할 메서드 설정 - **Access-Control-Allow-Headers**: 클라이언트 요청(리소스 접근) 시 허용할 헤더 설정 - **Access-Control-Allow-Origin**: 클라이언트 요청(리소스 접근) 모든 도메인 허용(`*`), 또는 선별적 허용 설정 - **Access-Control-Expose-Headers**: 클라이언트 요청(리소스 접근)에 포함 가능한 사용자 정의 헤더 - **Access-Control-Max-Age**: 클라이언트가 Preflight 요청 결과를 저장할 기간. 해당 시간 동안에는 Preflight 요청을 다시 하지 않음. - **Access-Control-Allow-Credentials**: 클라이언트 요청(리소스 접근)의 자격 증명 모드(Request.credentials)가 `include`일 때의 응답 노출 여부를 설정. 필요시 `true`(유일값)로 설정, 불필요 시 헤더 미입력. 8. **[Resources]** 탭의 리소스 목록에 생성한 리소스가 표시되는지 확인해 주십시오. - **활성화 CORS** 항목을 활성화한 경우, API Gateway에서 CORS 요청을 처리하기 위해 OPTIONS 메서드가 생성되고 해당 리소스 목록에 표시됩니다. 단, OPTIONS 메서드는 수정할 수 없습니다. #### 리소스의 CORS 설정 리소스의 CORS 활성 여부 설정하고, 활성 시 추가 항목을 설정할 수 있습니다. 리소스 확인 및 CORS 설정을 변경하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 확인 및 설정할 리소스가 있는 API를 클릭해 주십시오. 5. **[Resources]** 탭을 클릭해 주십시오. 6. 리소스 목록에서 확인 및 설정할 리소스를 클릭해 선택한 후 **[리소스 보기]** 버튼을 클릭해 주십시오. 7. CORS(기본 설정값: 비활성)를 설정하려면 **활성화 CORS**를 클릭해 활성화한 후 추가 헤더 항목을 설정해 주십시오. - 추가 헤더 항목에 대한 자세한 내용은 [리소스 생성](/docs/api-gateway-myproducts#%EB%A6%AC%EC%86%8C%EC%8A%A4%EC%83%9D%EC%84%B1)의 7번 절차를 참고해 주십시오. 8. **[수정]** 버튼을 클릭해 주십시오. - CORS 활성화로 설정한 경우 OPTIONS 메서드가 생성되고 해당 리소스 목록에 표시됩니다. #### 리소스 삭제 리소스를 삭제하는 방법은 다음과 같습니다. 참고 OPTIONS 메서드는 삭제할 수 없습니다. [리소스의 CORS를 비활성화](/docs/api-gateway-myproducts#%EB%A6%AC%EC%86%8C%EC%8A%A4%EC%9D%98CORS%EC%84%A4%EC%A0%95)하면 자동으로 삭제됩니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 삭제할 리소스가 있는 API를 클릭해 주십시오. 5. **[Resources]** 탭을 클릭해 주십시오. 6. 리소스 목록에서 삭제할 리소스를 클릭해 선택한 후 **[리소스 삭제]** 버튼을 클릭해 주십시오. 7. 삭제 팝업 창에서 내용을 확인한 후 **[삭제]** 버튼을 클릭해 주십시오. #### API 가져오기 API 구성 관련 문서인 Swagger 파일을 이용하여 API 리소스를 가져올 수 있습니다. 외부에서 API 리소스를 가져오는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 대상 API를 클릭해 주십시오. 5. **[Resources]** 탭을 클릭해 주십시오. 6. 리소스 목록에서 대상 리소스를 클릭해 선택한 후 **[API 가져오기]** 버튼을 클릭해 주십시오. - API 가져오기를 실행하면 현재 저장된 리소스가 삭제되고, 가져온 API 정보가 새 리소스로 저장됩니다. 7. 외부에 저장된 Swagger 파일을 **Drop files here or click to upload.** 영역에 드래그하거나 영역을 클릭해 탐색 창에서 Swagger 파일을 선택해 주십시오. 8. API를 가져올 때 발생하는 오류 또는 경고에 대한 처리 방법을 선택해 주십시오. - **경고 실패**: Swagger 파일을 가져올 때 오류 또는 경고가 발생하면 가져오기를 중단 - **경고 무시**: Swagger 파일을 가져올 때 발생하는 오류 또는 경고에 관계없이 가져옴 9. JSON 형식의 API 정의 세부 내역을 확인 및 수정한 후 **[API 가져오기]** 버튼을 클릭해 주십시오. - 설정한 내용을 미리 확인하려면 **[미리보기]** 탭을 클릭해 주십시오. 10. API 가져오기 팝업 창에서 내용을 확인한 후 **[예]** 버튼을 클릭해 주십시오. - 오류가 발생하면 오류 내역을 확인 및 수정한 후 다시 시도해 주십시오. ### 메서드 관리 API 리소스에 메서드를 생성 및 설정 할 수 있습니다. #### 메서드 생성 리소스에 메서드를 생성하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 대상 API를 클릭해 주십시오. 5. **[Resources]** 탭을 클릭해 주십시오. 6. 리소스 목록에서 메서드를 생성할 리소스를 클릭해 주십시오. 7. 리소스 목록 오른쪽에 표시된 **[메서드 생성]** 드롭다운 메뉴에서 생성할 메서드 종류를 선택해 주십시오. 8. **[Settings]** 탭을 클릭해 설정 정보를 입력한 후 **[저장]** 버튼을 클릭해 주십시오. - **설명**: 메서드의 설명을 입력 - **OperationID**: API 동작을 식별하기 위한 고유 ID를 입력합니다. - 영문과 숫자만 사용 가능하고, 숫자로 시작할 수 없으며 길이는 1~100자만 허용합니다. - **엔드포인트**: 서비스할 엔드포인트 설정. 엔드포인트 종류에 따라 메서드 설정 항목이 달라집니다. - **MOCK**: API Gateway에서 설정한 값을 반환 - **Status Code**: 요청에 대한 응답 코드를 설정 - **Header**: 요청에 대한 헤더를 입력 - **Response**: 요청에 대한 바디를 입력 - **HTTP(S)**: HTTP(S) 엔드포인트의 호출 결과를 반환 - **Stream**: 파일 업로드 성격의 요청인 경우 활성화 - Stream을 껐을 경우 응답 시간은 30초, 최대 요청 크기는 10 MB로 제한 - Stream을 켰을 경우 응답 시간은 5분, 최대 요청 크기는 100 MB로 제한 - **메서드**: 백엔드 서버로 요청할 메서드 선택 - **URL 경로**: 백엔드 서버로 요청할 도메인을 제외한 URL 입력(엔드포인트로 호출할 URL 경로) 참고 - 리소스 경로 변수 및 요청 파라메터에서 정의한 쿼리 스트링과 헤더를 파라미터로 사용할 수 있습니다. - 파라미터는 괄호를 사용하여 정의합니다. ![api-gateway-myproducts-endpointurl-v2](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/api-gateway-gov-path.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D) - **Naver Cloud Platform Service**: 네이버 클라우드 플랫폼에서 제공되는 서비스(<예시> Cloud Functions) 이용 - **서비스**: 서비스 선택 - **리전**: 서비스 지원 리전 선택 - **액션**: 해당 서비스에 설정된 액션 선택 - **API Key 필요**: API Key 필요 여부 설정 참고 - **API Key 필요** 설정을 하지 않은 경우, Product 구독 방식과 Usage Plan이 적용되지 않습니다. - 구독 방식을 보호(승인 필요) 방식으로 제공하거나 요청 처리량 제한 및 요청 한도를 적용하려면, **API Key 필요** 설정을 활성화해주시기 바랍니다. - **인증**: 인증 방법 설정 참고 - **IAM 인증**은 네이버 클라우드의 IAM 서비스를 통해 API Gateway에 접근하는 사용자를 인증하는 방식입니다. 즉, API 호출 시 IAM 인증을 통해 해당 사용자가 API를 호출할 자격이 있는지 검증합니다. - **IAM + AUTHORIZATION 인증**은 사용자 접근 인증에 API 수행 권한에 대한 인가 기능을 더한 방식입니다. 사용자가 인증된 후에도 특정 API 메서드를 수행할 수 있는 권한이 있는지 추가로 검증하는 단계가 포함됩니다. 즉, 사용자는 IAM을 통해 인증되지만, 각 API 메서드별로 사전에 IAM에 등록된 권한이 부여된 경우에만 해당 API 액션을 수행할 수 있습니다. - **NONE**: 인증 미사용 - **IAM**: 네이버 클라우드 플랫폼에서 제공하는 IAM 인증 사용 - **IAM + AUTHORIZATION**: 네이버 클라우드 플랫폼에서 제공하는 IAM을 통한 사용자 인증과 Method 단위 권한 인가 기능을 사용 - 미리 생성한 Authorizer를 사용([Authorizer](/docs/api-gateway-authorizers) 참고) - **유효성 검사**: 유효성 검사 범위 선택 - **NONE**: 유효성 검사 미실행 - **Query Strings & Headers**: 쿼리 스트링과 헤더에 대한 유효성 검사 실행. 유효성 검사는 Parameters 탭에서 정의한 API 명세를 참고함. #### 메서드 설정 생성한 메서드의 설정을 변경하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 대상 API를 클릭해 주십시오. 5. **[Resources]** 탭을 클릭해 주십시오. 6. 리소스 목록에서 설정할 메서드를 포함하고 있는 상위 리소스를 클릭해 주십시오. 7. 설정할 메서드를 클릭해 주십시오. - 또는 상위 리소스의 메서드 목록에서 해당 메서드의 **[보기]** 버튼을 클릭해 주십시오. 8. **[Settings]** 및 **[Parameters]** 탭을 클릭해 각 항목을 설정해 주십시오. - **[Settings]** 탭의 설정 정보는 [메서드 생성](/docs/api-gateway-myproducts#%EB%A9%94%EC%84%9C%EB%93%9C%EC%83%9D%EC%84%B1)을 참고해 주십시오. - **[Parameters]** 탭의 설정 정보는 [API 명세 정의](/docs/api-gateway-myproducts#API%EB%AA%85%EC%84%B8%EC%A0%95%EC%9D%98)를 참고해 주십시오. #### 메서드 삭제 생성한 메서드를 삭제하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 대상 API를 클릭해 주십시오. 5. **[Resources]** 탭을 클릭해 주십시오. 6. 리소스 목록에서 삭제할 메서드를 포함하는 상위 리소스를 클릭해 주십시오. 7. 메서드 목록에서 삭제할 메서드의 **[삭제]** 버튼을 클릭해 주십시오. 8. 메서드 삭제 팝업 창에서 **[삭제]** 버튼을 클릭해 주십시오. ### API 명세 정의 API 명세(요청/응답 파라미터)를 정의할 수 있습니다. 정의한 API 명세는 Swagger UI를 생성하는 데 사용됩니다. API 명세를 정의하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 대상 API를 클릭해 주십시오. 5. **[Resources]** 탭을 클릭해 주십시오. 6. 리소스 목록에서 대상 리소스의 메서드를 클릭해 선택한 후 오른쪽 화면에 표시된 상세 정보에서 **[Parameters]** 탭을 클릭해 주십시오. 7. 요청 및 응답 파라미터를 설정해 주십시오. - **요청** 영역: 요청에 대한 명세를 정의 - **쿼리 스트링**: 요청의 쿼리 스트링을 정의. 엔드포인트로 호출할 URL 경로를 정의할 때 리소스 경로 변수처럼 변수로 사용 가능. - **이름**: 쿼리 스트링 이름 입력 - **설명**: 쿼리 스트링에 대한 설명 입력 - 변수 타입: 쿼리 스트링의 변수 타입(**string**, **boolean**, **integer**, **long**, **float**, **double**)을 선택 - **Array**: 활성화하면 중복된 이름으로 여러 개의 쿼리 스트링을 생성 - **Required**: 활성화하면 유효성 검사 대상에 포함 - 항목을 추가하려면 설정 항목을 입력한 후 **[추가]** 버튼을 클릭해 주십시오. - 기존 추가된 항목을 삭제하려면 해당 항목의 **[삭제]** 버튼을 클릭한 후 쿼리 스트링 삭제 팝업 창의 **[삭제]** 버튼을 클릭해 주십시오. - **헤더**: 요청의 헤더를 정의. 엔드포인트로 호출할 URL 경로를 정의할 때 리소스 경로 변수처럼 변수로 사용 가능. - **이름**: 헤더 이름 입력 - **설명**: 헤더에 대한 설명 입력 - 변수 타입: 헤더의 변수 타입(**string**, **boolean**, **integer**, **long**, **float**, **double**)을 선택 - **Array**: 활성화하면 중복된 이름으로 여러 개의 헤더를 생성 - **Required**: 활성화하면 유효성 검사 대상에 포함 - 항목을 추가하려면 설정 항목을 입력한 후 **[추가]** 버튼을 클릭해 주십시오. - 기존 추가된 항목을 삭제하려면 해당 항목의 **[삭제]** 버튼을 클릭한 후 헤더 삭제 팝업 창의 **[삭제]** 버튼을 클릭해 주십시오. - **폼 데이터**: 요청의 폼 데이터를 정의 - **이름**: 폼 데이터 이름 입력 - **설명**: 폼 데이터에 대한 설명 입력 - 변수 타입: 폼 데이터의 변수 타입(**string**, **boolean**, **integer**, **long**, **float**, **double**, **file**)을 선택 - **Array**: 활성화하면 중복된 이름으로 여러 개의 쿼리 스트링을 생성 - **Required**: 활성화하면 유효성 검사 대상에 포함 - 항목을 추가하려면 설정 항목을 입력한 후 **[추가]** 버튼을 클릭해 주십시오. - 기존 추가된 항목을 삭제하려면 해당 항목의 **[삭제]** 버튼을 클릭한 후 폼 데이터 삭제 팝업 창의 **[삭제]** 버튼을 클릭해 주십시오. - **바디**: 요청의 바디를 정의 - **이름**: 바디 이름 입력 - **설명**: 바디에 대한 설명 입력 - **모델**: 바디 모델을 정의. 바디의 모델은 API 목록의 **[Models]** 탭에 정의된 모델을 사용([요청과 응답의 바디 모델 정의](/docs/api-gateway-myproducts#%EC%9A%94%EC%B2%AD%EA%B3%BC%EC%9D%91%EB%8B%B5%EC%9D%98%EB%B0%94%EB%94%94%EB%AA%A8%EB%8D%B8%EC%A0%95%EC%9D%98) 참고). - 요청의 바디를 정의하려면 설정 항목을 입력한 후 **[저장]** 버튼을 클릭해 주십시오. - 저장된 항목을 삭제하려면 해당 항목의 **[삭제]** 버튼을 클릭한 후 바디 삭제 팝업 창의 **[삭제]** 버튼을 클릭해 주십시오. - **컨텐츠 타입**: 요청 바디의 콘텐츠 타입을 정의 참고 `application/x-www-form-urlencoded`, `multipart/form-data`는 정의된 폼 데이터를 이용하여 요청의 바디를 생성하고, 그 외 콘텐츠 타입은 바디를 사용해 주십시오. - 콘텐츠 타입을 추가하려면 입력란에 요청의 콘텐츠 타입을 입력한 후 **[추가]** 버튼을 클릭해 주십시오. - 기존 추가된 항목을 삭제하려면 해당 항목의 **[삭제]** 버튼을 클릭한 후 콘텐츠 타입 삭제 팝업 창의 **[삭제]** 버튼을 클릭해 주십시오. - **응답** 영역: 응답에 대한 명세를 정의 - **[추가]**: 새 응답 코드 생성 및 정의 - **[수정]**: 정의된 응답 코드 수정 - **[삭제]**: 응답 코드 삭제 - **헤더**(응답 코드 선택 시): 응답의 헤더를 정의 - **바디**(응답 코드 선택 시): 응답의 바디를 정의 - **컨텐츠 타입**: 응답 바디의 콘텐츠 타입을 정의 ### Stage 관리 Stage를 활용하여 API를 여러 버전으로 배포, 운영할 수 있습니다. 백엔드 서비스의 안정화를 위한 스테이지별 캐시 사용, Throttling 정책, IP ACL, Content-Encoding 등의 설정을 할 수 있습니다. **[Stages]** 탭 메뉴에 대한 설명은 다음과 같습니다. ![api-gateway-gov-stage-tab-v2_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/api-gateway-gov-stage-tab-v2_ko.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D) | 영역 | 설명 | | --- | --- | | ① **Stage 생성** | [Stage 생성](/docs/api-gateway-myproducts#Stage%EC%83%9D%EC%84%B1) | | ② **Stage 삭제** | [Stage 삭제](/docs/api-gateway-myproducts#Stage%EC%82%AD%EC%A0%9C) | | ③ **Canary 활성화** | API 명세를 Stage에 배포하기 전에 Canary 환경을 만들어 운영 환경에서 테스트할 수 있는 기능 활성화 - Canary 활성화를 하면 [**[Canary 활성화]**](/docs/api-gateway-myproducts#Canary%ED%99%9C%EC%84%B1%ED%99%94%EB%B0%8F%ED%85%8C%EC%8A%A4%ED%8A%B8) 버튼 대신 [**[Canary 승격]**](/docs/api-gateway-myproducts#Canary%EC%8A%B9%EA%B2%A9) 버튼과 [**[Canary 비활성화]**](/docs/api-gateway-myproducts#Canary%EB%B9%84%ED%99%9C%EC%84%B1%ED%99%94) 버튼이 표시됨 | | ④ 생성된 Stage 목록 | 생성한 Stage 목록과 경로 정보 | | ⑤ 설정 및 정보 | Stage 목록에서 Stage 이름, 루트 리소스(/), 리소스, 메서드를 선택할 때 표시되는 설정 항목 및 정보 영역 | Stage 목록에서 Stage 이름, 루트 리소스(/), 리소스, 메서드를 선택할 때 표시되는 정보는 다음과 같습니다. - Stage 이름 선택 시 ![api-gateway-gov-stage-tab-api-v2_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/api-gateway-gov-stage-tab-api-v2_ko.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D) | 영역 | 설명 | | --- | --- | | ① **Invoke URL** | 배포한 API를 호출할 수 있는 URL - 구성 형식: `https://{product-id}.apigw.gov-ntruss.com/{api-name}/{stage-name}` - 주소를 클립보드에 저장하려면 **[주소 복사]** 버튼 클릭 | | ② **Settings** | Stage의 설정 확인 | | ③ **Export** | Stage 내보내기 | | ④ **Deployment History** | Stage에 배포된 API 버전 관리. Canary 환경에서는 미표시 | | ⑤ **Usage Plans** | [API 사용량을 제어](/docs/api-gateway-myproducts#UsagePlans%EB%B3%80%EA%B2%BD). Canary 환경에서는 미표시 | | ⑥ **Document** | Stage 정보를 Swagger 형식으로 확인 | - 루트 리소스(`/`) 선택 시 ![api-gateway-myproducts-stage3-v2_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/api-gateway-gov-stage-tab-root.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D) | 영역 | 설명 | | --- | --- | | **Invoke URL** | 배포한 API를 호출할 수 있는 URL - 구성 형식: `https://{product-id}.apigw.gov-ntruss.com/{api-name}/{stage-name}` - 주소를 클립보드에 저장하려면 **[주소 복사]** 버튼 클릭 | - 리소스 경로(이름) 선택 시 ![api-gateway-myproducts-stage4-v2_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/api-gateway-gov-stage-tab-resource.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D) | 영역 | 설명 | | --- | --- | | ① **Invoke URL** | 배포한 API를 호출할 수 있는 URL - 구성 형식: `https://{product-id}.apigw.gov-ntruss.com/{api-name}/{stage-name}` - 주소를 클립보드에 저장하려면 **[주소 복사]** 버튼 클릭 | | ② 메서드 목록 | Stage에 배포된 API 리소스의 메서드 목록(카드 타입) - **[보기]**: 해당 Stage의 메서드 정보 보기 | - 메서드 선택 시 ![api-gateway-myproducts-stage5-v2_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/api-gateway-gov-stage-tab-method.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D) | 영역 | 설명 | | --- | --- | | ① **Invoke URL** | 배포한 API를 호출할 수 있는 URL - 구성 형식: `https://{product-id}.apigw.gov-ntruss.com/{api-name}/{stage-name}` - 주소를 클립보드에 저장하려면 **[주소 복사]** 버튼 클릭 | | ② **Target** | 엔드포인트 도메인의 서비스명 | | ③ **Stage 설정에 따르기** | [Stage 설정](/docs/api-gateway-myproducts#Stage%EC%84%A4%EC%A0%95)에 따른 API 캐시, Throttling 값 실행 - 이 페이지에서는 설정 변경 불가 | | ④ **메서드 설정하기** | API 캐시, Throttling 값을 메서드에 직접 설정. 항목을 선택하면 아래 **API 캐시**, **Throttling** 항목 설정 가능 | | ⑤ **API 캐시** | API 캐시(Cache) TTL 설정 | | ⑥ **Throttling** | 등록한 메서드별로 초당 요청 수를 제한하여 백엔드 서버를 보호 | #### Stage 생성 생성 및 설정한 API를 배포하려면 먼저 Stage를 생성해야 합니다. Stage를 생성하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 Stage를 생성할 API를 클릭해 주십시오. 5. **[Stages]** 탭을 클릭해 주십시오. 6. **[Stage 생성]** 버튼을 클릭해 주십시오. 7. Stage 생성 정보를 입력한 후 **[생성]** 버튼을 클릭해 주십시오. - **Stage 이름**: Stage의 이름을 입력. Stage의 이름은 API Gateway의 호출 URL의 경로에 포함됨. - **Endpoint 도메인**: 백엔드 서버의 도메인을 입력. API의 리소스 경로(Resource Path)와 결합하여 백엔드 서버로 호출할 API 경로가 됨. 참고 Endpoint 도메인을 결정하는 API의 리소스 경로(Resource Path)는 **정적 경로(Exact Match)** 를 최우선으로 라우팅하며, Path Variable(wildcard)을 포함한 경로는 그 다음 우선순위로 매칭됩니다. - **Certificate 이름**: [Client Certificates 인증서](/docs/api-gateway-clientcertificates) 선택(인증서의 유효 기간은 인증서 생성일로부터 1년) - **API 캐시**: 캐시(Cache)를 설정. 설정 선택 시 **TTL** 항목이 표시됨. - **TTL**: 캐시를 유지할 초(sec)를 입력 - **Throttling**: 등록한 메서드별로 초당 요청 수를 제한하여 백엔드 서버를 보호 - **IP ACL**: IP에 따라 API 요청을 제어 - **유지 보수**: 모든 API가 정의된 상태 코드와 응답을 리턴하도록 설정 - **Content Encoding**: 요청, 응답에 전송되는 데이터의 압축 및 인코딩 설정 8. Stage 생성 성공 팝업 창에서 **[확인]** 버튼을 클릭해 주십시오. - Stage가 생성되면 정의된 API가 새 Stage에 배포됩니다. #### Stage 설정 Stage 설정을 변경하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 설정할 Stage가 있는 API를 클릭해 주십시오. 5. **[Stages]** 탭을 클릭해 주십시오. 6. Stage 목록에서 설정할 Stage 이름을 클릭해 주십시오. 7. Stage 목록 오른쪽에 표시된 상세 정보 화면에서 **[Settings]** 탭을 클릭해 주십시오. 8. 설정 항목을 변경한 후 **[저장]** 버튼을 클릭해 주십시오. - Stage 설정 항목에 대한 설명은 [Stage 생성](/docs/api-gateway-myproducts#Stage%EC%83%9D%EC%84%B1)을 참고해 주십시오. - **API 캐시**의 TTL 값이 설정되어 있는 경우 이를 초기화하려면 **[초기화]** 버튼을 클릭한 후 캐시 초기화 팝업 창에서 **[삭제]** 버튼을 클릭해 주십시오. 이후 초기화 성공 팝업 창에서 **[확인]** 버튼을 클릭해 주십시오. 9. 수정 팝업 창에서 **[수정]** 버튼을 클릭해 주십시오. 10. 수정 성공 팝업 창에서 **[확인]** 버튼을 클릭해 주십시오. #### Stage 삭제 Stage를 삭제하는 방법은 다음과 같습니다. 참고 삭제한 Stage는 복구할 수 없습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 삭제할 Stage가 있는 API를 클릭해 주십시오. 5. **[Stages]** 탭을 클릭해 주십시오. 6. Stage 목록에서 삭제할 Stage 이름을 클릭해 주십시오. 7. **[Stage 삭제]** 버튼을 클릭해 주십시오. 8. 삭제 팝업 창에 삭제할 Stage 이름을 입력한 후 **[삭제]** 버튼을 클릭해 주십시오. #### Stage 내보내기 Stage에 배포된 API를 Swagger JSON 2.0, Open API JSON 3.0, Java SDK 형식으로 다운로드할 수 있습니다. 배포된 API Swagger 파일을 내려받는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 대상 API를 클릭해 주십시오. 5. **[Stages]** 탭을 클릭해 주십시오. 6. Stage 목록에서 내보낼 Stage 이름을 클릭해 주십시오. 7. Stage 목록 오른쪽에 표시된 상세 정보 화면에서 **[Export]** 탭을 클릭해 주십시오. 8. **플랫폼** 항목에서 내보낼 파일 형식을 선택한 후 **[내보내기]** 버튼을 클릭해 주십시오. - **JAVA SDK**를 선택한 경우에는 필요에 따라 추가 항목을 설정해 주십시오. #### 배포 이력 확인 및 관리 Stage의 API 배포 이력을 확인하고, 내역을 다운받거나 이전 버전으로 배포하거나 이력을 삭제할 수 있습니다. 배포 이력을 확인하고 관리하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 대상 API를 클릭해 주십시오. 5. **[Stages]** 탭을 클릭해 주십시오. 6. Stage 목록에서 API 배포 이력을 확인할 Stage 이름을 클릭해 주십시오. 7. Stage 목록 오른쪽에 표시된 상세 정보 화면에서 **[Deployment History]** 탭을 클릭해 주십시오. 8. 배포 이력을 확인하거나 이전 배포본을 다운로드, 배포, 삭제해 주십시오. - **배포일시**: API를 해당 Stage에 배포한 일시(UTC 기준) - **설명**: API 배포 시 입력한 설명 - **배포된 Stage**: 현재 Stage에 배포된 항목에 ![i-apigateway-check](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-check.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D) 표시 - **내보내기**: 이전 배포본을 Swagger JSON 2.0 형식으로 다운로드 - **배포**: 이전 배포본으로 배포 - **삭제**: 배포 이력 삭제 #### Usage Plans 변경 Stage의 API 기본 요청 처리량과 요청 처리 한도를 설정할 수 있으며, [**Usage Plans**](/docs/api-gateway-usageplans) 메뉴에서 생성한 Usage Plan을 연결하고 관리할 수 있습니다. Stage에서 Usage Plans을 설정 변경하는 방법은 다음과 같습니다. 참고 - 사용량은 일/월의 시작을 기준으로 카운트됩니다. - 엔드포인트의 응답 코드에 따라 사용량이 카운트됩니다. - **API Key 필요** 설정을 활성화해야만 Usage Plan이 적용됩니다. API Key 필요 설정 방법은 [메서드 생성](/docs/api-gateway-myproducts#%EB%A9%94%EC%84%9C%EB%93%9C%EC%83%9D%EC%84%B1) 을 참고해 주십시오. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 대상 API를 클릭해 주십시오. 5. **[Stages]** 탭을 클릭해 주십시오. 6. Stage 목록에서 Usage Plan을 변경할 Stage 이름을 클릭해 주십시오. 7. Stage 목록 오른쪽에 표시된 상세 정보 화면에서 **[Usage Plans]** 탭을 클릭해 주십시오. 8. Usage Plan을 확인하고 필요시 수정해 주십시오. - **Default Usage Plan**: 요청 처리량과 요청 처리 한도를 관리합니다. - **요청 처리량**(Rate): 초당 요청 수를 설정 - **요청 처리 한도**(Quota): 일별, 월별 API 사용량을 설정 - **[Usage Plan 연결]**/**[연결 해제]**: **Usage Plans** 메뉴에서 생성한 Usage Plan 연결 또는 해제 - 목록: 해당 Stage에 연결된 Usage Plan 항목 - 검색: 검색할 Usage Plan 이름을 입력한 후 ![i-apigateway-find](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-find.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 검색 - 정렬: 목록 페이지당 표시할 Usage Plan 개수 설정 - Usage Plans에 관한 자세한 내용은 [Usage Plans](/docs/api-gateway-usageplans)을 참고해 주십시오. #### Document 확인 Stage에 현재 배포된 API 문서를 확인할 수 있습니다. API 문서를 확인하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 대상 API를 클릭해 주십시오. 5. **[Stages]** 탭을 클릭해 주십시오. 6. Stage 목록에서 API 문서를 확인할 Stage 이름을 클릭해 주십시오. 7. Stage 목록 오른쪽에 표시된 상세 정보 화면에서 **[Document]** 탭을 클릭해 주십시오. 8. API 문서 내용을 확인해 주십시오. - 배포된 API 내용을 Swagger UI 형태로 확인하려면 **[미리보기]** 버튼을 클릭해 주십시오. #### Canary 활성화 및 테스트 수정된 API 명세를 Stage에 배포하기 전에 Canary 환경을 만들고 운영 환경에서 테스트할 수 있습니다. Canary를 활성화하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 대상 API를 클릭해 주십시오. 5. **[Stages]** 탭을 클릭해 주십시오. 6. Stage 목록에서 Canary를 활성화할 Stage 이름을 클릭해 선택한 후 **[Canary 활성화]** 버튼을 클릭해 주십시오. - Stage 목록에 `Stage 이름+(Canary)`로 Canary가 활성화됩니다. 7. Stage 목록에서 해당 Canary(`Stage 이름+(Canary)`)를 클릭해 주십시오. 8. 오른쪽 화면에 표시된 상세 정보에서 **[Settings]**, **[Export]**, **[Document]** 탭을 클릭해 정보를 확인 및 설정해 주십시오. - **[Settings]**: [Canary 설정](/docs/api-gateway-myproducts#Canary%EC%84%A4%EC%A0%95) - **[Export]**: Canary에 배포된 API를 Swagger JSON 2.0, Open API JSON 3.0, Java SDK 형식으로 다운로드 - **[Document]**: Canary에 배포된 API 문서 확인. 배포된 API 내용을 Swagger UI 형태로 확인하려면 **[미리보기]** 버튼을 클릭. #### Canary 설정 활성화한 Canary를 설정하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 대상 API를 클릭해 주십시오. 5. **[Stages]** 탭을 클릭해 주십시오. 6. Stage 목록에서 설정할 Canary(`Stage 이름+(Canary)`)를 클릭해 주십시오. 7. 오른쪽 화면에 표시된 상세 정보에서 **[Settings]** 탭을 클릭해 주십시오. 8. 설정 화면에서 설정을 변경한 후 **[저장]** 버튼을 클릭해 주십시오. - **Endpoint 도메인**: Canary의 Endpoint 도메인을 설정 - **Certificate 이름**: [Client Certificates 인증서](/docs/api-gateway-clientcertificates) 선택(인증서의 유효 기간은 인증서 생성일로부터 1년) - **분배**: 요청을 Stage와 Canary에 분배할 방법 설정 - **Percentage**: Canary 요청의 실행 비율 지정 - **Condition**: 설정한 헤더(Header) 및 쿼리 스트링(Query String)과 요청이 동일하면 Canary 요청을 실행 - **API 캐시**: Stage의 API 캐시를 이용하여 Canary API 캐시를 활성화. Stage의 API 캐시가 비활성화인 경우 사용 불가 - **TTL**: 캐시를 유지할 초(sec)를 입력 - **Throttling**: 등록한 메서드별로 초당 요청 수를 제한하여 백엔드 서버를 보호 #### Canary 승격 테스트를 완료한 Canary를 Stage에 배포할 수 있습니다. Canary를 Stage에 배포하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 대상 API를 클릭해 주십시오. 5. **[Stages]** 탭을 클릭해 주십시오. 6. Stage 목록에서 배포할 Canary(`Stage 이름+(Canary)`)를 클릭해 선택한 후 **[Canary 승격]** 버튼을 클릭해 주십시오. 7. Canary 승격 팝업 창에서 내용을 확인한 후 **[예]** 버튼을 클릭해 주십시오. - Canary 승격을 완료하면 Canary 비활성화 상태로 변환되고 Stage 목록에서 삭제됩니다. - 배포 이력을 확인하려면 Stage 이름을 클릭한 후 오른쪽에 표시된 **[Deployment History]** 탭을 클릭해 주십시오. 자세한 내용은 [배포 이력 확인 및 관리](/docs/api-gateway-myproducts#%EB%B0%B0%ED%8F%AC%EC%9D%B4%EB%A0%A5%ED%99%95%EC%9D%B8%EB%B0%8F%EA%B4%80%EB%A6%AC)를 참고해 주십시오. #### Canary 비활성화 활성화한 Canary를 비활성화(삭제)할 수 있습니다. Canary를 비활성화하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 대상 API를 클릭해 주십시오. 5. **[Stages]** 탭을 클릭해 주십시오. 6. Stage 목록에서 비활성화할 Canary(`Stage 이름+(Canary)`)를 클릭해 선택한 후 **[Canary 비활성화]** 버튼을 클릭해 주십시오. 7. Canary 비활성화 팝업 창에서 내용을 확인한 후 **[예]** 버튼을 클릭해 주십시오. - Canary 비활성화를 완료하면 Canary가 Stage 목록에서 삭제됩니다. ### 게이트웨이 응답 정의 미리 정의된 API Gateway 응답 설정을 변경할 수 있습니다. #### 응답 확인 및 수정 API Gateway 응답을 확인하고, 변경하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 대상 API를 클릭해 주십시오. 5. **[Gateway Responses]** 탭을 클릭해 주십시오. 6. 응답 목록에서 응답 유형을 클릭해 상세 정보를 확인하거나 변경해 주십시오. - **상세정보** 영역 - **상태 코드**: 현재 정의된 응답 코드 - **기본 설정**: 응답 유형이 기본 설정인지의 여부 - 응답 유형에 대한 응답 코드를 수정하려면 **상태 코드** 항목의 **[수정]** 버튼을 클릭해 코드(100~599)를 수정한 후 **[저장]** 버튼을 클릭해 주십시오. 수정을 취소하려면 **[취소]** 버튼을 클릭해 주십시오. - 변경 사항이 설정되면 **기본 설정** 항목이 **예**에서 **아니오**로 변경됩니다. - **응답 헤더** 영역 - 응답 헤더를 추가하려면 헤더 이름과 헤더 값(변수 또는 static)을 입력한 후 **[추가]** 버튼을 클릭해 주십시오. - 응답 헤더의 이름은 어떤 유효한 문자열도 될 수 있습니다. - 응답 헤더 값은 유효한 요구 파라미터나 작은따옴표로 묶은 static 값이 될 수 있습니다. - 추가한 응답 헤더를 삭제하려면 해당 응답 헤더의 **[삭제]** 버튼을 클릭한 후 응답 헤더 삭제 팝업 창에서 **[삭제]** 버튼을 클릭해 주십시오. - 응답 헤더와 응답 메시지에 사용할 수 있는 콘텐츠 변수는 [콘텐츠 변수](/docs/api-gateway-myproducts#%EC%BD%98%ED%85%90%EC%B8%A0%EB%B3%80%EC%88%98)를 참고해 주십시오. - **매핑 템플릿** 영역 - 데이터 반환을 위한 본문 매핑 템플릿을 지정할 수 있습니다. 템플릿은 Apache Velocity Template Language(VTL)를 이용 시 선언됩니다. - 매핑 템플릿을 추가하려면 **[추가]** 버튼을 클릭한 후 매핑 템플릿 추가 팝업 창에서 콘텐츠 유형과 매핑 템플릿 정보를 입력한 후 **[추가]** 버튼을 클릭해 주십시오. - 매핑 템플릿을 수정하려면 목록에서 수정할 매핑 템플릿을 클릭해 선택한 후 **[수정]** 버튼을 클릭해 주십시오. 이후 매핑 템플릿 수정 팝업 창에서 매핑 템플릿 정보를 수정한 후 **[수정]** 버튼을 클릭해 주십시오. - 매핑 템플릿을 삭제하려면 목록에서 삭제할 매핑 템플릿을 클릭해 선택한 후 **[삭제]** 버튼을 클릭해 주십시오. 이후 매핑 템플릿 삭제 팝업 창에서 **[삭제]** 버튼을 클릭해 주십시오. - 변경 사항을 기본값으로 재설정하려면 목록에서 재설정할 응답 유형을 클릭해 선택한 후 **[재설정]** 버튼을 클릭해 주십시오. 이후 재설정 팝업 창에서 내용을 확인한 후 **[재설정]** 버튼을 클릭해 주십시오. 변경 사항이 설정되면 **기본 설정** 항목이 **아니오**에서 **예**로 변경됩니다. #### 콘텐츠 변수 응답 헤더와 응답 메시지에는 다음의 콘텐츠 변수를 사용할 수 있습니다. | 콘텐츠 변수 | 설명 | | --- | --- | | ${context.productName} | Product 이름 | | ${context.apiName} | API 이름 | | ${context.httpMethod} | 메서드 | | ${context.error.message} | 에러 메시지 문자열 | | ${context.error.messageString} | 에러 메시지 문자열, "$context.error.message" | | ${context.error.responseType} | 응답 유형 | | ${context.identity.accountId} | AccessKey의 계정ID(IAM 인증을 사용한 경우) | | ${context.identity.apiKey} | API Key(API Key를 사용하는 경우) | | ${context.identity.sourceIp} | 호출자 IP | | ${context.identity.user} | ${context.identity.accountId}와 동일 | | ${context.identity.userAgent} | User Agent | | ${context.path} | URL 경로 | | ${context.protocol} | 호출 프로토콜(<예시> HTTP/1.1) | | ${context.requestId} | 요청 ID | | ${context.requestTime} | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(millisecond)로 나타낸 숫자 | | ${context.resourcePath} | 리소스 경로 | | ${context.methodCode} | 엔드포인트의 메서드 | | ${context.methodName} | 엔드포인트의 메서드 | | ${context.status} | 응답 코드 | | ${context.stage} | Stage 이름 | | ${method.request.path.PARAM_NAME} | 요청의 경로 변수 | | ${method.request.queryString.PARAM_NAME} | 요청의 쿼리 스트링 | | ${method.request.header.PARAM_NAME} | 요청의 헤더 | ### 요청과 응답의 바디 모델 정의 API 명세에서 사용하기 위한 바디 모델을 정의할 수 있습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 바디 모델을 정의할 API를 클릭해 주십시오. 5. **[Models]** 탭을 클릭해 주십시오. 6. 필요에 따라 모델의 새로 정의하거나 수정 및 삭제해 주십시오. - 모델을 추가하려면 **[추가]** 버튼을 클릭한 후 Model 추가 팝업 창에서 정보를 입력한 다음 **[추가]** 버튼을 클릭해 주십시오. - **Model 이름**: 생성할 Model 이름 입력 - **설명**: Model에 대한 설명 입력 - **Schema**: 모델을 선언할 때는 JSON schema 사용 - **[Schema]** 탭: 스키마 작성 - **[미리보기]** 탭: 작성한 스키마 동작을 미리 확인 - 작성 예제 ``` { "title": "Person", "type": "object", "properties": { "firstName": { "type": "string" }, "lastName": { "type": "string" }, "age": { "description": "Age in years", "type": "integer", "minimum": 0 } }, "required": ["firstName", "lastName"] } ``` - 모델을 수정하려면 목록에서 수정할 모델을 클릭해 선택한 후 **[수정]** 버튼을 클릭해 주십시오. 이후 Model 수정 팝업 창에서 모델 정보를 수정한 다음 **[수정]** 버튼을 클릭해 주십시오. - 모델을 삭제하려면 목록에서 삭제할 모델을 클릭해 선택한 후 **[삭제]** 버튼을 클릭해 주십시오. 이후 삭제 팝업 창에서 **[삭제]** 버튼을 클릭해 주십시오. ### API 설명서의 Overview 작성 API 설명서의 Overview를 Markdown 문법으로 작성할 수 있습니다. API 설명서의 Overview를 작성하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 설명서를 작성할 API를 클릭해 주십시오. 5. **[Overview]** 탭을 클릭해 주십시오. 6. **[수정]** 버튼을 클릭해 주십시오. 7. **[입력]** 탭을 클릭해 주십시오. 8. 입력란에 Markdown 문법으로 Overview를 작성한 후 **[저장]** 버튼을 클릭해 주십시오. - 작성한 내용을 미리 확인해 보려면 **[미리보기]** 탭을 클릭해 주십시오. - 작성한 Overview는 [Catalog에서 확인](/docs/api-gateway-myproducts#Catalog%ED%99%95%EC%9D%B8)할 수 있으며, Catalog 화면에서도 수정할 수 있습니다. ## API 배포 등록한 API를 배포하는 방법은 다음과 같습니다. 참고 API를 배포하려면 먼저 Stage를 생성해야 합니다. Stage를 생성하는 방법은 [Stage 생성](/docs/api-gateway-myproducts#Stage%EC%83%9D%EC%84%B1)을 참고해 주십시오. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 배포할 API가 있는 Product의 **APIs** 열의 ![i-apigateway-apis](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apis.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. - 상세 정보의 **APIs** 목록에 있는 API 이름을 클릭하면 해당 API가 선택된 API 목록 화면으로 이동합니다. 4. API 목록에서 배포할 API를 클릭해 주십시오. 5. **[API 배포]** 버튼을 클릭해 주십시오. 6. API 배포 팝업 창에서 API 배포 정보를 설정한 후 **[추가]** 버튼을 클릭해 주십시오. - **배포할 Stage**: 배포할 Stage를 선택 - **설명**: 배포에 대한 설명을 입력 7. API 배포 성공 팝업 창에서 **[확인]** 버튼을 클릭해 주십시오. - API는 하나의 Stage에 여러 번 배포할 수 있으며, [배포 이력(Deployment History)](/docs/api-gateway-myproducts#%EB%B0%B0%ED%8F%AC%EC%9D%B4%EB%A0%A5%ED%99%95%EC%9D%B8%EB%B0%8F%EA%B4%80%EB%A6%AC)을 통해 관리할 수 있습니다. ## API 호출 배포한 API를 호출할 수 있습니다. API 설정에 따라 호출할 때 인증이 필요합니다. ### 인증이 필요 없는 API 호출 인증이 필요 없는 API를 호출하는 경우 다음 예를 참고해 주십시오. ``` curl -i -X GET https://uh7m0wgsis.apigw.gov-ntruss.com/petStore/v1/pets ``` ### API Key가 필요한 API 호출 API Key가 필요한 API를 호출하는 경우 다음 내용과 예를 참고해 주십시오. | 헤더 | 설명 | | --- | --- | | x-ncp-apigw-api-key | API Gateway에서 발급받은 키(Primary Key 또는 Secondary Key) API Key를 요구하는 경우에만 추가 | ``` curl -i -X GET \ -H "x-ncp-apigw-api-key:cstWXuw4wqp1EfuqDwZeMz5fh0epaTykRRRuy5Ra" \ 'https://uh7m0wgsis.apigw.gov-ntruss.com/petStore/v1/pets' ``` ### IAM 인증이 필요한 API 호출 IAM 인증이 필요한 API를 호출하는 경우 다음 내용과 예를 참고해 주십시오. - 관련 FAQ : [IAM 인증을 사용하여 API 호출 시 API 호출이 왜 실패하나요?](https://www.gov-ncloud.com/support/faq/prod/4137) 참고 API 인증 방법이 **IAM** 또는 **IAM + AUTHORIZATION** 인 경우, 아래와 같이 API 호출 시 IAM 인증이 필요합니다. API 인증 방법 설정은 [메서드 생성](/docs/api-gateway-myproducts#%EB%A9%94%EC%84%9C%EB%93%9C%EC%83%9D%EC%84%B1)을 참조해 주십시오. | 헤더 | 설명 | | --- | --- | | x-ncp-apigw-api-key | API Gateway에서 발급받은 키(Primary Key 또는 Secondary Key) API Key를 요구하는 경우에만 추가 | | x-ncp-apigw-timestamp | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(millisecond)로 나타낸 것 API Gateway 서버와 시간차가 5분 이상 나는 경우 유효하지 않은 요청으로 간주 | | x-ncp-iam-access-key | 포털 또는 Sub Account에서 발급받은 Access Key ID | | x-ncp-apigw-signature-v2 | Access Key ID와 맵핑되는 SecretKey로 암호화한 서명 HMAC 암호화 알고리즘은 HmacSHA256 사용 | ``` curl -i -X GET \ -H "x-ncp-apigw-timestamp:1505290625682" \ -H "x-ncp-apigw-api-key:cstWXuw4wqp1EfuqDwZeMz5fh0epaTykRRRuy5Ra" \ -H "x-ncp-iam-access-key:D78BB444D6D3C84CA38A" \ -H "x-ncp-apigw-signature-v2:WTPItrmMIfLUk/UyUIyoQbA/z5hq9o3G8eQMolUzTEo=" \ 'https://uh7m0wgsis.apigw.gov-ntruss.com/photos/puppy.jpg?query1=&query2' ``` - Access Key ID, SecretKey 확인 Access Key ID, SecretKey는 콘솔의 **My Account** > **계정 및 보안 관리** > **보안 관리** > **접근 관리** > **API 인증키** 에서 확인할 수 있습니다. - Signature 생성 - | 요청 | StringToSign | | --- | --- | | GET /photos/puppy.jpg?query1=&query2 x-ncp-apigw-timestamp={timestamp} x-ncp-apigw-api-key={apiKey} x-ncp-iam-access-key={accesskey} x-ncp-apigw-signature-v2={signature} | GET /photos/puppy.jpg?query1=&query2 {timeStamp} {accessKey} | 주의 요청 헤더의 x-ncp-apigw-timestamp 값과 StringToSign의 timestamp는 반드시 같아야 합니다. 참고 - 서명에 사용되는 URL에는 도메인이 포함되지 않습니다. - 개행문자는 \n을 사용합니다. 요청에 맞게 StringToSign를 생성하고 SecretKey를 HmacSHA256 알고리즘으로 암호화한 후 Base64로 인코딩합니다. 이 값을 `x-ncp-apigw-signature-v2`로 사용합니다. 코드 종류별 샘플 코드는 다음과 같습니다. - Java 샘플 코드 ``` public String makeSignature() { String space = " "; // one space String newLine = "\n"; // new line String method = "GET"; // method String url = "/photos/puppy.jpg?query1=&query2"; // url (include query string) String timestamp = "{timestamp}"; // current timestamp (epoch) String accessKey = "{accessKey}"; // access key id (from portal or sub account) String secretKey = "{secretKey}"; String message = new StringBuilder() .append(method) .append(space) .append(url) .append(newLine) .append(timestamp) .append(newLine) .append(accessKey) .toString(); SecretKeySpec signingKey = new SecretKeySpec(secretKey.getBytes("UTF-8"), "HmacSHA256"); Mac mac = Mac.getInstance("HmacSHA256"); mac.init(signingKey); byte[] rawHmac = mac.doFinal(message.getBytes("UTF-8")); String encodeBase64String = Base64.getEncoder(rawHmac); return encodeBase64String; } ``` - Javascript 샘플 코드 ``` /* https://code.google.com/archive/p/crypto-js/ https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/crypto-js/CryptoJS%20v3.1.2.zip */ /* CryptoJS v3.1.2 code.google.com/p/crypto-js (c) 2009-2013 by Jeff Mott. All rights reserved. code.google.com/p/crypto-js/wiki/License */ function makeSignature() { var space = " "; // one space var newLine = "\n"; // new line var method = "GET"; // method var url = "/photos/puppy.jpg?query1=&query2"; // url (include query string) var timestamp = "{timestamp}"; // current timestamp (epoch) var accessKey = "{accessKey}"; // access key id (from portal or sub account) var secretKey = "{secretKey}"; // secret key (from portal or sub account) var hmac = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, secretKey); hmac.update(method); hmac.update(space); hmac.update(url); hmac.update(newLine); hmac.update(timestamp); hmac.update(newLine); hmac.update(accessKey); var hash = hmac.finalize(); return hash.toString(CryptoJS.enc.Base64); } ``` - Python3 샘플 코드 ``` import hashlib import hmac import base64 import time def make_signature(): timestamp = int(time.time() * 1000) timestamp = str(timestamp) access_key = "{accessKey}" # access key id (from portal or sub account) secret_key = "{secretKey}" # secret key (from portal or sub account) secret_key = bytes(secret_key, 'UTF-8') method = "GET" uri = "/photos/puppy.jpg?query1=&query2" message = method + " " + uri + "\n" + timestamp + "\n" + access_key message = bytes(message, 'UTF-8') signingKey = base64.b64encode(hmac.new(secret_key, message, digestmod=hashlib.sha256).digest()) return signingKey ``` ``` - Bash 샘플 코드 ``` function makeSignature() { nl= $ '\\n' TIMESTAMP=$(echo $(($(date +%s%N)/1000000))) ACCESSKEY="{accessKey}" # access key id (from portal or sub account) SECRETKEY="{secretKey}" # secret key (from portal or sub account) METHOD="GET" URI="/photos/puppy.jpg?query1=&query2" SIG="$METHOD"' '"$URI"${nl} SIG+="$TIMESTAMP"${nl} SIG+="$ACCESSKEY" SIGNATURE=$(echo -n -e "$SIG"|iconv -t utf8 |openssl dgst -sha256 -hmac $SECRETKEY -binary|openssl enc -base64) } ``` - Objective-C 샘플 코드 ``` #include #include - (NSString*) makeSignature { NSString* space = @" "; NSString* newLine = @"\n"; NSString* method = @"GET"; NSString* url = @"/photos/puppy.jpg?query1=&query2"; NSString* timestamp = @"{timestamp}"; NSString* accessKey = @"{accessKey}"; NSString* secretKey = @"{secretKey}"; NSString* message = [[NSString alloc] init]; message = [message stringByAppendingString:method]; message = [message stringByAppendingString:space]; message = [message stringByAppendingString:url]; message = [message stringByAppendingString:newLine]; message = [message stringByAppendingString:timestamp]; message = [message stringByAppendingString:newLine]; message = [message stringByAppendingString:accessKey]; const char *cKey = [secretKey cStringUsingEncoding:NSASCIIStringEncoding]; const char *cData = [message StringUsingEncoding:NSASCIIStringEncoding]; unsigned char cHMAC[CC_SHA256_DIGEST_LENGTH]; CCHmac(kCCHmacAlgSHA256, cKey, strlen(cKey), cData, strlen(cData), cHMAC); NSData *hash = [[NSData alloc] initWithBytes:cHMAC length:sizeof(cHMAC)]; const uint8_t* input = (const uint8_t*)[hash bytes]; NSInteger length = [theData length]; static char table[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; NSMutableData* data = [NSMutableData dataWithLength:((length + 2) / 3) * 4]; uint8_t* output = (uint8_t*)data.mutableBytes; NSInteger i; for (i=0; i < length; i += 3) { NSInteger value = 0; NSInteger j; for (j = i; j < (i + 3); j++) { value <<= 8; if (j < length) { value |= (0xFF & input[j]); } } NSInteger theIndex = (i / 3) * 4; output[theIndex + 0] = table[(value >> 18) & 0x3F]; output[theIndex + 1] = table[(value >> 12) & 0x3F]; output[theIndex + 2] = (i + 1) < length ? table[(value >> 6) & 0x3F] : '='; output[theIndex + 3] = (i + 2) < length ? table[(value >> 0) & 0x3F] : '='; } return [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]; } ``` - C# 샘플 코드 ``` using System; using System.Text; using System.Security.Cryptography; class ApiGateway { static String MakeSignature() { String method = "GET"; String space = " "; String url = "/photos/puppy.jpg?query1=&query2"; String newLine = "\n"; String timestamp = "{timestamp}"; String accessKey = "{accessKey}"; String secretKey = "{secretKey}"; var message = new StringBuilder(); message.Append(method); message.Append(space); message.Append(url); message.Append(newLine); message.Append(timestamp); message.Append(newLine); message.Append(accessKey); string result = message.ToString(); String signature = string.Empty; byte[] byteSecretKey = Encoding.UTF8.GetBytes(secretKey); using (HMACSHA256 hmacSha256 = new HMACSHA256(byteSecretKey)) { Byte[] dataToHmac = System.Text.Encoding.UTF8.GetBytes(result); signature = Convert.ToBase64String(hmacSha256.ComputeHash(dataToHmac)); } return signature; } } ``` - PHP 샘플 코드 ``` ``` ### 에러 코드 API 호출 시 나타날 수 있는 에러 코드의 종류와 설명은 다음과 같습니다. | HttpStatusCode | ErrorCode | ErrorMessage | 설명 | | --- | --- | --- | --- | | 400 | 100 | Bad Request Exception | protocol(https), endocing(UTF-8) 등 request 에러 | | 401 | 200 | Authentication Failed | 인증 실패 | | 401 | 210 | Permission Denied | 권한 없음 | | 403 | 230 | Forbidden | 권한 없음 | | 404 | 300 | Not Found Exception | Not found | | 429 | 400 | Quota Exceeded | Quota 초과 | | 429 | 410 | Throttle Limited | Rate 초과 | | 429 | 420 | Rate Limited | Rate 초과 | | 413 | 430 | Request Entity Too Large | 요청 엔티티 크기 초과 | | 415 | 440 | Unsupported Media Type | 지원되지 않는 미디어 유형 | | 503 | 500 | Endpoint Error | 엔드포인트 연결 에러 | | 504 | 510 | Endpoint Timeout | 엔드포인트 연결 시간 초과 | | 503 | 520 | Unknown Endpoint Domain | 알 수 없거나 설정 되지 않은 엔드포인트 | | 503 | 530 | Connection Closed By Endpoint | 엔드포인트 연결 닫힘 | | 500 | 900 | Unexpected Error | 예외 처리가 안된 에러 | - 관련 FAQ : [API 호출시 에러가 발생하는 경우 에러 내용을 알 수 있나요?](https://www.gov-ncloud.com/support/faq/prod/4138) ### 에러 응답 형식 API 호출 시 나타날 수 있는 에러 응답 형식은 다음과 같습니다. - 요청 Content-Type이 application/xml일 때 ``` 210 Permission Denied ``` - 그 외 ``` { "error":{ "errorCode":"210", "message":"Permission Denied" } } ``` ## 문서 관리 API 문서는 다음 3가지 종류가 있습니다. 각 문서에 대한 내용은 해당 사용 가이드를 참고해 주십시오. - [API의 Overview](/docs/api-gateway-myproducts#API%EC%84%A4%EB%AA%85%EC%84%9C%EC%9D%98Overview%EC%9E%91%EC%84%B1): API 설명서의 개요 - [Stage의 Document](/docs/api-gateway-myproducts#Document%ED%99%95%EC%9D%B8): API 설명서 - [Product의 Catalog](/docs/api-gateway-myproducts#Catalog%ED%99%95%EC%9D%B8): 게시된 API 문서의 개요(Overview)와 설명서(Document)의 묶음 ## Catalog 확인 게시된 API 문서의 개요(Overview)와 설명서(Document)를 확인할 수 있습니다. 개요의 경우 내용을 수정할 수 있습니다. 참고 - Catalog를 확인하려면 먼저 [API를 Stage에 배포](/docs/api-gateway-myproducts#API%EB%B0%B0%ED%8F%AC)한 후 해당 Stage를 게시해야 합니다. API를 게시하는 방법은 [API 게시](/docs/api-gateway-myproducts#API%EA%B2%8C%EC%8B%9C)를 참고해 주십시오. - 다른 사용자가 게시하여 공개한 Catalog를 참고 및 구독할 수 있습니다. 자세한 내용은 [**Published APIs**](/docs/api-gateway-published-apis) 사용 가이드를 참고해 주십시오. Catalog를 확인하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 Catalog를 확인할 Product의 **Catalog** 열의 ![i-apigateway-view](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-view.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. 4. 해당 Product의 API 목록에서 Catalog를 확인할 API의 이름을 클릭해 정보를 확인해 주십시오. - [**Overview**](/docs/api-gateway-myproducts#API%EC%84%A4%EB%AA%85%EC%84%9C%EC%9D%98Overview%EC%9E%91%EC%84%B1): API 설명서의 개요 - 수정하려면 **[수정]** 버튼을 클릭해 **[입력]** 탭의 입력란에 내용을 입력한 후 **[저장]** 버튼을 클릭 - 수정 작성한 내용을 미리 확인하려면 **[미리보기]** 탭 클릭 - [**API 설명서**](/docs/api-gateway-myproducts#Document%ED%99%95%EC%9D%B8) - 게시된 API 설명서 내용을 Swagger UI 형태로 확인하려면 Stage 이름 또는 ![i-apigateway-view](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-view.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭 ## API 게시 개발한 API를 다른 사용자가 API 설명서를 참고하여 사용할 수 있도록 게시할 수 있습니다. API를 게시하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **게시** 열의 ![i-apigateway-publish](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-publish.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. 4. 해당 Product의 Catalog 목록에서 게시할 API의 이름을 클릭하고 **[게시]** 버튼을 클릭해 주십시오. 5. 게시 성공 팝업 창이 나타나면 **[확인]** 버튼을 클릭해 주십시오. ## Stage에 API Key 연결 및 관리 **API Keys** 메뉴에서 생성한 API Key를 Stage에 등록하고, 사용 상태 및 API 사용량을 설정할 수 있습니다. ### API Key 연결 Stage에 API Key를 연결하는 방법은 다음과 같습니다. 참고 Stage에 API Key를 연결하려면 먼저 API Key를 생성해야 합니다. 자세한 내용은 [API Keys](/docs/api-gateway-apikeys) 사용 가이드를 참고해 주십시오. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **API Keys** 열의 ![i-apigateway-apikeys](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apikeys.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. 4. **[내 API Key 추가]** 버튼을 클릭해 주십시오. 5. 내 API Key 추가 팝업 창에서 연결할 API Key를 클릭해 선택한 후 **[추가]** 버튼을 클릭해 주십시오. - API Key 이름을 입력한 후 ![i-apigateway-find](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-find.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 원하는 API Key를 빠르게 찾을 수 있습니다. 6. API Key 목록 화면에서 Stage에 연결된 API Key가 추가되었는지 확인해 주십시오. API Key가 연결된 후의 API Key 목록에 대한 설명은 다음과 같습니다. ![apigw-myproducts-apikeys_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/apigw-myproducts-apikeys_ko.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D) | 영역 | 설명 | | --- | --- | | ① **내 API Key 추가** | Stage에 [API Key를 연결](/docs/api-gateway-myproducts#APIKey%EC%97%B0%EA%B2%B0) | | ② **상태 변경** | API에 대한 [API Key의 사용 상태를 변경](/docs/api-gateway-myproducts#APIKey%EC%9D%98%EC%83%81%ED%83%9C%EB%B3%80%EA%B2%BD) | | ③ **Usage Plans** | API Key에 대한 [Usage Plan 변경](/docs/api-gateway-myproducts#APIKey%EC%9D%98UsagePlan%EB%B3%80%EA%B2%BD) | | ④ 검색창 | 검색 조건을 선택하고 검색어를 입력한 후 ![i-apigateway-find](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-find.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 항목 검색 | | ⑤ 필터 | API Key의 사용 상태에 따라 목록을 정렬 | | ⑥ 정렬 | 목록 페이지당 표시할 API Key 개수 설정 | | ⑦ API Key 목록 | 해당 Stage에 연결된 API Key 항목 - **API Key ID**: Stage에 연결한 API Key의 ID - **API Key 이름**: Stage에 연결한 API Key의 이름 - **Primary Key**: Stage에 연결한 API Key의 Primary Key - **Secondary Key**: Stage에 연결한 API Key의 Secondary Key - **상태**: 현재 API Key의 상태(**요청**, **승인**, **거부**, **요청 거부**, **요청 차단**) 표시 - **요청 일시**: API Key와 Stage 연결을 요청한 일시 - **수정 일시**: API Key의 상태를 수정한 일시 | ### API Key의 상태 변경 API에 대한 API Key의 사용 상태를 변경할 수 있습니다. API Key의 사용 상태를 변경하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **API Keys** 열의 ![i-apigateway-apikeys](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apikeys.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. 4. API Key 목록 화면에서 상태를 변경할 API Key를 클릭해 선택한 후 **[상태 변경]** 버튼을 클릭해 주십시오. 5. 상태 팝업 창에서 **상태**를 선택해 변경한 후 **[저장]** 버튼을 클릭해 주십시오. - **요청**: API Key 승인을 요청한 상태 - **승인**: API를 호출할 수 있는 상태 - **거부**: 승인된 API Key가 API를 호출할 수 없도록 거부한 상태 - **요청 거부**: API Key 승인 요청을 거부한 상태 - **요청 차단**: API Key 승인 요청을 차단한 상태 ### API Key의 Usage Plan 변경 API Key의 Usage Plan을 변경하는 방법은 다음과 같습니다. 참고 - 사용량은 일/월의 시작을 기준으로 카운트됩니다. - 엔드포인트의 응답 코드에 따라 사용량이 카운트됩니다. - **API Key 필요** 설정을 활성화해야만 Usage Plan이 적용됩니다. API Key 필요 설정 방법은 [메서드 생성](/docs/api-gateway-myproducts#%EB%A9%94%EC%84%9C%EB%93%9C%EC%83%9D%EC%84%B1) 을 참조해 주십시오. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Application Services** > **API Gateway** 메뉴를 차례대로 클릭해 주십시오. 2. **My Products** 메뉴를 클릭해 주십시오. 3. Product 목록에서 대상 Product의 **API Keys** 열의 ![i-apigateway-apikeys](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/i-apigateway-apikeys.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A40%3A46Z&se=2026-11-07T17%3A40%3A46Z&sr=c&sp=r&sig=wAQ71DPuTgV9UtubhQHhZ4Axhmr5ZGKMw%2BaWegfEpCM%3D)을 클릭해 주십시오. 4. API Key 목록 화면에서 Usage Plan을 변경할 API Key를 클릭해 선택한 후 **[Usage Plans]** 버튼을 클릭해 주십시오. 5. Usage Plans 목록 화면에서 대상 API를 선택한 후 **[Usage Plan 수정]** 버튼을 클릭해 주십시오. - **API**: API Key가 연결된 API 이름 - **Stage**: API Key가 연결된 Stage 이름 - **Usage Plan**: Stage에 설정되어 있는 Usage Plan 이름 - **요청 일시**: API Key와 Stage 연결을 요청한 일시 - **수정 일시**: Usage Plan을 설정 변경한 일시 - **일별 호출수/요청 처리 한도**: 일별 호출 수와 Usage Plan에 설정된 일별 요청 처리 한도 값 표시 - **월별 호출수/요청 처리 한도**: 월별 호출 수와 Usage Plan에 설정된 월별 요청 처리 한도 값 표시 6. Usage Plan 수정 팝업 창에서 **Usage Plan**을 선택해 변경한 후 **[저장]** 버튼을 클릭해 주십시오. - **기본 Usage Plan**: Stage의 **[Usage Plans]** 탭의 **Default Usage Plan** 항목에서 설정한 API 사용량([Stage의 Usage Plan 변경](/docs/api-gateway-myproducts#UsagePlans%EB%B3%80%EA%B2%BD) 참고) - Stage에 연결된 Usage plan: **Usage plans** 메뉴에서 생성하고 해당 Stage의 **[Usage Plans]** 탭에서 연결한 Usage plan 표시. Usage Plan 옆의 숫자는 연결된 Stage의 수 ## 사용 한도 | 설명 | 제한 | | --- | --- | | **Product 생성 개수** | 60 | | **Product당 가능한 API 생성 개수** | 20 | | **API key 생성 개수** | 500 | | **API당 Resource 생성 개수** | 300 | | **API당 Stage 생성 개수** | 10 | | **Usage plan 생성 개수** | 300 | | **TTL 설정** | 1 ~ 3600초 | | **TTL 설정 (Stream API)** | 캐시안됨 | | **API 처리 시간** | 600초 | | **Endpoint API 처리 시간** | 30초 | | **Endpoint API 처리 시간 (Stream API)** | 300초 | | **요청 바디** | 10 MB | | **요청 바디 (Stream API)** | 100MB |