Puoi esportare gli audit log e i log operativi dall'appliance Google Distributed Cloud (GDC) con air gap in un bucket di archiviazione remoto compatibile con S3 utilizzando un job di Storage Transfer Service. L'offload di questi log ti aiuta a soddisfare i requisiti di conservazione per la conformità a lungo termine e a condurre audit di sicurezza esterni.
Ottieni i ruoli IAM
Per ottenere le autorizzazioni necessarie per esportare i log, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Logs Transfer Admin (logs-transfer-admin) nello spazio dei nomi obs-system nel cluster infra e il ruolo Logs Bucket Viewer (logs-bucket-viewer)) nello spazio dei nomi obs-system nel piano di gestione.
Per saperne di più su questi ruoli, consulta Prepara le autorizzazioni IAM.
Ottieni l'endpoint e il nome completo del bucket di origine
Imposta
KUBECONFIGsull'API di gestione dell'organizzazione:export KUBECONFIG=MANAGEMENT_API_KUBECONFIG_PATHRecupera l'endpoint del bucket di origine:
Per gli audit log:
kubectl get bucket audit-logs-loki-all -n obs-system -o json | jq '.status.endpoint'Per i log operativi:
kubectl get bucket ops-logs-loki-all -n obs-system -o json | jq '.status.endpoint'
Recupera il nome completo del bucket di origine:
Per gli audit log:
kubectl get bucket audit-logs-loki-all -n obs-system -o json | jq '.status.fullyQualifiedName'Per i log operativi:
kubectl get bucket ops-logs-loki-all -n obs-system -o json | jq '.status.fullyQualifiedName'
Ottieni le credenziali di accesso del bucket di origine
Imposta KUBECONFIG sul cluster Org Infra:
export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATHOttieni l'ID della chiave di accesso del bucket di origine:
Per gli audit log:
kubectl get secret audit-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."access-key-id"' | base64 -diPer i log operativi:
kubectl get secret ops-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."access-key-id"' | base64 -di
Recupera la chiave di accesso segreta del bucket di origine:
Per gli audit log:
kubectl get secret audit-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."secret-access-key"' | base64 -diPer i log operativi:
kubectl get secret ops-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."secret-access-key"' | base64 -di
Log di trasferimento
Imposta
KUBECONFIGsul cluster Org Infra:export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATHCrea un secret con le credenziali di accesso del bucket di origine:
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 le credenziali di accesso del bucket di destinazione:
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 l'autorità di certificazione per autenticare l'endpoint del bucket di destinazione:
kubectl create secret generic -n obs-system DST_BUCKET_CA_SECRET_NAME --from-file="ca.crt"=CA_FILEPer procedere, ottieni
CA_FILE,DST_BUCKET_ACCESS_KEY_IDeDST_BUCKET_SECRET_ACCESS_KEYdal bucket remoto. Il funzionamento dello strumento di trasferimento dei dati dipende dalle località specifiche degli endpoint di trasferimento.Crea un job di trasferimento dei log:
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. ---Attendi il completamento del job di trasferimento:
kubectl wait --for=condition=complete job/JOB_NAME -n obs-system