Security Command Center로 Cloud DLP 스캔 결과 전송

이 가이드에서는 Cloud Data Loss Prevention(DLP)을 사용하여 특정 Google Cloud 리소스를 스캔하고 데이터를 Security Command Center로 전송하는 방법을 안내합니다.

Security Command Center를 사용하면 보안 위협에 대해 데이터를 수집하고 식별하여 조치를 취해 비즈니스에 손상이나 손실을 입히지 않도록 방지할 수 있습니다. Security Command Center를 사용하면 중앙 집중식 단일 대시보드에서 여러 보안 관련 작업을 수행할 수 있습니다.

Cloud DLP는 기본적으로 Security Command Center와 통합됩니다. Cloud DLP 액션을 사용하여 Google Cloud storage 저장소에서 민감한 정보를 스캔하면 결과가 Security Command Center 대시보드로 직접 전송되므로 결과가 다른 보안 측정항목 옆에 표시됩니다.

다음 동영상은 스캔 결과를 Security Command Center로 전송하도록 Cloud DLP를 설정하는 방법을 보여줍니다. 설정 단계는 이 가이드의 뒷부분에서도 자세히 설명합니다.

이 가이드의 단계를 완료하면 다음 작업을 수행하게 됩니다.

  • Security Command Center 및 Cloud DLP를 사용 설정합니다.
  • Cloud Storage 버킷, BigQuery 테이블 또는 Datastore 종류와 같은 Google Cloud 스토리지 저장소를 스캔하도록 Cloud DLP를 설정합니다.
  • 스캔 결과를 Security Command Center로 전송하도록 Cloud DLP 스캔을 구성합니다.

Security Command Center에 대한 자세한 내용은 Security Command Center 문서를 참조하세요.

비용

이 주제의 안내에 따라 진행하면 다음을 비롯하여 비용이 청구될 수 있는 Google Cloud 구성요소를 사용하게 됩니다.

  • Cloud DLP
  • Cloud Storage
  • BigQuery
  • 데이터 저장소

가격 계산기를 사용하면 예상 사용량을 기준으로 예상 비용을 산출할 수 있습니다.

Google Cloud를 처음 사용하는 사용자는 무료 체험판을 사용할 수 있습니다.

시작하기 전에

Cloud DLP 스캔 결과를 Security Command Center로 보내려면 먼저 다음을 수행해야 합니다.

  • 1단계: Google Cloud 스토리지 저장소 설정
  • 2단계: ID 및 액세스 관리(IAM) 역할 설정
  • 3단계: Security Command Center 사용 설정
  • 4단계: Cloud DLP 사용 설정
  • 5단계: Cloud DLP를 Security Command Center의 보안 소스로 사용 설정

이러한 구성요소를 설정하는 단계는 아래 섹션에서 설명합니다.

1단계: Google Cloud 스토리지 저장소 설정

자체 Google Cloud 스토리지 저장소를 스캔할지 아니면 예시 저장소를 스캔할지 선택합니다. 이 주제에서는 두 시나리오 모두에 대한 안내를 제공합니다.

자체 데이터 스캔

자체의 기존 Cloud Storage 버킷, BigQuery 테이블 또는 Datastore 종류를 스캔하려면 먼저 저장소가 있는 프로젝트를 엽니다. 이후 단계에서 이 프로젝트와 조직에 Security Command Center 및 Cloud DLP를 모두 사용 설정합니다.

사용할 프로젝트를 연 후 2단계로 진행하여 일부 IAM 역할을 설정합니다.

샘플 데이터 스캔

