단일 프로젝트에서 Cloud SQL 데이터 프로파일링

이 페이지에서는 프로젝트 수준에서 Cloud SQL 데이터 검색을 구성하는 방법을 설명합니다. 조직 또는 폴더를 프로파일링하려면 조직 또는 폴더의 Cloud SQL 데이터 프로파일링을 참조하세요.

검색 서비스에 대한 자세한 내용은 데이터 프로필을 참조하세요.

작동 방식

다음은 Cloud SQL 데이터를 프로파일링하는 개략적인 워크플로입니다.

  1. 스캔 구성 만들기

    스캔 구성을 만든 후 Sensitive Data Protection은 Cloud SQL 인스턴스를 식별하고 각 인스턴스에 대한 기본 연결을 만들기 시작합니다. 검색 범위 내의 인스턴스 수에 따라 이 프로세스에 몇 시간이 걸릴 수 있습니다. Google Cloud 콘솔을 종료하고 나중에 연결을 확인할 수 있습니다.

  2. 스캔 구성과 연결된 서비스 에이전트에 필요한 IAM 역할 부여

  3. 기본 연결이 준비되면 적절한 데이터베이스 사용자 인증 정보로 각 연결을 업데이트하여 Cloud SQL 인스턴스에 Sensitive Data Protection 액세스 권한을 부여합니다. 기존 데이터베이스 사용자 계정을 제공하거나 데이터베이스 사용자를 만들 수 있습니다.

  4. 권장: Sensitive Data Protection에서 데이터를 프로파일링하는 데 사용할 수 있는 최대 연결 수를 늘리세요. 연결을 늘리면 검색 속도가 빨라질 수 있습니다.

지원되는 서비스

이 기능은 다음을 지원합니다.

  • MySQL용 Cloud SQL
  • PostgreSQL용 Cloud SQL

SQL Server용 Cloud SQL은 지원되지 않습니다.

가격 책정 및 할당량

Cloud SQL 검색에는 Sensitive Data Protection이 2024년 2월 1일까지 무료로 제공됩니다. 이 날짜 이후에는 BigQuery 검색과 비슷하게 Cloud SQL 검색 요금이 청구됩니다.

데이터 프로파일링과 관련된 다른 Google Cloud 서비스 사용 요금은 계속 청구됩니다.

  • Secret Manager 요금은 Sensitive Data Protection이 보안 비밀에 액세스할 때마다 적용됩니다. Sensitive Data Protection이 테이블을 프로파일링하고 업데이트를 주기적으로 확인하면 액세스 작업이 수행됩니다.

  • BigQuery에 데이터 프로필을 저장하면 BigQuery 요금이 발생합니다.

시작하기 전에

  1. Cloud Data Loss Prevention API가 프로젝트에 사용 설정되어 있는지 확인하세요.

    1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    2. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

    3. Enable the required API.

      Enable the API

  2. 프로젝트 수준에서 데이터 프로필을 구성하는 데 필요한 IAM 권한이 있는지 확인합니다.

  3. 프로파일링할 데이터가 있는 리전마다 검사 템플릿이 있어야 합니다. 여러 리전에 단일 템플릿을 사용하려면 global 리전에 저장된 템플릿을 사용하면 됩니다. 조직 정책으로 인해 global 검사 템플릿을 만들 수 없는 경우 각 리전에 대해 전용 검사 템플릿을 설정해야 합니다. 자세한 내용은 데이터 상주 고려사항을 참조하세요.

    이 태스크를 통해 global 리전에만 검사 템플릿을 만들 수 있습니다. 하나 이상의 리전에 전용 검사 템플릿이 필요한 경우 이 태스크를 수행하기 전에 해당 템플릿을 만들어야 합니다.

  4. Sensitive Data Protection이 새 테이블을 프로파일링하는 경우와 같이 특정 이벤트가 발생할 때 Pub/Sub에 알림을 전송하도록 Sensitive Data Protection을 구성할 수 있습니다. 이 기능을 사용하려면 먼저 Pub/Sub 주제를 만들어야 합니다.

