Puedes exportar registros de auditoría y operativos desde el dispositivo de Google Distributed Cloud (GDC) aislado a un bucket de almacenamiento remoto compatible con S3 con un trabajo de transferencia de almacenamiento. La descarga de estos registros te ayuda a cumplir con los requisitos de retención de cumplimiento a largo plazo y a realizar auditorías de seguridad externas.
Obtén roles de IAM
Para obtener los permisos que necesitas para exportar registros, pídele al administrador de IAM de tu 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
Establece
KUBECONFIGen la API de administración de la organización:export KUBECONFIG=MANAGEMENT_API_KUBECONFIG_PATHObtén el extremo del bucket de origen:
Para los registros de auditoría, haz lo siguiente:
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'
Obtén el nombre completamente calificado del bucket de origen:
Para los registros de auditoría, haz lo siguiente:
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
Establece KUBECONFIG en el clúster de infraestructura de la organización:
export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATHObtén el ID de la clave de acceso del bucket de origen:
Para los registros de auditoría, haz lo siguiente:
kubectl get secret audit-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."access-key-id"' | base64 -diPara 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
Obtén la clave de acceso secreta del bucket de origen:
Para los registros de auditoría, haz lo siguiente:
kubectl get secret audit-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."secret-access-key"' | base64 -diPara 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
Establece
KUBECONFIGen el clúster de infraestructura de la organización:export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATHCrea un Secret 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_KEYCrea un Secret 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_KEYCrea un Secret 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_FILEPara continuar, obtén el
CA_FILE, elDST_BUCKET_ACCESS_KEY_IDy elDST_BUCKET_SECRET_ACCESS_KEYdel bucket remoto. El funcionamiento de la herramienta de transferencia de datos depende de las ubicaciones específicas de los extremos de transferencia.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. ---Espera a que se complete el trabajo de transferencia:
kubectl wait --for=condition=complete job/JOB_NAME -n obs-system