'더미', 즉 데이터의 테스트 세트를 스캔하려면 먼저 결제 계정이 설정되어 있는지 확인한 다음 새 프로젝트를 만듭니다. 이 단계를 완료하려면 IAM 프로젝트 생성자 역할이 있어야 합니다. IAM 역할을 자세히 알아보세요.

  1. 결제 계정이 없는 경우 결제 계정을 설정합니다.

    결제 사용 설정 방법 알아보기

  2. Cloud Console에서 새 프로젝트 페이지로 이동합니다.

    새 프로젝트 페이지

  3. 결제 계정 드롭다운 목록에서 결제 계정을 선택합니다. 이 계정으로 프로젝트의 비용이 청구됩니다.
  4. 조직 드롭다운 목록에서 프로젝트를 만들 조직을 선택합니다.
  5. 위치 드롭다운 목록에서 프로젝트를 만들 조직 또는 폴더를 선택합니다.

그런 다음, 샘플 데이터를 다운로드하고 저장합니다.

  1. GitHub의 Cloud Functions 가이드 저장소로 이동합니다.
  2. 클론 또는 다운로드를 클릭한 다음 ZIP 다운로드를 클릭합니다.
  3. 다운로드한 zip 파일의 압축을 풉니다.
  4. Cloud Console에서 Storage 브라우저 페이지로 이동합니다.

    Cloud Storage로 이동

  5. 버킷 생성을 클릭합니다.
  6. 버킷 만들기 페이지에서 버킷에 고유한 이름을 지정한 후 만들기를 클릭합니다.
  7. 버킷 세부정보 페이지에서 폴더 업로드를 클릭합니다.

  8. 앞에서 압축을 푼 dlp-cloud-functions-tutorials-master 폴더로 이동하여 폴더를 열고 sample_data 폴더를 선택합니다. 업로드를 클릭하여 폴더의 콘텐츠를 Cloud Storage에 업로드합니다.

나중에 사용할 수 있도록 Cloud Storage 버킷의 이름을 기록해 둡니다. 파일 업로드가 완료되면 계속 진행할 수 있습니다.

2단계: IAM 역할 설정

Cloud DLP를 사용하여 스캔 결과를 Security Command Center로 보내려면 보안 센터 관리자DLP 작업 편집자 IAM 역할이 필요합니다. 이 섹션에서는 역할을 추가하는 방법을 설명합니다. 이 섹션을 완료하려면 조직 관리자 IAM 역할이 있어야 합니다.

  1. Cloud Console IAM 및 관리자 페이지로 이동합니다.

    IAM 및 관리자 페이지로 이동

  2. 구성원에서 사용자 이름 옆의 편집을 클릭합니다.
  3. 권한 편집 패널에서 다른 역할 추가를 클릭합니다.
  4. 역할 선택 드롭다운 목록에서 Security Command Center > 보안 센터 관리자를 선택합니다.
  5. 그런 다음 동일한 드롭다운 목록에서 Cloud DLP > DLP 작업 편집자를 선택한 후 저장을 클릭합니다.

이제 조직의 DLP 작업 편집자 및 보안 센터 관리자 역할이 사용 설정되었습니다. 이러한 역할을 통해 이 주제의 나머지 부분에서 작업을 완료할 수 있습니다.

3단계: Security Command Center 사용 설정

  1. Cloud Console의 Security Command Center 페이지로 이동합니다.

    Security Command Center 페이지로 이동

  2. 조직 드롭다운 목록에서 Cloud DLP를 사용 설정할 조직을 선택한 다음 선택을 클릭합니다.

  3. 표시되는 애셋 검색 사용 설정 페이지에서 현재 및 이후의 모든 프로젝트를 선택한 다음 사용 설정을 클릭합니다. Cloud DLP가 애셋 검색을 시작하고 있다는 메시지가 표시됩니다.

애셋 검색이 완료되면 Cloud DLP가 지원되는 Google Cloud 애셋을 표시합니다. 애셋 검색은 몇 분 정도 걸릴 수 있으며 애셋을 표시하기 위해 페이지를 새로고침해야 할 수 있습니다.

Security Command Center 사용 설정에 대한 자세한 내용은 Security Command Center 문서를 참조하세요.

4단계: Cloud DLP 사용 설정

