--- title: "Metadata v2 사용" slug: "compute-vmetadata-metadatav2" updated: 2026-10-22T10:47:10Z published: 2026-10-22T10:47:10Z canonical: "api-gov.ncloud-docs.com/compute-vmetadata-metadatav2" --- > ## Documentation Index > Fetch the complete documentation index at: https://api-gov.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Metadata v2 사용 VPC 환경에서 이용 가능합니다. ## 개요 Metadata v1 의 SSRF 보안 취약성을 보완하기 위하여 Metadata v2 방식의 호출 방식을 사용 할 수 있습니다. - Metadata v1 - 요청 / 응답 방식 - Metadata v2 - 세션 지향 방식 서버 인스턴스의 설정에 따라서 v1, v2 방식을 모두 사용하거나 v2 방식만 사용하도록 변경할 수 있습니다. ### Metadata v1 보안 취약점 Metadata v1 방식을 사용 가능한 서버 인스턴스에서 서비스를 운영하거나 소프트웨어를 구동하는 경우, meta data (server or role data) 의 노출을 막기 위한 추가적인 조치와 주의가 필요할 수 있습니다. 만약 운영중인 서비스에 SSRF 취약점이 존재하고 이를 인지하지 못하고 있다면 외부에서 서버 인스턴스의 Metadata API를 호출하고 meta data를 획득할 수 있습니다. 이러한 보안 취약점을 차단하기 위해서는 서버 인스턴스의 Metadata 버전 설정을 v2 만 사용 가능하도록 변경해야 합니다. Metadata v2 방식은 PUT 메소드를 통해 토큰을 발급하고 Metadata API 호출에 대해서 토큰 인증을 수행하여 SSRF 취약점으로 인한 meta data의 노출을 보호할 수 있습니다. ### 서버 인스턴스의 Metadata 버전 설정 서버 인스턴스 생성 후 콘솔을 통한 설정 변경만 가능합니다. 1. 콘솔에서 **Menu** > **All Services** > **Compute** > **Server** 메뉴를 차례대로 클릭해 주십시오. 2. **서버 관리 및 설정 변경** > **Metadata API 관리** 메뉴에서 버전을 선택해 주십시오. - v1 및 v2 - v1, v2 버전을 모두 사용 가능 - Metadata API 호출 시 토큰 헤더 전달 여부에 따라서 v1, v2 방식 구분 - 토큰 헤더 미입력 시 인증 절차 없이 요청 수행 - 토큰 헤더 입력 시 전달된 헤더 값에 대한 인증 포함하여 요청 수행 - v2 (토큰 필수) - v2 버전만 사용 가능 - Metadata API 호출 시 토큰 헤더값 필수 입력 ## 예시 - Header - X-NCP-METADATA-TOKEN-TTL-SECONDS : 토큰 발급 시 세션 기간(초) 을 설정하기 위한 헤더 (1 ~ 21600 초) - X-NCP-METADATA-TOKEN : Metadata API 호출 시 발급받은 토큰을 전달하기 위한 헤더 ### 별도의 명령 ``` [roor@test-server ~]# TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-NCP-METADATA-TOKEN-TTL-SECONDS: 21600"` ``` ``` [root@test-server ~]# curl -H "X-NCP-METADATA-TOKEN: $TOKEN" http://169.254.169.254/latest/meta-data ``` ### 결합된 명령 ``` [root@test-server ~]# TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-NCP-METADATA-TOKEN-TTL-SECONDS: 21600"` \ && curl -H "X-NCP-METADATA-TOKEN: $TOKEN" http://169.254.169.254/latest/meta-data ``` 참고 토큰이 정상적으로 발급되지 않은 경우 오류 메시지가 변수에 저장될 수 있습니다. 이 경우에 Metadata API 호출이 정상 작동하지 않습니다. ### 인증 오류 응답 ``` [root@test-server ~]# curl -H "X-NCP-METADATA-TOKEN: wrong-token" -i http://169.254.169.254/latest/meta-data HTTP/1.1 401 401 Date: Tue, 11 Apr 2023 02:42:02 GMT Server: Apache Referrer-Policy: unsafe-url Connection: close Transfer-Encoding: chunked Content-Type: text/plain;charset=UTF-8 Unauthorized. [root@test-server ~]# ```