스캔 구성 만들기

  1. 스캔 구성 만들기 페이지로 이동합니다.

    스캔 구성 만들기로 이동

  2. 프로젝트로 이동합니다. 툴바에서 프로젝트 선택기를 클릭하고 프로젝트를 선택합니다.

스캔 구성 만들기 페이지의 단계에 대해서는 다음 섹션에서 자세히 설명합니다. 각 섹션의 끝에서 계속을 클릭합니다.

탐색 유형 선택

Cloud SQL을 선택합니다.

범위 선택하기

다음 중 하나를 수행합니다.

  • 테스트 모드에서 단일 테이블을 스캔하려면 테이블 한 개 스캔(테스트 모드)을 선택합니다.

    사용 가능한 무료 테이블 스캔 수가 표시됩니다. 무료 테이블 스캔은 크기가 1TB 이하인 테이블에만 적용됩니다. 테이블마다 테이블 수준 스캔 구성을 하나만 사용할 수 있습니다. 자세한 내용은 테스트 모드에서 테이블 프로파일링을 참조하세요.

    프로파일링할 테이블의 세부정보를 입력합니다.

  • 표준 프로젝트 수준 프로파일링을 수행하려면 전체 프로젝트 스캔을 선택합니다.

일정 관리

기본 프로파일링 빈도가 요구에 부합하는 경우 스캔 구성 만들기 페이지의 이 섹션을 건너뛰어도 됩니다. 이 섹션은 모든 데이터 또는 데이터의 특정 하위 집합의 프로파일링 빈도를 세밀하게 조정하려는 경우에 유용합니다. 또한 특정 테이블을 프로파일링하지 않도록 하거나 테이블을 한 번만 프로파일링하려는 경우에도 유용합니다.

이 섹션에서는 원하는 데이터의 특정 하위 집합을 지정하는 필터를 만듭니다. 이러한 하위 집합에 대해 Sensitive Data Protection이 테이블을 프로파일링해야 하는지 여부와 그 빈도를 지정합니다. 또한 테이블을 다시 프로파일링해야 하는 변경사항 유형도 지정합니다. 마지막으로 Sensitive Data Protection이 테이블 프로파일링을 시작하기 전 하위 집합의 각 테이블이 충족해야 하는 조건을 지정합니다.

