הסרת פרטים מזהים מנתונים ב-BigQuery בזמן השאילתה

במדריך הזה מוסבר איך להסיר פרטי זיהוי מנתונים בזמן שליחת שאילתות לטבלאות מ-BigQuery, באמצעות פונקציות מרוחקות ו-Sensitive Data Protection. הגישה הזו שימושית לניקוי תוצאות של שאילתות בזמן אמת, כדי לצמצם את הגישה לנתונים שלא נדרשים לניתוח.

במדריך הזה מוסבר איך להצפין ולפענח נתונים בזמן ההעברה. במאמר הסרת פרטי הזיהוי של מידע רגיש באחסון מוסבר איך משתמשים ב-Sensitive Data Protection כדי להצפין נתונים במנוחה.

המדריך הזה מיועד לקהלים שתחומי האחריות שלהם כוללים אבטחת מידע, עיבוד נתונים או ניתוח נתונים. המדריך הזה מניח שאתם מכירים את הנושאים של עיבוד נתונים ופרטיות נתונים, אבל אתם לא צריכים להיות מומחים. במדריך הזה אנחנו גם מניחים שאתם יודעים להריץ סקריפטים בסיסיים של Cloud Shell ו-SQL.

במדריך הזה נעשה שימוש בפונקציות מבוססות SQL, ב-BigQuery, בפונקציות מרוחקות, ב-Cloud Run וב-Sensitive Data Protection.

טכניקות להסרת פרטים מזהים, כמו הצפנה, מסתירות מזהים רגישים גולמיים בנתונים שלכם. השיטות האלה מאפשרות לכם לשמור על התועלת של הנתונים לצורך איחוד או ניתוח, תוך צמצום הסיכון בטיפול בנתונים.

יכול להיות שבארגונים יש דרישות רגולטוריות או מדיניות שלפיהן צריך לאחסן רק נתונים עם הסרת פרטי הזיהוי במחסן הנתונים בענן. בנוסף, יכול להיות שהם יצטרכו לשחזר פרטי זיהוי של הנתונים שעברו הסרת פרטי הזיהוי כדי ליצור דוחות.

כדי לצמצם את הסיכון בטיפול בכמויות גדולות של מידע אישי רגיש, אתם יכולים להשתמש בצינור עיבוד נתונים אוטומטי כדי ליצור מערכי נתונים ללא פרטים מזהים. אתם יכולים להשתמש במדריך הזה כדי להחליף את צינור עיבוד הנתונים בשאילתת SQL רק לצורך זיהוי מחדש, או לצורך הסרת פרטים מזהים וזיהוי מחדש. במדריך הזה נסביר איך לבצע גם הסרת פרטי זיהוי וגם שחזור פרטי זיהוי באמצעות שירות מרכזי שמתארח ב-Cloud Run. אתם יכולים להשתמש בשירות המרכזי הזה בכל הארגון, בלי להגדיר או לתחזק אשכול Dataflow.

‫Sensitive Data Protection יכול לסווג מערכי נתונים על ידי בדיקת הנתונים כדי לאתר מידע רגיש. ל-Sensitive Data Protection יש יותר מ-200 מסווגים מובנים, שנקראים infoTypes. כדי להסיר פרטי זיהוי באמצעות Cloud Data Loss Prevention API, צריך פייפליינים ואפליקציות. המדריך הזה נועד לעזור למנתחי הנתונים, למהנדסים או למדענים להשיג את אותה תוצאה באמצעות פונקציות SQL.

בסוף המדריך תוכלו לכתוב שאילתה דומה לזו שבהמשך, שבה המידע האישי הרגיש יוסר ויוחזר בתוצאת השאילתה.

SELECT
    pii_column,
    fns.dlp_freetext_encrypt(pii_column) AS dlp_encrypted,
    fns.dlp_freetext_decrypt(fns.dlp_freetext_encrypt(pii_column)) AS dlp_decrypted
FROM
    UNNEST(
    [
        'My name is John Doe. My email is john.doe@example.com']) AS pii_column

הפלט אמור להיראות כך:

Row pii_column dlp_encrypted dlp_decrypted
1 My name is John Doe. My email is john.doe@example.com My name is John Doe. My email is BQ_TRF_EMAIL(40):AQy6lGvwKR+AiiRqJpEr+nBzZUzOcjXkXamUugU= My name is John Doe. My email is john.doe@example.com

ארכיטקטורה