스캔하려는 프로젝트에 Cloud DLP를 사용 설정합니다. 프로젝트가 Security Command Center를 사용 설정한 조직 내에 있어야 합니다. Cloud Console을 사용하여 Cloud DLP를 사용 설정하려면 다음 안내를 따르세요.

  1. Cloud Console 페이지로 이동하여 Cloud DLP용으로 애플리케이션을 등록합니다.

    Cloud DLP용으로 애플리케이션 등록 페이지로 이동

  2. 프로젝트 만들기 드롭다운 목록에서 이 가이드의 1단계에서 설정한 프로젝트를 선택합니다. 프로젝트에는 스캔할 Cloud Storage 버킷, BigQuery 테이블 또는 Datastore 종류가 포함되어야 합니다.
  3. 사용할 프로젝트를 선택한 후 계속을 클릭합니다.

이제 프로젝트에 Cloud DLP가 사용 설정되었습니다.

5단계: Cloud DLP를 Security Command Center의 보안 소스로 사용 설정

Security Command Center 대시보드에서 Cloud DLP 스캔 결과를 보려면 Cloud DLP를 보안 소스로 사용 설정합니다.

  1. Cloud Console의 Security Command Center 보안 소스 페이지로 이동합니다.

    보안 소스 페이지로 이동

  2. Cloud DLP를 보안 소스로 사용 설정할 조직을 선택합니다.
  3. 사용 설정됨에서 가로 슬라이더를 클릭하여 Cloud DLP 데이터 탐색을 사용 설정합니다.

Cloud DLP의 검색 결과가 Security Command Center 대시보드의 발견 항목 페이지에 표시됩니다. Security Command Center 보안 소스 관리 방법에 대한 자세한 내용은 Security Command Center 문서를 참조하세요.

Cloud DLP 검사 스캔 구성 및 실행

이 섹션에서는 Cloud DLP 스캔 작업을 구성하고 실행합니다.

여기에서 구성한 검사 작업은 이 페이지 앞부분의 스토리지 저장소 설정 단계에서 설명된 Cloud Storage에 저장된 샘플 데이터나 Cloud Storage, Datastore 또는 BigQuery에 저장된 자체 데이터를 스캔하도록 Cloud DLP에 지시합니다. 또한 개발자가 지정한 작업 구성은 스캔 결과를 Security Command Center에 저장하도록 Cloud DLP에 지시합니다.

1단계: 프로젝트 식별자 메모

  1. Cloud Console로 이동합니다.

    Cloud Console로 이동

  2. 선택을 클릭합니다.
  3. 다음 조직에서 선택 드롭다운 목록에서 Security Command Center를 사용 설정한 조직을 선택합니다.
  4. ID에서 스캔할 데이터가 포함된 프로젝트의 프로젝트 ID를 복사해 둡니다. 이 페이지 앞부분의 스토리지 저장소 설정 단계에서 설명된 프로젝트입니다.
  5. 이름에서 프로젝트를 클릭하여 선택합니다.

2단계: API 탐색기를 열어 작업 구성

  1. 다음 버튼을 클릭하여 dlpJobs.create 메서드 참조 페이지의 API 탐색기로 이동합니다.

    API 탐색기 열기

  2. parent 입력란에 다음을 입력합니다. 여기서 PROJECT_ID는 1단계에서 기록한 프로젝트 ID입니다.
    projects/PROJECT_ID

요청 본문 필드의 콘텐츠를 사용할 데이터 종류(예: Cloud Storage 버킷의 샘플 데이터 또는 Cloud Storage, Datastore 또는 BigQuery에 저장된 자체 데이터)에 따라 다음 JSON으로 바꿉니다.

샘플 데이터

이 페이지 앞부분의 스토리지 저장소 설정 단계에서 설명된 대로 샘플 데이터를 저장하기 위해 Cloud Storage 버킷을 만든 경우, 다음 JSON을 복사하여 요청 본문 필드에 붙여넣습니다. BUCKET_NAME을 Cloud Storage 버킷에 지정한 이름으로 바꿉니다.