프로파일링 빈도를 세밀하게 조정하려면 다음 단계를 따르세요.

  1. 일정 추가를 클릭합니다.
  2. 필터 섹션에서 일정 범위에 있는 테이블을 지정하는 하나 이상의 필터를 정의합니다.

    다음 중 하나 이상을 지정합니다.

    • 하나 이상의 프로젝트를 지정하는 프로젝트 ID 또는 정규 표현식
    • 하나 이상의 인스턴스를 지정하는 인스턴스 ID 또는 정규 표현식
    • 하나 이상의 데이터베이스를 지정하는 데이터베이스 ID 또는 정규 표현식
    • 하나 이상의 테이블을 지정하는 테이블 ID 또는 정규 표현식 데이터베이스 리소스 이름 또는 정규 표현식 필드에 이 값을 입력합니다.

    정규 표현식은 RE2 구문을 따라야 합니다.

    예를 들어 데이터베이스의 모든 테이블을 필터에 포함하려면 데이터베이스 ID 필드에 데이터베이스 ID를 입력합니다.

    필터를 더 추가해야 하면 필터 추가를 클릭하여 이 단계를 반복합니다.

  3. 빈도를 클릭합니다.

  4. 빈도 섹션에서 검색 서비스가 선택한 테이블을 프로파일링해야 하는지 여부와 프로파일링하는 경우 그 빈도를 지정합니다.

    • 테이블을 프로파일링하지 않으려면 이 데이터 프로파일링을 사용 중지합니다.

    • 테이블을 한 번 이상 프로파일링하려면 이 데이터 프로파일링을 설정한 상태로 둡니다.

      이 섹션의 후속 필드에서 시스템이 데이터를 다시 프로파일링해야 하는지 여부와 재프로파일링 작업을 트리거할 이벤트를 지정합니다. 자세한 내용은 데이터 프로필 생성 빈도를 참조하세요.

      1. 일정에 따라에서 테이블을 다시 프로파일링할 빈도를 지정합니다. 테이블이 변경되었는지 여부와 관계없이 테이블이 다시 프로파일링됩니다.
      2. 스키마 변경 시의 경우 Sensitive Data Protection에서 선택한 테이블이 마지막으로 프로파일링된 후 스키마가 변경되었는지 확인해야 하는 빈도를 지정합니다. 스키마가 변경된 테이블만 다시 프로파일링됩니다.
      3. 스키마 변경 유형에서 재프로파일링 작업을 트리거해야 하는 스키마 변경 유형을 지정합니다. 다음 중 하나를 선택합니다.
        • 새 열: 새 열을 얻은 테이블을 다시 프로파일링합니다.
        • 삭제된 열: 열이 삭제된 테이블을 다시 프로파일링합니다.

        예를 들어 매일 새 열을 얻는 테이블이 있으며 매번 콘텐츠를 프로파일링해야 한다고 가정해 보겠습니다. 스키마 변경 시기매일 다시 프로파일링으로 설정하고, 스키마 변경 유형새 열로 설정할 수 있습니다.

      4. 검사 템플릿 변경 시의 경우 연결된 검사 템플릿이 업데이트될 때 데이터를 다시 프로파일링할지 여부와 프로파일링하는 경우 그 빈도를 지정합니다.

        검사 템플릿 변경사항은 다음 중 하나가 발생할 때 감지됩니다.

        • 스캔 구성에서 검사 템플릿 이름이 변경됩니다.
        • 검사 템플릿의 updateTime가 변경됩니다.

      5. 예를 들어 us-west1 리전에 대해 검사 템플릿을 설정하고 해당 검사 템플릿을 업데이트하면 us-west1 리전의 데이터만 다시 프로파일링됩니다. 그러나 업데이트하는 대신 검사 템플릿을 삭제하면 us-west1의 데이터가 다시 프로파일링되지 않습니다. 다시 프로파일링하는 데 사용할 검사 템플릿이 없기 때문입니다.

  5. 조건을 클릭합니다.

    조건 섹션에서 프로파일링할 데이터베이스 리소스 유형을 지정합니다. 기본적으로 Sensitive Data Protection은 지원되는 모든 데이터베이스 리소스 유형을 프로파일링하도록 설정됩니다. Sensitive Data Protection이 더 많은 데이터베이스 리소스 유형에 대한 지원을 추가하면 해당 유형도 자동으로 프로파일링됩니다.

  6. (선택사항) 프로파일링할 데이터베이스 리소스 유형을 명시적으로 설정하려면 다음 단계를 따르세요.

    1. 데이터베이스 리소스 유형 필드를 클릭합니다.
    2. 프로파일링할 데이터베이스 리소스 유형을 선택합니다.

    Sensitive Data Protection에서 나중에 더 많은 Cloud SQL 데이터베이스 리소스 유형에 대한 검색 지원을 추가하면 이 목록으로 돌아와서 선택하는 경우에만 프로파일링됩니다.

  7. 완료를 클릭합니다.

  8. 일정을 더 추가하려면 일정 추가를 클릭하고 이전 단계를 반복하세요.

  9. 우선순위에 따라 일정의 순서를 변경하려면 위쪽 화살표와 아래쪽 화살표를 사용합니다. 예를 들어 서로 다른 두 일정의 필터가 테이블 A와 일치하면 우선순위 목록에서 우선순위가 높은 일정이 우선 적용됩니다.

    목록의 마지막 일정은 항상 기본 일정 라벨로 지정된 일정입니다. 이 기본 일정에는 생성된 일정과 일치하지 않는 프로젝트의 테이블이 포함됩니다. 이 기본 일정은 시스템 기본 프로파일링 빈도를 따릅니다.

  10. 기본 일정을 조정하려면 일정 수정을 클릭하고 필요에 따라 설정을 조정합니다.