בתרשים הבא מוצג איך במדריך הזה משתמשים ב-BigQuery כמחסן הנתונים, ב-Sensitive Data Protection כדי להסיר את פרטי הזיהוי ולזהות מחדש את הנתונים, וב-Cloud Run כדי לארח את הפונקציות המרוחקות.

דיאגרמת ארכיטקטורה ברמה גבוהה של המדריך הזה

מטרות

  • פריסת שירות Cloud Run שמספק פונקציונליות של הסרת פרטי זיהוי מ-Sensitive Data Protection.
  • יצירת פונקציות מרוחקות ב-BigQuery שמשתמשות בתבניות להסרת פרטי הזיהוי של Sensitive Data Protection.
  • אימות הצפנת הנתונים ב-BigQuery באמצעות שאילתת SQL.

עלויות

במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:

כדי ליצור הערכת עלויות בהתאם לשימוש החזוי, אתם יכולים להשתמש במחשבון התמחור.

משתמשים חדשים של Google Cloud ? יכול להיות שאתם זכאים לתקופת ניסיון בחינם.

כשמסיימים את המשימות שמתוארות במסמך הזה אפשר למחוק את המשאבים שיצרתם כדי להימנע מחיובים נוספים. מידע נוסף זמין בקטע הסרת המשאבים.

