이 문서에서는 BigQuery 테이블에서 민감한 정보를 검사하고 검사 결과를 Knowledge Catalog로 전송하는 방법을 설명합니다. 이 작업은 BigQuery 테이블과 연결된 Knowledge Catalog 항목에 관점을 자동으로 추가합니다.
이 문서에서는 특정 관점 값을 사용하여 조직 및 프로젝트 전반에서 데이터를 찾는 데 사용할 수 있는 쿼리 예시도 제공합니다.
이 기능은 Knowledge Catalog의 메타데이터를 Sensitive Data Protection 검사 작업의 민감한 정보 분류로 보강하려는 경우에 유용합니다.
생성된 관점에는 다음 세부정보가 포함됩니다.
- 검사 작업의 이름
- 테이블에서 감지된 정보 유형 (infoTypes)
Knowledge Catalog 정보
Knowledge Catalog 는 리소스의 통합 인벤토리를 제공합니다. Google Cloud
Knowledge Catalog를 사용하면 관점 을 사용하여 데이터에 비즈니스 및 기술 메타데이터를 추가하여 리소스에 대한 컨텍스트와 지식을 캡처할 수 있습니다. 그런 다음 조직 전반에서 데이터를 검색하고 찾을 수 있으며 데이터 애셋에 대한 데이터 거버넌스를 사용 설정할 수 있습니다. 자세한 내용은 관점을 참고하세요.
을 사용하는 Knowledge Catalog는 _태그_를 사용하는 Data Catalog와 다릅니다. Data Catalog가 지원 중단되었습니다. 검사 결과를 Data Catalog로 전송할 수 있는 Sensitive Data Protection 기능도 지원 중단되었습니다. 지원 중단된 작업을 사용하도록 구성된 작업 트리거를 이전하려면 이 문서의 Dataplex Universal Catalog에 게시 작업으로 이전을 참고하세요.작동 방식
검사 작업 결과를 기반으로 Knowledge Catalog 관점을 자동으로 만들려면 다음 대략적인 워크플로를 따르세요.
BigQuery 테이블을 검사하는 검사 작업을 만들거나 수정합니다. 자세한 내용은 BigQuery 테이블 검사를 참고하세요.
작업 추가 단계에서 Dataplex Universal Catalog에 게시 를 사용 설정합니다.
Sensitive Data Protection adds or updates the
Sensitive Data Protection job result aspect of the Knowledge Catalog
entry associated with the
BigQuery table. 그런 다음 Knowledge Catalog에서 특정 관점 값을 사용하여 조직 또는 프로젝트의 모든 데이터를 검색할 수 있습니다. 쿼리 예시는 이 문서의 검색어
예시를 참고하세요.
결과 Knowledge Catalog 관점은 BigQuery 테이블과 동일한 프로젝트 및 리전에 저장됩니다.
관점 필드
Sensitive Data Protection job result 관점에는 다음 필드가 있습니다.
- 작업 이름
- 검사 작업의 전체 리소스 이름(예:
projects/example-project/locations/us/dlpJobs/i-8992079400000000000) - InfoType 개수
- 검사 구성에 지정된 대로 검사 작업에서 검색한 InfoType 이름과 각 InfoType의 발견 항목 수입니다.
발견 항목이 없는 InfoType의 개수는
0입니다. - 종료 시간
- 검사 작업이 종료된 날짜와 시간입니다.
- 전체 스캔인가요?
- 검사 작업에서 테이블의 모든 행을 스캔했는지 여부입니다. 예를 들어 검사 작업에서 샘플링이 사용 설정된 경우 이 필드의 값은
False입니다. - 발견 항목이 있나요?
- 검사 작업에서 스캔한 InfoType을 감지했는지 여부입니다.
Dataplex API 사용 설정
관점을 추가하려는 데이터가 포함된 각 프로젝트에서 Dataplex API를 사용 설정해야 합니다. 이 섹션 에서는 단일 프로젝트 또는 조직 또는 폴더의 모든 프로젝트에서 Dataplex API를 사용 설정하는 방법을 설명합니다.
단일 프로젝트에서 Dataplex API 사용 설정
Dataplex API를 사용 설정할 프로젝트를 선택합니다.
-
Dataplex API를 사용 설정합니다.
API 사용 설정에 필요한 역할
API를 사용 설정하려면
serviceusage.services.enable권한이 포함된 서비스 사용량 관리자 IAM 역할(roles/serviceusage.serviceUsageAdmin)이 필요합니다. 역할 부여 방법 알아보기
조직 또는 폴더의 모든 프로젝트에서 Dataplex API 사용 설정
이 섹션에서는 조직 또는 폴더의 모든 프로젝트를 검색하고 각 프로젝트에서 Dataplex API를 사용 설정하는 스크립트를 제공합니다.
조직 또는 폴더의 모든 프로젝트에서 Dataplex API를 사용 설정하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.
- Cloud 애셋 뷰어 (
roles/cloudasset.viewer) 조직 또는 폴더에 대한 - Dataplex API를 사용 설정하려는 각 프로젝트의 DLP 사용자 (
roles/dlp.user)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참고하세요.
이러한 사전 정의된 역할에는 조직 또는 폴더의 모든 프로젝트에서 Dataplex API를 사용 설정하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
조직 또는 폴더의 모든 프로젝트에서 Dataplex API를 사용 설정하려면 다음 권한이 필요합니다.
-
조직 또는 폴더의 모든 프로젝트를 검색하려면:
cloudasset.assets.searchAllResources조직 또는 폴더에 대한 -
Dataplex API를 사용 설정하려면:
serviceusage.services.useDataplex API를 사용 설정하려는 각 프로젝트의
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
조직 또는 폴더의 모든 프로젝트에서 Dataplex API를 사용 설정하려면 다음 단계를 따르세요.
-
콘솔에서 Cloud Shell을 활성화합니다. Google Cloud
콘솔 하단에 Cloud Shell 세션이 시작되고 명령줄 프롬프트가 표시됩니다. Google Cloud Cloud Shell은 Google Cloud CLI가 사전 설치된 셸 환경으로, 현재 프로젝트의 값이 이미 설정되어 있습니다. 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.
다음 스크립트를 실행합니다.
#!/bin/bash RESOURCE_ID="RESOURCE_ID" gcloud asset search-all-resources \ --scope="RESOURCE_TYPE/$RESOURCE_ID" \ --asset-types="cloudresourcemanager.googleapis.com/Project" \ --format="value(name)" | while read project_name; do project_id=$(echo "$project_name" | sed 's|.*/||') gcloud services enable "dataplex.googleapis.com" --project="$project_id" done다음을 바꿉니다.
RESOURCE_ID: 프로젝트가 포함된 리소스의 조직 번호 또는 폴더 번호RESOURCE_TYPE: 프로젝트가 포함된 리소스의 유형(organizations또는folders)
관점 보기를 위한 역할 및 권한
BigQuery 테이블과 연결된 관점을 검색하는 데 필요한 권한을 얻으려면 관리자에게 테이블에 다음 IAM 역할을 부여해 달라고 요청하세요.
- Dataplex 카탈로그 뷰어 (
roles/dataplex.catalogViewer) - BigQuery 데이터 뷰어 (
roles/bigquery.dataViewer)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참고하세요.
이러한 사전 정의된 역할에는 BigQuery 테이블과 연결된 관점을 검색하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
BigQuery 테이블과 연결된 관점을 검색하려면 다음 권한이 필요합니다.
-
Knowledge Catalog 항목 보기:
-
dataplex.entries.list -
dataplex.entries.get
-
-
BigQuery 데이터 세트 및 테이블 보기:
-
bigquery.datasets.get -
bigquery.tables.get
-
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
Knowledge Catalog를 사용하는 데 필요한 권한에 대한 자세한 내용은 Knowledge Catalog IAM 권한을 참고하세요.
Sensitive Data Protection 검사 작업 구성 및 실행
콘솔 또는 DLP API를 사용하여 Sensitive Data Protection 검사 작업을 구성하고 실행할 수 있습니다. Google Cloud
콘솔
-
콘솔에서 작업 또는 작업 트리거 페이지로 이동합니다. Google Cloud
- 프로젝트를 선택합니다.
- 필수 검사 작업 세부정보와 검사할 BigQuery 테이블의 세부정보를 입력합니다. 자세한 내용은 BigQuery 테이블 검사를 참고하세요. Sensitive Data Protection에서 검사할 수 있는 정보 유형의 전체 목록은 InfoType 감지기 참조를 확인하세요.
- 작업 추가에서 Dataplex Universal Catalog에 게시를 사용 설정합니다.
- 만들기 를 클릭합니다. 작업이 즉시 실행됩니다.
REST
다음 예시에서는 BigQuery 테이블을 검사하고 결과를
Knowledge Catalog로 전송하는
projects.locations.dlpJobs.create
요청을 전송합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
-
PROJECT_ID: 프로젝트 ID입니다. Google Cloud 프로젝트 ID는 영숫자 문자열입니다. -
LOCATION: 요청을 처리할 리전 또는 멀티 리전(예:europe-west1또는us) 사용 가능한 위치는 Sensitive Data Protection 위치를 참고하세요. -
BIGQUERY_DATASET_NAME: 검사할 테이블이 포함된 BigQuery 데이터 세트의 이름 -
BIGQUERY_TABLE_NAME: 검사할 BigQuery 테이블의 이름
HTTP 메서드 및 URL:
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/dlpJobs
JSON 요청 본문:
{
"inspectJob":
{
"storageConfig":
{
"bigQueryOptions":
{
"tableReference":
{
"projectId": "PROJECT_ID",
"datasetId": "BIGQUERY_DATASET_NAME",
"tableId": "BIGQUERY_TABLE_NAME"
}
}
},
"inspectConfig":
{
"infoTypes":
[
{
"name": "EMAIL_ADDRESS"
},
{
"name": "PERSON_NAME"
},
{
"name": "US_SOCIAL_SECURITY_NUMBER"
},
{
"name": "PHONE_NUMBER"
}
],
"includeQuote": true,
"minLikelihood": "UNLIKELY",
"limits":
{
"maxFindingsPerRequest": 100
}
},
"actions":
[
{
"publishFindingsToDataplexCatalog": {}
}
]
}
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{
"name": "projects/PROJECT_ID/locations/LOCATION/dlpJobs/JOB_ID",
"type": "INSPECT_JOB",
"state": "PENDING",
"inspectDetails": {
"requestedOptions": {
"snapshotInspectTemplate": {},
"jobConfig": {
"storageConfig": {
"bigQueryOptions": {
"tableReference": {
"projectId": "PROJECT_ID",
"datasetId": "BIGQUERY_DATASET_NAME",
"tableId": "BIGQUERY_TABLE_NAME"
}
}
},
"inspectConfig": {
"infoTypes": [
{
"name": "EMAIL_ADDRESS"
},
{
"name": "PERSON_NAME"
},
{
"name": "US_SOCIAL_SECURITY_NUMBER"
},
{
"name": "PHONE_NUMBER"
}
],
"minLikelihood": "UNLIKELY",
"limits": {
"maxFindingsPerRequest": 100
},
"includeQuote": true
},
"actions": [
{
"publishFindingsToDataplexCatalog": {}
}
]
}
},
"result": {}
},
"createTime": "2025-09-09T00:29:55.951374Z",
"lastModified": "2025-09-09T00:29:58.022967Z"
}
DLP API를 사용하여 검사 작업 결과를 가져오는 방법에 대한 자세한 내용은 Get a job을 참고하세요.
검색어 예시
이 섹션에서는 Knowledge Catalog에서 특정 관점 값을 사용하여 조직 또는 프로젝트의 데이터를 찾는 데 사용할 수 있는 검색어 예시를 제공합니다.
액세스 권한이 있는 데이터만 찾을 수 있습니다. 데이터 액세스는 IAM 권한을 통해 제어됩니다. 자세한 내용은 이 문서의 관점 보기를 위한 역할 및 권한을 참고하세요.
Knowledge Catalog 검색 페이지의 검색 필드에 이러한 쿼리 예시를 입력할 수 있습니다.
쿼리를 구성하는 방법에 대한 자세한 내용은 Knowledge Catalog 검색 구문을 참고하세요.
Sensitive Data Protection 작업 결과 관점이 있는 모든 테이블의 항목 찾기
aspect:sensitive-data-protection-job-result
발견 항목이 있는 검사된 테이블의 항목 찾기
aspect:sensitive-data-protection-job-result.hasFindings=True
발견 항목이 없는 검사된 테이블의 항목 찾기
aspect:sensitive-data-protection-job-result.hasFindings=False
완전히 검사된 테이블의 항목 찾기
다음 쿼리는 Sensitive Data Protection에서 행별로 검사한 테이블의 항목을 반환합니다.
aspect:sensitive-data-protection-job-result.isFullScan=True
완전히 검사되지 않은 테이블의 항목 찾기
다음 쿼리는 Sensitive Data Protection에서 샘플링을 통해 검사한 테이블의 항목을 반환합니다.
aspect:sensitive-data-protection-job-result.isFullScan=False
Dataplex Universal Catalog에 게시 작업으로 이전
지원 중단된 Data Catalog에 게시 작업을 사용하도록 구성된 작업 트리거를 이전하려면 다음 단계를 따르세요.
- 검사 결과를 Data Catalog에 게시하도록 구성된 작업 트리거를 수정합니다. 작업 트리거를 열고 수정하는 방법에 대한 자세한 내용은 기존 작업 트리거 업데이트를 참고하세요.
- 작업 섹션에서 Data Catalog에 게시 를 사용 중지합니다.
- Dataplex Universal Catalog에 게시 를 사용 설정합니다.
- 저장 을 클릭합니다.