검사 템플릿 선택

검사 구성을 제공하는 방법에 따라 다음 옵션 중 하나를 선택합니다. 선택한 옵션에 관계없이 Sensitive Data Protection은 해당 데이터가 저장된 리전의 데이터를 스캔합니다. 즉, 데이터는 원래의 리전을 벗어나지 않습니다.

옵션 1: 검사 템플릿 만들기

global 리전에 새 검사 템플릿을 만들려면 이 옵션을 선택하세요.

  1. 새 검사 템플릿 만들기를 클릭합니다.
  2. 선택사항: 선택한 기본 infoType을 수정하려면 infoType 관리를 클릭합니다.

    이 섹션에서 기본 제공 및 커스텀 infoType을 관리하는 방법에 대한 자세한 내용은 Google Cloud 콘솔을 통해 infoType 관리를 참조하세요.

    계속하려면 infoType을 한 개 이상 선택해야 합니다.

  3. 선택사항: 규칙 세트를 추가하고 신뢰도 임계값을 설정하여 검사 템플릿을 추가로 구성합니다. 자세한 내용은 감지 구성을 참조하세요.

    Sensitive Data Protection은 스캔 구성을 만들 때 이 새로운 검사 템플릿을 global 리전에 저장합니다.

옵션 2: 기존 검사 템플릿 사용

사용할 기존 검사 템플릿이 있는 경우 이 옵션을 선택하세요.

  1. 기존 검사 템플릿 선택을 클릭합니다.

  2. 사용하려는 검사 템플릿의 전체 리소스 이름을 입력합니다. 리전 필드에 검사 템플릿이 저장된 리전 이름이 자동으로 입력됩니다.

    입력하는 검사 템플릿은 프로파일링할 데이터와 동일한 리전에 있어야 합니다. 데이터 상주를 준수하기 위해 Sensitive Data Protection은 자체 리전 외부의 검사 템플릿을 사용하지 않습니다.

    검사 템플릿의 전체 리소스 이름을 찾으려면 다음 단계를 따르세요.

    1. 검사 템플릿 목록으로 이동합니다. 별도의 탭에서 이 페이지가 열립니다.

      검사 템플릿으로 이동

    2. 사용하려는 검사 템플릿이 포함된 프로젝트로 전환합니다.

    3. 템플릿 탭에서 사용할 템플릿의 템플릿 ID를 클릭합니다.

    4. 페이지가 열리면 템플릿의 전체 리소스 이름을 복사합니다. 전체 리소스 이름은 다음 형식을 따릅니다.

      projects/PROJECT_ID/locations/REGION/inspectTemplates/TEMPLATE_ID
    5. 스캔 구성 만들기 페이지의 템플릿 이름 필드에 템플릿의 전체 리소스 이름을 붙여넣습니다.

  3. 다른 리전에 데이터가 있고 이 리전에 사용할 검사 템플릿이 있으면 다음 단계를 수행합니다.

    1. 검사 템플릿 추가를 클릭합니다.
    2. 검사 템플릿의 전체 리소스 이름을 입력합니다.

    전용 검사 템플릿이 있는 각 리전마다 이 단계를 반복합니다.

  4. 선택사항: global 리전에 저장된 검사 템플릿을 추가합니다. Sensitive Data Protection은 전용 검사 템플릿이 없는 리전의 데이터에 이 템플릿을 자동으로 사용합니다.

작업 추가

다음 섹션에서는 데이터 프로필을 생성한 후 Sensitive Data Protection이 수행할 작업을 지정합니다.

