ייצוא יומנים לדלי מרוחק

אתם יכולים לייצא יומני ביקורת ויומנים תפעוליים ממכשיר Google Distributed Cloud (GDC)‎ מנותק לקטגוריית אחסון מרוחקת שתואמת ל-S3, באמצעות משימת העברת אחסון. העברת היומנים האלה עוזרת לכם לעמוד בדרישות השמירה לטווח ארוך לצורכי תאימות, ולבצע ביקורות אבטחה חיצוניות.

קבלת תפקידי IAM

כדי לקבל את ההרשאות שנדרשות לייצוא יומנים, צריך לבקש מהאדמין של הארגון ב-IAM להקצות לכם את התפקיד "אדמין של העברת יומנים" (logs-transfer-admin) במרחב השמות obs-system באשכול התשתית, ואת התפקיד "צפייה בקטגוריות של יומנים" (logs-bucket-viewer)) במרחב השמות obs-system במישור הניהול.

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

משיגים את נקודת הקצה ואת השם המלא של קטגוריית המקור

  1. מגדירים את KUBECONFIG ל-Org Management API:

    export KUBECONFIG=MANAGEMENT_API_KUBECONFIG_PATH
    
  2. מאתרים את נקודת הקצה של קטגוריית המקור:

    • ביומני ביקורת:

      kubectl get bucket audit-logs-loki-all -n obs-system -o json | jq '.status.endpoint'
      
    • ביומנים תפעוליים:

      kubectl get bucket ops-logs-loki-all -n obs-system -o json | jq '.status.endpoint'
      
  3. משיגים את השם המלא של קטגוריית המקור:

    • ביומני ביקורת:

      kubectl get bucket audit-logs-loki-all -n obs-system -o json | jq '.status.fullyQualifiedName'
      
    • ביומנים תפעוליים:

      kubectl get bucket ops-logs-loki-all -n obs-system -o json | jq '.status.fullyQualifiedName'
      

קבלת פרטי הכניסה של קטגוריית המקור

  1. מגדירים את KUBECONFIG לאשכול Org Infra:

      export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATH
    
  2. משיגים את מזהה מפתח הגישה של קטגוריית המקור:

    • ביומני ביקורת:

      kubectl get secret audit-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."access-key-id"' | base64 -di
      
    • ביומנים תפעוליים:

      kubectl get secret ops-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."access-key-id"' | base64 -di
      
  3. משיגים את מפתח הגישה הסודי של קטגוריית המקור:

    • ביומני ביקורת:

      kubectl get secret audit-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."secret-access-key"' | base64 -di
      
    • ביומנים תפעוליים:

      kubectl get secret ops-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."secret-access-key"' | base64 -di
      

יומני העברות

  1. מגדירים את KUBECONFIG לאשכול Org Infra:

    export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATH
    
  2. יוצרים סוד עם פרטי הכניסה של קטגוריית המקור:

    kubectl create secret generic -n obs-system SRC_BUCKET_SECRET_NAME
    --from-literal=access-key-id=SRC_BUCKET_ACCESS_KEY_ID
    --from-literal=secret-access-key=SRC_BUCKET_SECRET_ACCESS_KEY
    
  3. יוצרים סוד עם פרטי הכניסה של קטגוריית היעד:

    kubectl create secret generic -n obs-system DST_BUCKET_SECRET_NAME 
    --from-literal=access-key-id=DST_BUCKET_ACCESS_KEY_ID   
    --from-literal=secret-access-key=DST_BUCKET_SECRET_ACCESS_KEY
    
  4. יוצרים סוד עם רשות אישורים לאימות נקודת הקצה של קטגוריית היעד:

    kubectl create secret generic -n obs-system DST_BUCKET_CA_SECRET_NAME 
    --from-file="ca.crt"=CA_FILE
    

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

  5. יוצרים משימת העברת יומנים:

    apiVersion: batch/v1
    kind: Job
    metadata:
      name: JOB_NAME
      namespace: obs-system
    spec:
      template:
        spec:
          serviceAccountName: logs-transfer-sa
          containers:
            - name: storage-transfer-pod
              image: gcr.io/private-cloud-staging/storage-transfer:latest
              imagePullPolicy: Always
              command:
                - /storage-transfer
              args:
                - '--src_endpoint=SRC_BUCKET_ENDPOINT'
                - '--dst_endpoint=DST_BUCKET_ENDPOINT'
                - '--src_path=SRC_BUCKET_FULLY_QUALIFIED_NAME'
                - '--dst_path=DST_BUCKET_FULLY_QUALIFIED_NAME'
                - '--src_credentials=obs-system/SRC_BUCKET_SECRET_NAME'
                - '--dst_credentials=obs-system/DST_BUCKET_SECRET_NAME'
                - '--dst_ca_certificate_reference=obs-system/DST_BUCKET_CA_SECRET_NAME'
                - '--src_ca_certificate_reference=obs-system/trust-store-root-ext'
                - '--src_type=s3'
                - '--dst_type=s3'
                - '--bandwidth_limit=1G'
          restartPolicy: OnFailure.
    ---
    
  6. מחכים עד שמשימת ההעברה תסתיים:

    kubectl wait --for=condition=complete job/JOB_NAME -n obs-system