לפני שמתחילים

  1. התקינו את ה-CLI של Google Cloud.

  2. הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.

    איך נכנסים ל-CLI של gcloud באמצעות הזהות המאוחדת?

  3. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  4. יוצרים או בוחרים Google Cloud פרויקט.

    התפקידים שנדרשים כדי לבחור או ליצור פרויקט

    • בחירת פרויקט: כדי לבחור פרויקט לא נדרש תפקיד IAM ספציפי – אתם יכולים לבחור כל פרויקט שקיבלתם בו תפקיד.
    • יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד "יצירת פרויקטים" (roles/resourcemanager.projectCreator), שכולל את ההרשאה resourcemanager.projects.create. איך מקצים תפקידים?
    • יוצרים פרויקט ב- Google Cloud :

      gcloud projects create PROJECT_ID

      מחליפים את PROJECT_ID בשם של הפרויקט ב- Google Cloud שאתם יוצרים.

    • בוחרים את הפרויקט שיצרתם: Google Cloud

      gcloud config set project PROJECT_ID

      מחליפים את PROJECT_ID בשם הפרויקט ב- Google Cloud .

  5. מוודאים שהחיוב מופעל בפרויקט ב- Google Cloud .

  6. מפעילים את ממשקי ה-API הבאים, אם הם עדיין לא מופעלים: Artifact Registry,‏ BigQuery,‏ BigQuery Connection API,‏ Cloud Build,‏ Cloud Data Loss Prevention API,‏ Cloud Key Management Service,‏ Cloud Run,‏ Container Registry,‏ Identity and Access Management,‏ Resource Manager,‏ Secret Manager ו-Service Usage API.

    התפקידים שנדרשים כדי להפעיל ממשקי API

    כדי להפעיל ממשקי API, צריך את ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד "בעלים" (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    gcloud services enable artifactregistry.googleapis.com bigquery.googleapis.com bigqueryconnection.googleapis.com cloudbuild.googleapis.com cloudkms.googleapis.com cloudresourcemanager.googleapis.com containerregistry.googleapis.com dlp.googleapis.com iam.googleapis.com run.googleapis.com secretmanager.googleapis.com serviceusage.googleapis.com

הכנת הסביבה

  1. ב-Cloud Shell, משכפלים את מאגר המקור:

    git clone https://github.com/GoogleCloudPlatform/bigquery-dlp-remote-function.git
    
  2. עוברים לספרייה של המדריך הזה:

    cd bigquery-dlp-remote-function/
    

פריסת המשאבים באמצעות סקריפט

כדי להשתמש בסקריפט הפריסה בלי לבצע התאמות אישיות, פועלים לפי השלבים הבאים. אם אתם רוצים להתאים אישית את הפריסה, דלגו על הקטע הזה ועברו אל פריסה ידנית של פתרון בהתאמה אישית.

  1. מגדירים את הערכים בשדות PROJECT_ID ו-REGION:

    # Project ID of the Google Cloud project
    PROJECT_ID="PROJECT_ID"
    
    # Google Cloud region to use for deployment of resources
    # Refer to https://cloud.google.com/about/locations
    REGION="REGION"
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫PROJECT_ID: מזהה הפרויקט של המדריך הזה.
    • ‫REGION: האזור שבו רוצים לאחסן ולעבד את הנתונים, לדוגמה us-west1. צריך לציין אזור (region) ולא אזור (zone).
  2. אופציונלי: אם יש לכם תבנית בדיקה שאתם רוצים להשתמש בה, הגדירו בשדה DLP_INSPECT_TEMPLATE את שם המשאב המלא של תבנית הבדיקה. תבנית הבדיקה צריכה להיות באותו אזור שהגדרתם בשדה REGION.

    חשוב לוודא שתבנית הבדיקה כוללת את כל סוגי המידע שמשמשים בתבנית להסרת פרטים מזהים.

    אם מדלגים על השלב הזה, Sensitive Data Protection בודק את הנתונים באמצעות קבוצה של גלאי infoType שמוגדרת כברירת מחדל במערכת.

    DLP_INSPECT_TEMPLATE="DLP_INSPECT_TEMPLATE"
    

    מחליפים את DLP_INSPECT_TEMPLATE בשם המשאב המלא של תבנית הבדיקה, לדוגמה projects/PROJECT_ID/locations/REGION/inspectTemplates/TEMPLATE_ID.

  3. מאמתים באמצעות Application Default Credentials:

    gcloud auth application-default login && \
    gcloud auth application-default set-quota-project "${PROJECT_ID}"
    
  4. מפעילים את סקריפט Terraform כדי ליצור את כל המשאבים:

    terraform init && \
    terraform apply \
    -var "project_id=${PROJECT_ID}" \
    -var "region=${REGION}" \
    -var "dlp_inspect_template_full_path=${DLP_INSPECT_TEMPLATE}"
    

    המערכת מציגה את כל הפעולות ש-Terraform תבצע. בודקים את הפעולות. כדי להמשיך, צריך להזין את yes.

  5. מוודאים שאפשר להצפין ולפענח את הנתונים.

פריסה ידנית של פתרון בהתאמה אישית

כדי להתאים אישית את הפריסה, פועלים לפי השלבים הבאים. אם אתם רוצים להשתמש בסקריפט הפריסה שסופק בלי התאמות אישיות או שלבים ידניים, עיינו במאמר פריסת המשאבים באמצעות סקריפט.

הגדרת משתני הסביבה

ב-Cloud Shell, מגדירים את משתני הסביבה הבאים:

PROJECT_ID="PROJECT_ID"
REGION="REGION"
CLOUD_RUN_SERVICE_NAME="CLOUD-RUN-SERVICE-NAME"
ARTIFACT_REGISTRY_NAME="ARTIFACT-DOCKER-REGISTRY-NAME"

מחליפים את מה שכתוב בשדות הבאים:

  • ‫PROJECT_ID: מזהה הפרויקט שלכם במדריך הזה.
  • ‫REGION: האזור שבו רוצים לאחסן ולעבד את הנתונים, לדוגמה us-west1. צריך לציין אזור (region) ולא אזור (zone).
  • ‫CLOUD_RUN_SERVICE_NAME: שם לשירות החדש ב-Cloud Run. אפשר להזין עד 15 תווים.
  • ‫ARTIFACT_REGISTRY_NAME: שם ל-Artifact Registry החדש לאחסון קובצי אימג' של קונטיינרים.

יצירת חשבון שירות בשביל Cloud Run

  1. יוצרים חשבון שירות:

    RUNNER_SA_NAME="${CLOUD_RUN_SERVICE_NAME}-runner"
    RUNNER_SA_EMAIL="${RUNNER_SA_NAME}@${PROJECT_ID}."
    gcloud iam service-accounts create "${RUNNER_SA_NAME}" \
        --project="${PROJECT_ID}" \
        --description "Runner for BigQuery remote function execution" \
        --display-name "${RUNNER_SA_NAME}"
    
  2. מקצים את התפקידים הנדרשים ל-Sensitive Data Protection.

    מקצים את התפקיד DLP Reader:

    gcloud projects add-iam-policy-binding "${PROJECT_ID}" \
        --member="serviceAccount:${RUNNER_SA_EMAIL}" \
        --role='roles/dlp.reader'
    

    מקצים את התפקיד DLP User:

    gcloud projects add-iam-policy-binding "${PROJECT_ID}" \
        --member="serviceAccount:${RUNNER_SA_EMAIL}" \
        --role='roles/dlp.user'
    

פריסת השירות של Cloud Run

כדי לפרוס את האפליקציה:

  1. אופציונלי: אפשר לשנות את ערכי ברירת המחדל על ידי שינוי משתני הסביבה או עדכון הקובץ src/main/resources/aes.properties.

  2. יוצרים מאגר ב-Artifact Registry כדי לאחסן את קובץ האימג' של הקונטיינר של הפונקציה:

    gcloud artifacts repositories create "${ARTIFACT_REGISTRY_NAME}" \
    --repository-format=docker \
    --location="${REGION}" \
    --description="Container images repository for BigQuery Functions" \
    --project="${PROJECT_ID}"
    
  3. קומפילציה של האפליקציה ופריסה שלה ב-Cloud Run באמצעות Cloud Build:

    gcloud builds submit \
    --project ${PROJECT_ID} \
    --substitutions=_CONTAINER_IMAGE_NAME="${REGION}-docker.pkg.dev/${PROJECT_ID}/${ARTIFACT_REGISTRY_NAME}/${CLOUD_RUN_SERVICE_NAME}:latest" \
    --machine-type=e2-highcpu-8 && \
    gcloud beta run deploy ${CLOUD_RUN_SERVICE_NAME} \
    --image="${REGION}-docker.pkg.dev/${PROJECT_ID}/${ARTIFACT_REGISTRY_NAME}/${CLOUD_RUN_SERVICE_NAME}:latest" \
    --execution-environment=gen2 \
    --platform=managed \
    --region="${REGION}" \
    --service-account="${RUNNER_SA_EMAIL}" \
    --cpu=4 \
    --memory=8Gi \
    --no-allow-unauthenticated \
    --project ${PROJECT_ID} \
    --update-env-vars=PROJECT_ID=${PROJECT_ID}
    

    הפלט אמור להיראות כך:

    ID: 403a276e-b0c6-41f3-aaed-f0ec9f9cedba
    CREATE_TIME: 2023-02-04T01:52:15+00:00
    DURATION: 1M59S
    SOURCE: gs://PROJECT_ID_cloudbuild/source/1675475534.124241-9c43787f64e04cfd9e4a1979d3324fe0.tgz
    IMAGES: gcr.io/PROJECT_ID/CLOUD_RUN_SERVICE_NAME (+1 more)
    STATUS: SUCCESS
    Deploying container to Cloud Run service [CLOUD_RUN_SERVICE_NAME] in project [PROJECT_ID] region [REGION]
    OK Deploying new service... Done.
     OK Creating Revision... Revision deployment finished. Checking container heal
     th.
     OK Routing traffic...
    Done.
    Service [CLOUD_RUN_SERVICE_NAME] revision [CLOUD_RUN_SERVICE_NAME-00001-tat] has been deployed and is serving 100 percent of traffic.
    Service URL: https://CLOUD_RUN_SERVICE_NAME-j2bpjx2xoq-uw.a.run.app
    
  4. מאחזרים את כתובת ה-URL של Cloud Run ושומרים אותה במשתני הסביבה:

    RUN_URL="$(gcloud run services describe ${CLOUD_RUN_SERVICE_NAME} --region \
        ${REGION} --project ${PROJECT_ID} --format="get(status.address.url)")"
    

יצירת תבנית להסרת פרטי זיהוי ב-Sensitive Data Protection

תבניות להסרת פרטי זיהוי ב-Sensitive Data Protection עוזרות לשמור את הגדרות הסרת פרטי הזיהוי, כדי שאפשר יהיה להשתמש בהן שוב בכמה פעולות ובכמה מקורות נתונים.

בשלב הזה משתמשים בקובץ sample_dlp_deid_config.json, שמכיל תבנית לדוגמה להסרת פרטים מזהים.

יוצרים את התבנית ב-Cloud Shell:

DEID_TEMPLATE=$(curl -X POST \
-H "Authorization: Bearer `gcloud auth print-access-token`" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: ${PROJECT_ID}" \
--data-binary "@sample_dlp_deid_config.json" \
"https://dlp.googleapis.com/v2/projects/${PROJECT_ID}/locations/${REGION}/deidentifyTemplates")

DEID_TEMPLATE_NAME="$(echo ${DEID_TEMPLATE} | jq -r '.name')"

‫Google ממליצה להשתמש במפתח עטוף כשמבצעים הצפנה של Sensitive Data Protection בעומסי עבודה רגישים בפועל. למטרות הדגמה, במדריך הזה נעשה שימוש במפתח לא עטוף. למידע נוסף על יצירת מפתח עטוף ושימוש בו בבקשות להסרת פרטי זיהוי וזיהוי מחדש, ראו הסרת פרטי זיהוי וזיהוי מחדש של מידע אישי רגיש.

יצירת החיבור של BigQuery ל-Cloud Run

  1. ב-Cloud Shell, יוצרים חיבור ל-BigQuery כדי לגשת ל-Cloud Run:

    bq mk --connection \
    --display_name='External transform function connection' \
    --connection_type=CLOUD_RESOURCE \
    --project_id="${PROJECT_ID}" \
    --location="${REGION}" \
    ext-${CLOUD_RUN_SERVICE_NAME}
    
  2. מאתרים ומגדירים את חשבון השירות של BigQuery שמשמש לחיבור:

    CONNECTION_SA="$(bq --project_id ${PROJECT_ID} --format json show \
        --connection ${PROJECT_ID}.${REGION}.ext-${CLOUD_RUN_SERVICE_NAME} \
        | jq -r '.cloudResource.serviceAccountId')"
    
  3. מקצים לחשבון השירות את התפקיד Cloud Run Invoker:

    gcloud projects add-iam-policy-binding ${PROJECT_ID} \
        --member="serviceAccount:${CONNECTION_SA}" \
        --role='roles/run.invoker'
    

יצירת מערך נתונים ב-BigQuery לפונקציות מרוחקות

  1. מגדירים את מערך הנתונים ב-BigQuery לפונקציות המרוחקות:

    BQ_FUNCTION_DATASET="fns"
    
  2. יוצרים את מערך הנתונים אם הוא עדיין לא קיים:

       bq mk --dataset \
           --project_id ${PROJECT_ID} \
           --location ${REGION} \
           ${BQ_FUNCTION_DATASET}
    

יצירת הפונקציות המרוחקות של Sensitive Data Protection

  1. אופציונלי: אם יש לכם תבנית בדיקה שבה אתם רוצים להשתמש, מגדירים את המשתנה DLP_INSPECT_TEMPLATE לשם המשאב המלא של תבנית הבדיקה הזו. תבנית הבדיקה צריכה להיות באותו אזור שהגדרתם במשתנה הסביבה REGION.

    חשוב לוודא שתבנית הבדיקה כוללת את כל סוגי המידע שמשמשים בתבנית להסרת פרטים מזהים.

    אם מדלגים על השלב הזה, Sensitive Data Protection בודק את הנתונים באמצעות קבוצת ברירת מחדל של המערכת של גלאי infoType.

    DLP_INSPECT_TEMPLATE="DLP_INSPECT_TEMPLATE"
    

    מחליפים את DLP_INSPECT_TEMPLATE בשם המשאב המלא של תבנית הבדיקה, לדוגמה: projects/PROJECT_ID/locations/REGION/inspectTemplates/TEMPLATE_ID.

  2. יוצרים את הפונקציה להסרת פרטי הזיהוי של Sensitive Data Protection:

    bq query --project_id ${PROJECT_ID} \
    --use_legacy_sql=false \
    "CREATE OR REPLACE FUNCTION ${BQ_FUNCTION_DATASET}.dlp_freetext_encrypt(v STRING)
    RETURNS STRING
    REMOTE WITH CONNECTION \`${PROJECT_ID}.${REGION}.ext-${CLOUD_RUN_SERVICE_NAME}\`
    OPTIONS (endpoint = '${RUN_URL}', user_defined_context = [('mode', 'deidentify'),('algo','dlp'),('dlp-deid-template','${DEID_TEMPLATE_NAME}'),('dlp-inspect-template', '${DLP_INSPECT_TEMPLATE}')]);"
    
  3. יוצרים את הפונקציה לשחזור פרטי זיהוי של Sensitive Data Protection:

    bq query --project_id ${PROJECT_ID} \
    --use_legacy_sql=false \
    "CREATE OR REPLACE FUNCTION ${BQ_FUNCTION_DATASET}.dlp_freetext_decrypt(v STRING)
    RETURNS STRING
    REMOTE WITH CONNECTION \`${PROJECT_ID}.${REGION}.ext-${CLOUD_RUN_SERVICE_NAME}\`
    OPTIONS (endpoint = '${RUN_URL}', user_defined_context = [('mode', 'reidentify'),('algo','dlp'),('dlp-deid-template','${DEID_TEMPLATE_NAME}'),('dlp-inspect-template', '${DLP_INSPECT_TEMPLATE}')]);"
    

אימות של הסרת פרטי הזיהוי ושחזור פרטי זיהוי

כדי לוודא שהפתרון מסיר פרטי זיהוי ומשחזר פרטי זיהוי של הנתונים, מבצעים את הפעולות הבאות:

המסוף

  1. במסוף Google Cloud , נכנסים ל-BigQuery.

    כניסה ל-BigQuery

    ‫BigQuery ייפתח בפרויקט האחרון שניגשתם אליו.

  2. כדי לפתוח עורך שאילתות, לוחצים על Compose a new query.

  3. מזינים את השאילתה הבאה:

    SELECT
        pii_column,
        fns.dlp_freetext_encrypt(pii_column) AS dlp_encrypted,
        fns.dlp_freetext_decrypt(fns.dlp_freetext_encrypt(pii_column)) AS dlp_decrypted
    FROM
        UNNEST(
        [
            'My name is John Doe. My email is john.doe@example.com',
            'Some non PII data',
            '650-253-0000',
            'some script with simple number 1234']) AS pii_column
    
  4. לוחצים על Run.

BQ

  1. מגדירים את משתנה הסביבה של מערך הנתונים:

    BQ_FUNCTION_DATASET="fns"
    
  2. מריצים את השאילתה:

    bq query --project_id ${PROJECT_ID} \
    --use_legacy_sql=false \
    "
    SELECT
      pii_column,
      ${BQ_FUNCTION_DATASET}.dlp_freetext_encrypt(pii_column) AS dlp_encrypted,
    ${BQ_FUNCTION_DATASET}.dlp_freetext_decrypt(${BQ_FUNCTION_DATASET}.dlp_freetext_encrypt(pii_column)) AS dlp_decrypted
    FROM
      UNNEST(
        [
          'My name is John Doe. My email is john.doe@example.com',
          'Some non PII data',
          '650-253-0000',
          'some script with simple number 1234']) AS pii_column"
    

הפלט אמור להיראות כך:

Row pii_column dlp_encrypted dlp_decrypted
1 My name is John Doe. My email is john.doe@example.com My name is John Doe. My email is BQ_TRF_EMAIL(40):AQy6lGvwKR+AiiRqJpEr+nBzZUzOcjXkXamUugU= My name is John Doe. My email is john.doe@example.com
2 Some non PII data Some non PII data Some non PII data
3 650-253-0000 BQ_TRF_PH(40):AeKpGU5KBXaTyecCun7dv1hHht5w5Q2PTpvkRC4= 650-253-0000
4 some script with simple number 1234 some script with simple number 1234 some script with simple number 1234

לתשומת ליבכם

כשמתאימים את המדריך הזה לצרכים שלכם, כדאי להתייחס לנקודות הבאות:

  • הסרת פרטי הזיהוי ושחזור פרטי הזיהוי מעובדים באמצעות שירות Cloud Run. הקצאת מעבד (CPU) וזיכרון ב-Cloud Run בהתאם לדרישות המחשוב. לפרטים נוספים, ראו מגבלות המעבד (CPU) ומגבלות הזיכרון ב-Cloud Run.
  • כשמשתמשים ב-Sensitive Data Protection, חשוב להביא בחשבון את מגבלות השימוש ואת ההמלצות לשליטה בעלויות.
  • כדי לשלוט בעלויות ובניצול הכולל של מכסת Sensitive Data Protection, כדאי להגביל את הפריטים שמועברים דרך הפונקציה המרוחקת של Sensitive Data Protection ל-10,000 או פחות. הפתרון יכול לאגד את הבקשות באופן אוטומטי כדי לטפל בצורה חלקה במגבלות הבאות של בקשות Sensitive Data Protection:

    • מספר הערכים המקסימלי בטבלה: 50,000
    • מגבלת ברירת המחדל לגודל הבקשה: 0.5MB

    צריך להעביר לפונקציה של Sensitive Data Protection את התוצאות הסופיות והמסוננות של השאילתה, ולא את המקור.

    בפתרון הזה, כל ערך בעמודה pii_column הוא פריט – לדוגמה, My name is John Doe. My email is john.doe@example.com הוא פריט אחד.

  • חשוב לוודא שמערך הנתונים ב-BigQuery, שירות Cloud Run והתבניות של Sensitive Data Protection נמצאים באותו אזור בענן.

הסרת המשאבים

כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.

    כדי למחוק פרויקט ב- Google Cloud :

    gcloud projects delete PROJECT_ID

המאמרים הבאים