다른 Google Cloud 서비스가 작업 구성 요금을 청구하는 방법에 대한 자세한 내용은 데이터 프로필 내보내기 가격 책정을 참조하세요.

Security Command Center에 게시

이 작업을 통해 테이블 데이터 프로필의 계산된 데이터 위험 및 민감도 수준을 Security Command Center로 보낼 수 있습니다.

Security Command Center는 Google Cloud의 중앙 집중식 취약점 및 위협 보고 서비스입니다. Security Command Center에서 취약점 및 위협 발견 항목을 위한 대응 계획을 분류하고 개발할 때 데이터 프로필의 통계를 사용할 수 있습니다.

이 작업을 사용하려면 조직 수준에서 Security Command Center를 활성화해야 합니다. 조직 수준에서 Security Command Center를 활성화하면 Sensitive Data Protection과 같은 통합 서비스에서 발견 항목 흐름이 사용 설정됩니다. Sensitive Data Protection은 Security Command Center 표준 및 프리미엄 모두에서 작동합니다.

Security Command Center가 조직 수준에서 활성화되지 않았으면 Sensitive Data Protection 발견 항목이 Security Command Center에 표시되지 않습니다. 자세한 내용은 Security Command Center의 활성화 수준 확인을 참조하세요.

데이터 프로필 결과를 Security Command Center로 보내려면 Security Command Center에 게시 옵션이 사용 설정되어 있는지 확인합니다.

자세한 내용은 Security Command Center에 데이터 프로필 게시를 참조하세요.

BigQuery에 데이터 프로필 사본 저장

데이터 프로필 사본을 BigQuery에 저장하도록 설정하면 생성된 모든 프로필의 저장된 사본 또는 내역을 유지할 수 있습니다. 이렇게 하면 감사 보고서를 만들고 데이터 프로필을 시각화하는 데 유용합니다. 이 정보를 다른 시스템에 로드할 수도 있습니다.

또한 이 옵션을 사용하면 데이터가 있는 리전에 관계없이 모든 데이터 프로필을 단일 뷰에서 확인할 수 있습니다. 이 옵션을 사용 중지해도 대시보드에서 데이터 프로필을 계속 볼 수 있습니다. 하지만 대시보드에서 한 번에 하나의 리전을 선택하고 해당 리전의 데이터 프로필만 표시합니다.

데이터 프로필 사본을 BigQuery 테이블로 내보내려면 다음 단계를 수행합니다.

  1. BigQuery에 데이터 프로필 사본 저장을 사용 설정합니다.

  2. 데이터 프로필을 저장할 BigQuery 테이블의 세부정보를 입력합니다.

    • 프로젝트 ID에 데이터 프로필을 내보내려는 기존 프로젝트 ID를 입력합니다.

    • 데이터 세트 ID에 대해 데이터 프로필을 내보낼 프로젝트의 기존 데이터 세트 이름을 입력합니다.

    • 테이블 ID에 대해 데이터 프로필을 내보낼 BigQuery 테이블의 이름을 입력합니다. 이 테이블을 만들지 않았으면 제공된 이름을 사용해서 Sensitive Data Protection이 자동으로 만듭니다.

Sensitive Data Protection은 이 옵션을 사용 설정한 시점부터 프로필을 내보내기 시작합니다. 내보내기를 사용 설정하기 전에 생성된 프로필은 BigQuery에 저장되지 않습니다.

Pub/Sub에 게시

Pub/Sub에 게시를 사용 설정하면 프로파일링 결과를 기반으로 프로그래매틱 작업을 수행할 수 있습니다. Pub/Sub 알림을 사용하여 심각한 데이터 위험 또는 민감성이 포함된 발견 항목을 포착하고 해결하는 워크플로를 개발할 수 있습니다.