{
  "inspectJob":{
    "storageConfig":{
      "cloudStorageOptions":{
        "fileSet":{
          "url":"gs://BUCKET_NAME/**"
        }
      }
    },
    "inspectConfig":{
      "infoTypes":[
        {
          "name":"EMAIL_ADDRESS"
        },
        {
          "name":"PERSON_NAME"
        },
        {
          "name": "LOCATION"
        },
        {
          "name":"PHONE_NUMBER"
        }
      ],
      "includeQuote":true,
      "minLikelihood":"UNLIKELY",
      "limits":{
        "maxFindingsPerRequest":100
      }
    },
    "actions":[
      {
        "publishSummaryToCscc":{

        }
      }
    ]
  }
}

Cloud Storage 데이터

자체 Cloud Storage 버킷을 검색하려면 다음 JSON을 복사하여 요청 본문 필드에 붙여넣습니다.

PATH_NAME을 검색할 위치의 경로로 바꿉니다. 재귀적으로 검색하려면 경로 끝에 별표 두 개를 추가하고(예: gs://path_to_files/**), 특정 디렉터리만 검색하고 하위 디렉터리는 검색하지 않으려면 경로 끝에 별표 한 개만 추가합니다(예: gs://path_to_files/*).

{
  "inspectJob":{
    "storageConfig":{
      "cloudStorageOptions":{
        "fileSet":{
          "url":"gs://PATH_NAME"
        }
      }
    },
    "inspectConfig":{
      "infoTypes":[
        {
          "name":"EMAIL_ADDRESS"
        },
        {
          "name":"PERSON_NAME"
        },
        {
          "name": "LOCATION"
        },
        {
          "name":"PHONE_NUMBER"
        }
      ],
      "includeQuote":true,
      "minLikelihood":"UNLIKELY",
      "limits":{
        "maxFindingsPerRequest":100
      }
    },
    "actions":[
      {
        "publishSummaryToCscc":{

        }
      }
    ]
  }
}

사용 가능한 검색 옵션에 대해 자세히 알아보려면 저장소 및 데이터베이스에서 민감한 정보 검사를 참조하세요.

Datastore 데이터

Datastore에 저장된 자체 데이터를 검색하려면 다음 JSON을 복사하여 요청 본문 필드에 붙여넣습니다.

DATASTORE_KIND를 Datastore 종류의 이름으로 바꿉니다. 또한 NAMESPACE_IDPROJECT_ID를 각각 네임스페이스 및 프로젝트 식별자로 대체하거나 필요에 따라 "partitionID"를 완전히 삭제할 수도 있습니다.

{
  "inspectJob":{
    "storageConfig":{
      "datastoreOptions":{
        "kind":{
          "name":"DATASTORE_KIND"
        },
        "partitionId":{
          "namespaceId":"NAMESPACE_ID",
          "projectId":"PROJECT_ID"
        }
      }
    },
    "inspectConfig":{
      "infoTypes":[
        {
          "name":"EMAIL_ADDRESS"
        },
        {
          "name":"PERSON_NAME"
        },
        {
          "name": "LOCATION"
        },
        {
          "name":"PHONE_NUMBER"
        }
      ],
      "includeQuote":true,
      "minLikelihood":"UNLIKELY",
      "limits":{
        "maxFindingsPerRequest":100
      }
    },
    "actions":[
      {
        "publishSummaryToCscc":{

        }
      }
    ]
  }
}

사용 가능한 검색 옵션에 대해 자세히 알아보려면 저장소 및 데이터베이스에서 민감한 정보 검사를 참조하세요.

BigQuery 데이터

자체 BigQuery 테이블을 검색하려면 다음과 같은 JSON을 복사하여 요청 본문 필드에 붙여넣습니다.

PROJECT_ID, BIGQUERY_DATASET_NAME, BIGQUERY_TABLE_NAME을 각각 프로젝트 ID, BigQuery 데이터세트 이름, 테이블 이름으로 바꿉니다.

{
  "inspectJob":
  {
    "storageConfig":
    {
      "bigQueryOptions":
      {
        "tableReference":
        {
          "projectId": "PROJECT_ID",
          "datasetId": "BIGQUERY_DATASET_NAME",
          "tableId": "BIGQUERY_TABLE_NAME"
        }
      }
    },
    "inspectConfig":
    {
      "infoTypes":
      [
        {
          "name": "EMAIL_ADDRESS"
        },
        {
          "name": "PERSON_NAME"
        },
        {
          "name": "LOCATION"
        },
        {
          "name": "PHONE_NUMBER"
        }
      ],
      "includeQuote": true,
      "minLikelihood": "UNLIKELY",
      "limits":
      {
        "maxFindingsPerRequest": 100
      }
    },
    "actions":
    [
      {
        "publishSummaryToCscc":
        {
        }
      }
    ]
  }
}

사용 가능한 검색 옵션에 대해 자세히 알아보려면 저장소 및 데이터베이스에서 민감한 정보 검사를 참조하세요.

3단계: 검색 작업 시작 요청 실행

위 단계에 따라 작업을 구성한 후 실행을 클릭하여 요청을 전송합니다. 요청이 성공하면 성공 코드와 방금 만든 Cloud DLP 작업의 상태를 나타내는 JSON 객체가 포함된 응답이 요청 아래에 표시됩니다.

Cloud DLP 검사 스캔의 상태 확인

스캔 요청의 응답에는 검사 스캔 작업의 작업 ID가 "name" 키로, 검사 스캔 작업의 현재 상태가 "state" 키로 포함됩니다. 방금 요청을 제출했으므로 요청 시점의 작업 상태는 "PENDING"입니다.

검색 요청을 제출하면 콘텐츠 검사가 즉시 시작됩니다.

검사 스캔 작업의 상태를 확인하려면 다음 안내를 따르세요.

  1. 다음 버튼을 클릭하여 dlpJobs.get 메서드 참조 페이지의 API 탐색기로 이동합니다.

    API 탐색기 열기

  2. name 입력란에 스캔 요청에 대한 JSON 응답에서 가져온 작업 이름을 다음 형식으로 입력합니다.
    projects/PROJECT_ID/dlpJobs/JOB_ID
    작업 ID는 i-1234567890123456789 형식입니다.
  3. 요청을 제출하려면 실행을 클릭합니다.

응답 JSON 객체의 "state" 키에 작업이 "DONE"으로 표시될 경우 스캔 작업이 완료된 것입니다.

나머지 응답 JSON을 보려면 페이지를 아래로 스크롤하세요. "result" > "infoTypeStats" 아래에 나열된 각 정보 유형에 해당하는 "count"가 있어야 합니다. 그렇지 않은 경우 JSON을 정확하게 입력했는지, 데이터의 경로 또는 위치가 올바른지 확인하세요.

스캔 작업이 완료되면 이 가이드의 다음 섹션으로 이동하여 Security Command Center에서 스캔 결과를 볼 수 있습니다.

Security Command Center에서 Cloud DLP 스캔 결과 보기

검사 스캔 작업 결과를 Security Command Center로 보내도록 Cloud DLP에 지시했으므로 이제 Security Command Center 대시보드에서 검색 요약을 볼 수 있습니다.

  1. Cloud Console의 Security Command Center 페이지로 이동합니다.

    Security Command Center 페이지로 이동

  2. 앞에서 Security Command Center를 사용하도록 설정한 조직을 선택합니다.

아래 스크린샷은 발견 항목 요약Cloud DLP 데이터 탐색이라는 두 개의 카드를 통해 Cloud DLP 데이터를 표시하는 Security Command Center 기본 대시보드를 보여줍니다.

LOCATION infoType은 표시되지 않습니다. 그 이유는 Cloud DLP에 LOCATION infoType과 일치하는 항목이 없기 때문입니다. 발견 항목 요약에는 Cloud DLP 발견 항목 합계와 기타 수치가 표시되고, Cloud DLP 데이터 탐색에는 발견 항목이 정보 유형별로 나열됩니다.

발견 항목 요약

Cloud DLP가 발견한 항목이 있으면 소스 Cloud DLP 데이터 탐색이 포함된 행이 표시됩니다. 발견 항목 요약에 해당 행이 표시되지 않으면 Cloud DLP가 Security Command Center로 발견 항목을 전송하지 않은 것입니다.

Cloud DLP 데이터 탐색

검색된 데이터와 일치하는 모든 infoTypes발견 항목 열에 나열됩니다. 개수 열의 숫자는 infoType과 일치하는 데이터를 발견한 검색의 개수에 해당합니다. 작업이 여러 소스를 검색하는 경우 검색된 각 소스가 개수에 포함될 수 있습니다.

특정 카테고리의 개별 발견 항목을 보려면 특정 행(예: EMAIL_ADDRESS)을 클릭합니다. 다음 스크린샷에 나와 있는 것처럼 하나 이상의 EMAIL_ADDRESS가 발견된 각 검색의 목록이 발견 항목 탭 아래에 표시됩니다.

resourceName, eventTime, firstDiscovered, 상위 항목의 열이 있는 EMAIL_ADDRESS 발견 항목 목록

특정 검색에 대한 세부정보를 표시하려면 아래 스크린샷에 표시된 것처럼 EMAIL_ADDRESS 행 중 하나를 클릭하여 세부정보 페이지를 살펴보세요.

관련 속성 목록과 소스 속성 개수가 포함된 발견 항목 세부정보

삭제

이 주제에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 안내를 따르세요.

프로젝트 삭제

비용이 청구되지 않도록 하는 가장 쉬운 방법은 이 주제에 제시된 안내를 따르면서 생성된 프로젝트를 삭제하는 것입니다.

  1. Cloud Console에서 리소스 관리 페이지로 이동합니다.

    리소스 관리로 이동

  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력한 후 종료를 클릭하여 프로젝트를 삭제합니다.

이 방법을 사용하여 프로젝트를 삭제하면 생성한 Cloud DLP 작업 및 Cloud Storage 버킷도 삭제됩니다. 다음 섹션의 지침을 따를 필요는 없습니다.

Cloud DLP 작업 삭제

자체 데이터를 검색한 경우 방금 생성한 검사 스캔 작업만 삭제해야 합니다.

  1. 다음 버튼을 클릭하여 dlpJobs.delete 메서드 참조 페이지의 API 탐색기로 이동합니다.

    API 탐색기 열기

  2. 이름 입력란에 다음 형식의 검색 요청에 대한 JSON 응답의 작업 이름을 입력합니다.
    projects/PROJECT_ID/dlpJobs/JOB_ID
    작업 ID는 i-1234567890123456789 형식입니다.

스캔 작업을 추가로 만들었거나 작업을 삭제했는지 확인하려면 기존 작업을 모두 나열합니다.

  1. 다음 버튼을 클릭하여 dlpJobs.list 메서드 참조 페이지의 API 탐색기로 이동합니다.

    API 탐색기 열기

  2. parent 입력란에 프로젝트 식별자를 다음 형식으로 입력합니다.
    projects/PROJECT_ID
  3. 실행을 클릭합니다.

응답에 나열된 작업이 없으면 모든 작업이 삭제된 것입니다. 응답에 작업이 나열된 경우 해당 작업에 대해 위의 삭제 절차를 반복합니다.

Cloud Storage 버킷 삭제

샘플 데이터를 보관할 새 Cloud Storage 버킷을 만든 경우 버킷을 삭제합니다.

  1. Cloud Storage 브라우저를 엽니다.

    Cloud Storage 열기

  2. Cloud Storage 브라우저에서 앞서 만든 버킷의 이름 옆에 있는 체크박스를 선택한 후 삭제를 클릭합니다.

다음 단계