이 문서에서는 Cloud Data Loss Prevention API를 사용하여 이미지에서 민감한 텍스트와 객체를 감지하는 방법을 설명합니다. Sensitive Data Protection은 감지된 민감한 정보의 위치를 반환합니다.
이미지를 입력으로 제공하면 Sensitive Data Protection은 이미지에서 민감한 정보를 감지합니다. 검사 작업의 결과에는 감지된 infoTypes, 일치 가능성, Sensitive Data Protection이 찾은 민감한 정보의 영역을 나타내는 픽셀 좌표 및 길이 값이 포함됩니다. 이미지의 왼쪽 하단 모서리에 있는 좌표는 (0,0)입니다.
모든 기본 infoType에 대한 이미지 검사
이미지에서 민감한 정보를 검사하려면 base64로 인코딩된 이미지를 content.inspect 메서드에 제출합니다. 검색할 특정 정보 유형 (infoTypes)을 지정하지 않으면 Sensitive Data Protection은 가장 일반적인 infoType을 검색합니다.
모든 기본 infoType에 대한 이미지를 검사하려면 다음 단계를 따르세요.
- 이미지를 base64로 인코딩합니다.
- DLP API의
content.inspect메서드에 요청을 제출합니다. 요청에는 base64로 인코딩된 이미지만 있으면 됩니다.
예를 들어 다음 문서 이미지를 살펴보겠습니다.
C#
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST
이 이미지를 기본 infoType에 대해 검사하려면 다음 JSON을 content.inspect 메서드로 보냅니다.
{ "item": { "byteItem": { "data": "BASE64_ENCODED_IMAGE", "type": "IMAGE_PNG" } } }
출력은 다음과 비슷합니다.
{ "result": { "findings": [ { "infoType": { "name": "PERSON_NAME", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "LIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 383, "left": 419, "width": 82, "height": 38 }, { "top": 383, "left": 494, "width": 91, "height": 37 } ] } } ] }, "createTime": "2025-05-22T20:27:03.730Z", "findingId": "2025-05-22T20:27:03.731510Z4997664074931396457" }, { "infoType": { "name": "EMAIL_ADDRESS", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "VERY_LIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 445, "left": 390, "width": 357, "height": 48 } ] } } ] }, "createTime": "2025-05-22T20:27:03.728Z", "findingId": "2025-05-22T20:27:03.731538Z284444825812417100" }, { "infoType": { "name": "PHONE_NUMBER", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "VERY_LIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 515, "left": 404, "width": 223, "height": 34 } ] } } ] }, "createTime": "2025-05-22T20:27:03.729Z", "findingId": "2025-05-22T20:27:03.731544Z7910624062018243126" }, { "infoType": { "name": "PERSON_NAME", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "UNLIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 798, "left": 473, "width": 81, "height": 45 } ] } } ] }, "createTime": "2025-05-22T20:27:03.730Z", "findingId": "2025-05-22T20:27:03.731551Z2345136870450870227" }, { "infoType": { "name": "PERSON_NAME", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "UNLIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 837, "left": 1166, "width": 46, "height": 45 } ] } } ] }, "createTime": "2025-05-22T20:27:03.730Z", "findingId": "2025-05-22T20:27:03.731557Z6725780456697828166" }, { "infoType": { "name": "PERSON_NAME", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "UNLIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 915, "left": 453, "width": 141, "height": 43 } ] } } ] }, "createTime": "2025-05-22T20:27:03.730Z", "findingId": "2025-05-22T20:27:03.731562Z7328853308213386463" }, { "infoType": { "name": "PERSON_NAME", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "UNLIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 915, "left": 1180, "width": 105, "height": 43 } ] } } ] }, "createTime": "2025-05-22T20:27:03.730Z", "findingId": "2025-05-22T20:27:03.731569Z5618332947461439057" } ] } }
이 예시에서 Sensitive Data Protection은 다음 infoType을 찾았으나 각 infoType의 일치 신뢰도는 경우에 따라 다릅니다.
PERSON_NAMEEMAIL_ADDRESSPHONE_NUMBER
JSON과 함께 DLP API를 사용하는 데 대한 자세한 내용은 JSON 빠른 시작을 참조하세요.
Sensitive Data Protection은 종종 여러 상자를 사용하여 이미지에서 민감한 정보의 단일 인스턴스 위치를 나타냅니다.
특정 infoType에 대한 이미지 검사
이미지에서 특정 민감한 정보 유형만 검사하려면 해당하는 기본 제공 infoType을 지정합니다.
특정 infoType에 대한 이미지를 검사하려면 다음 단계를 따르세요.
- 이미지를 base64로 인코딩합니다.
- DLP API의
content.inspect메서드에 요청을 제출합니다. 요청에는 다음이 포함되어야 합니다.- base64로 인코딩된 이미지
- 1개 이상의 infoType 감지기
C#
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST
이전 섹션의 원본 이미지를 다시 살펴보겠습니다. 이메일 주소와 전화번호만 검사하려면 다음 JSON을 content.inspect 메서드에 전송합니다.
{ "item": { "byteItem": { "data": "BASE64_ENCODED_IMAGE", "type": "IMAGE_PNG" } }, "inspectConfig": { "infoTypes": [ { "name": "PHONE_NUMBER" }, { "name": "EMAIL_ADDRESS" } ] } }
출력은 다음과 비슷합니다.
{ "result": { "findings": [ { "infoType": { "name": "EMAIL_ADDRESS", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "VERY_LIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 445, "left": 390, "width": 357, "height": 48 } ] } } ] }, "createTime": "2025-05-22T20:59:48.653Z", "findingId": "2025-05-22T20:59:48.654873Z3907900286477341146" }, { "infoType": { "name": "PHONE_NUMBER", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "VERY_LIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 515, "left": 404, "width": 223, "height": 34 } ] } } ] }, "createTime": "2025-05-22T20:59:48.653Z", "findingId": "2025-05-22T20:59:48.654914Z7486984971818202511" } ] } }
JSON과 함께 DLP API를 사용하는 데 대한 자세한 내용은 JSON 빠른 시작을 참조하세요.
이미지에서 민감한 객체 검사
이미지에서 민감한 객체를 검사하려면 요청에 기본 제공 객체 infoType 감지기를 지정합니다.
특정 객체 infoType에 대한 이미지를 검사하려면 다음 단계를 따르세요.
- 이미지를 base64로 인코딩합니다.
- DLP API의
content.inspect메서드에 요청을 제출합니다. 요청에는 다음이 포함되어야 합니다.- base64로 인코딩된 이미지
- 1개 이상의 객체 infoType 감지기
예를 들어 다음 이미지를 살펴보겠습니다.
이 이미지를 특정 객체 infoType에 대해 검사하려면 다음 JSON을 content.inspect 메서드로 보냅니다.
{ "item": { "byteItem": { "data": "BASE64_ENCODED_IMAGE", "type": "IMAGE_PNG" } }, "inspectConfig": { "infoTypes": [ { "name": "OBJECT_TYPE/BARCODE" }, { "name": "OBJECT_TYPE/LICENSE_PLATE" }, { "name": "OBJECT_TYPE/WHITEBOARD" } ] } }
출력은 다음과 비슷합니다.
{ "result": { "findings": [ { "infoType": { "name": "OBJECT_TYPE/WHITEBOARD", "sensitivityScore": { "score": "SENSITIVITY_LOW" } }, "likelihood": "LIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "left": 427, "width": 561, "height": 678 } ] } } ] }, "createTime": "2025-05-22T22:25:09.564718Z", "findingId": "2025-05-22T22:25:09.564721Z3400818180961962648" }, { "infoType": { "name": "OBJECT_TYPE/LICENSE_PLATE", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "LIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 554, "left": 137, "width": 187, "height": 70 } ] } } ] }, "createTime": "2025-05-22T22:25:09.564752Z", "findingId": "2025-05-22T22:25:09.564753Z2359274424382836782" }, { "infoType": { "name": "OBJECT_TYPE/BARCODE", "sensitivityScore": { "score": "SENSITIVITY_LOW" } }, "likelihood": "LIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 569, "left": 666, "width": 306, "height": 274 } ] } } ] }, "createTime": "2025-05-22T22:25:09.564762Z", "findingId": "2025-05-22T22:25:09.564762Z1655085669963455621" } ] } }
JSON과 함께 DLP API를 사용하는 데 대한 자세한 내용은 JSON 빠른 시작을 참조하세요.
다중 페이지 TIFF 이미지 검사
Sensitive Data Protection은 최대 50페이지의 여러 페이지로 된 TIFF 이미지를 포함하여 TIFF 이미지를 검사할 수 있습니다. 이미지의 모든 페이지를 검사하고 단일 응답으로 모든 페이지의 결과를 반환합니다.
TIFF 이미지를 검사하려면 다음 단계를 따르세요.
- TIFF 이미지를 base64로 인코딩합니다.
- DLP API의
content.inspect메서드에 요청을 제출합니다. 요청에서 바이트 항목의type를IMAGE_TIFF로 설정합니다.
예를 들어 기본 infoType에 대해 TIFF 이미지를 검사하려면 다음 JSON 요청 본문을 content.inspect 메서드로 보냅니다.
{ "item": { "byteItem": { "data": "BASE64_ENCODED_IMAGE", "type": "IMAGE_TIFF" } } }
응답에서 각 발견 항목의 imageLocation에는 발견 항목이 포함된 페이지를 식별하는 pageNumber 필드가 포함됩니다. 페이지 번호는 0부터 시작합니다. 출력은 다음과 비슷합니다.
{ "result": { "findings": [ { "infoType": { "name": "EMAIL_ADDRESS", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "LIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 213, "left": 128, "width": 345, "height": 40 } ], "pageNumber": 1 } } ] }, "createTime": "2026-10-23T10:15:03.730Z", "findingId": "2026-10-23T10:15:03.731510Z4997664074931396457" } ] } }
이 예시에서 Sensitive Data Protection은 이미지의 두 번째 페이지에서 EMAIL_ADDRESS을 찾았습니다.
TIFF 이미지를 검사할 때는 다음 사항을 고려하세요.
- TIFF 이미지는 최대 50페이지까지 포함할 수 있습니다. TIFF 이미지에 페이지가 더 있으면 요청이 실패합니다. 자세한 내용은 TIFF 스캔 한도를 참조하세요.
- 이미지 기반 제외 규칙 및 조정 규칙(
ExcludeByImageFindings및AdjustByImageFindings)은 TIFF 이미지에 지원되지 않습니다. 검사 구성에 이러한 규칙이 포함된 경우 요청이 실패합니다. - TIFF 이미지를 검사할 수 있지만 수정할 수는 없습니다.
- 다른 이미지 유형과 마찬가지로 이미지 스캔을 지원하는 위치에서만 TIFF 이미지를 검사할 수 있습니다.
코드 예시
다음은 Sensitive Data Protection을 사용하여 이미지에서 민감한 정보를 검사하는 방법을 보여주는 여러 언어로 된 샘플 코드입니다.
C#
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
사용해 보기
content.inspect의 참조 페이지에서 API 탐색기로 다음 각 예를 직접 시도하거나 자체 이미지로 실험해 볼 수 있습니다.
다음 단계
- 이미지 검사 및 수정 자세히 알아보기
- 이미지에서 민감한 정보를 수정하는 방법 알아보기