Pub/Sub 주제로 알림을 전송하려면 다음 단계를 수행합니다.

  1. Pub/Sub에 게시를 사용 설정합니다.

    옵션 목록이 나타납니다. 각 옵션에서 Sensitive Data Protection이 Pub/Sub에 알림을 보내도록 유도하는 이벤트를 설명합니다.

  2. Pub/Sub 알림을 트리거할 이벤트를 선택합니다.

    프로필이 업데이트될 때마다 Pub/Sub 알림 전송을 선택하면 Sensitive Data Protection이 다음 테이블 수준 측정항목에 변경사항이 있을 때 알림을 전송합니다.

    • 데이터 위험
    • 민감도
    • 예측된 infoType
    • 기타 infoType
    • 공개
    • 암호화
  3. 선택한 이벤트마다 다음 단계를 따르세요.

    1. 주제 이름을 입력합니다. 이름은 다음 형식이어야 합니다.

      projects/PROJECT_ID/topics/TOPIC_ID
      

      다음을 바꿉니다.

      • PROJECT_ID: Pub/Sub 주제와 연결된 프로젝트의 ID입니다.
      • TOPIC_ID: Pub/Sub 주제의 ID입니다.
    2. 알림에 전체 테이블 프로필을 포함할지 아니면 프로파일링된 테이블의 전체 리소스 이름만 포함할지를 지정합니다.

    3. Sensitive Data Protection이 알림을 전송하기 위해 충족되어야 하는 최소한의 데이터 위험 및 민감도 수준을 설정합니다.

    4. 데이터 위험 및 민감도 조건을 하나만 충족하면 되는지, 아니면 둘 다 충족해야 하는지 지정합니다. 예를 들어 AND를 선택하는 경우 Sensitive Data Protection이 알림을 전송하려면 먼저 데이터 위험 및 민감도 조건을 모두 충족해야 합니다.

구성을 저장할 위치 설정

리소스 위치 목록을 클릭하고 이 스캔 구성을 저장할 리전을 선택합니다. 나중에 만드는 모든 스캔 구성도 이 위치에 저장됩니다.

스캔 구성을 저장하는 위치는 스캔되는 데이터에는 영향을 주지 않습니다. 또한 데이터 프로필이 저장되는 위치에도 영향을 주지 않습니다. 데이터는 데이터가 저장된 리전과 동일한 리전에서 스캔됩니다. 자세한 내용은 데이터 상주 고려사항을 참조하세요.

검토 및 만들기

  1. 스캔 구성을 만든 후 프로파일링이 자동으로 시작되지 않도록 하려면 일시중지 모드에서 스캔 만들기를 선택합니다.

    이 옵션은 다음과 같은 경우에 유용합니다.

    • 데이터 프로필을 BigQuery에 저장하도록 선택했고 서비스 에이전트가 출력 테이블에 대한 쓰기 액세스 권한을 갖고 있는지 확인하고자 하는 경우.
    • Pub/Sub 알림을 구성했고 서비스 에이전트에 게시 액세스 권한을 부여하려는 경우
  2. 설정을 검토하고 만들기를 클릭합니다.

    Sensitive Data Protection은 스캔 구성을 만들고 디스커버리 스캔 구성 목록에 추가합니다.

스캔 구성을 보거나 관리하려면 스캔 구성 관리를 참조하세요.

Sensitive Data Protection은 Cloud SQL 인스턴스를 식별하고 각 인스턴스에 대한 기본 연결을 만들기 시작합니다. 검색 범위 내의 인스턴스 수에 따라 이 프로세스에 몇 시간이 걸릴 수 있습니다. Google Cloud 콘솔을 종료하고 나중에 연결을 확인할 수 있습니다.

기본 연결이 준비되면 Sensitive Data Protection에서 Cloud SQL 인스턴스를 프로파일링하는 데 사용할 데이터베이스 사용자 인증 정보로 이러한 연결을 업데이트합니다. 자세한 내용은 검색에서 사용할 연결 관리를 참조하세요.

다음 단계

연결 업데이트 방법 알아보기