Exporta registros a un bucket remoto

En esta página, se describe cómo exportar los registros de auditoría y operativos del dispositivo aislado de Google Distributed Cloud (GDC) a un bucket remoto con la herramienta de transferencia de almacenamiento.

Cómo obtener roles de IAM

Para obtener los permisos que necesitas para exportar registros, pídele al administrador de IAM de la organización que te otorgue el rol de administrador de transferencia de registros (logs-transfer-admin) en el espacio de nombres obs-system del clúster de infraestructura y el rol de visualizador de buckets de registros (logs-bucket-viewer)) en el espacio de nombres obs-system del plano de administración.

Para obtener más información sobre estos roles, consulta Prepara los permisos de IAM.

Obtén el extremo y el nombre completamente calificado del bucket de origen

  1. Configura KUBECONFIG en la API de Org Management:

    export KUBECONFIG=MANAGEMENT_API_KUBECONFIG_PATH
    
  2. Obtén el extremo del bucket de origen:

    • Para los registros de auditoría:

      kubectl get bucket audit-logs-loki-all -n obs-system -o json | jq '.status.endpoint'
      
    • Para los registros operativos, haz lo siguiente:

      kubectl get bucket ops-logs-loki-all -n obs-system -o json | jq '.status.endpoint'
      
  3. Obtén el nombre completamente calificado del bucket de origen:

    • Para los registros de auditoría:

      kubectl get bucket audit-logs-loki-all -n obs-system -o json | jq '.status.fullyQualifiedName'
      
    • Para los registros operativos, haz lo siguiente:

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

Obtén las credenciales de acceso del bucket de origen

  1. Establece KUBECONFIG en el clúster de infraestructura de la organización:

      export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATH
    
  2. Obtén el ID de clave de acceso del bucket de origen:

    • Para los registros de auditoría:

      kubectl get secret audit-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."access-key-id"' | base64 -di
      
    • Para los registros operativos, haz lo siguiente:

      kubectl get secret ops-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."access-key-id"' | base64 -di
      
  3. Obtén la clave de acceso secreta del bucket de origen:

    • Para los registros de auditoría:

      kubectl get secret audit-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."secret-access-key"' | base64 -di
      
    • Para los registros operativos, haz lo siguiente:

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

Registros de transferencia

  1. Establece KUBECONFIG en el clúster de infraestructura de la organización:

    export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATH
    
  2. Crea un secreto con las credenciales de acceso del bucket de origen:

    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. Crea un secreto con las credenciales de acceso del bucket de destino:

    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. Crea un secreto con la autoridad certificadora para autenticar el extremo del bucket de destino:

    kubectl create secret generic -n obs-system DST_BUCKET_CA_SECRET_NAME 
    --from-file="ca.crt"=CA_FILE
    
  5. Crea un trabajo de transferencia de registros:

    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. Espera a que se complete el trabajo de transferencia:

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