Cette page explique comment exporter les journaux d'audit et opérationnels de l'appliance Google Distributed Cloud (GDC) isolée vers un bucket distant à l'aide de l'outil de transfert de stockage.
Obtenir des rôles IAM
Pour obtenir les autorisations nécessaires pour exporter des journaux, demandez à votre administrateur IAM de l'organisation de vous accorder le rôle Administrateur du transfert de journaux (logs-transfer-admin) dans l'espace de noms obs-system du cluster d'infrastructure et le rôle Lecteur de bucket de journaux (logs-bucket-viewer)) dans l'espace de noms obs-system du plan de gestion.
Pour en savoir plus sur ces rôles, consultez Préparer les autorisations IAM.
Obtenir le point de terminaison et le nom complet du bucket source
Définissez
KUBECONFIGsur l'API Organization Management :export KUBECONFIG=MANAGEMENT_API_KUBECONFIG_PATHObtenez le point de terminaison du bucket source :
Pour les journaux d'audit :
kubectl get bucket audit-logs-loki-all -n obs-system -o json | jq '.status.endpoint'Pour les journaux opérationnels :
kubectl get bucket ops-logs-loki-all -n obs-system -o json | jq '.status.endpoint'
Obtenez le nom complet du bucket source :
Pour les journaux d'audit :
kubectl get bucket audit-logs-loki-all -n obs-system -o json | jq '.status.fullyQualifiedName'Pour les journaux opérationnels :
kubectl get bucket ops-logs-loki-all -n obs-system -o json | jq '.status.fullyQualifiedName'
Obtenir les identifiants d'accès au bucket source
Définissez KUBECONFIG sur le cluster d'infrastructure de l'organisation :
export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATHObtenez l'ID de clé d'accès du bucket source :
Pour les journaux d'audit :
kubectl get secret audit-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."access-key-id"' | base64 -diPour les journaux opérationnels :
kubectl get secret ops-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."access-key-id"' | base64 -di
Obtenez la clé d'accès secrète du bucket source :
Pour les journaux d'audit :
kubectl get secret audit-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."secret-access-key"' | base64 -diPour les journaux opérationnels :
kubectl get secret ops-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."secret-access-key"' | base64 -di
Journaux de transfert
Définissez
KUBECONFIGsur le cluster d'infrastructure de l'organisation :export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATHCréez un secret avec les identifiants d'accès du bucket source :
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_KEYCréez un secret avec les identifiants d'accès du bucket de destination :
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_KEYCréez un secret avec une autorité de certification pour authentifier le point de terminaison du bucket de destination :
kubectl create secret generic -n obs-system DST_BUCKET_CA_SECRET_NAME --from-file="ca.crt"=CA_FILEPour continuer, obtenez
CA_FILE,DST_BUCKET_ACCESS_KEY_IDetDST_BUCKET_SECRET_ACCESS_KEYà partir du bucket distant. Le fonctionnement de l'outil de transfert de données dépend des emplacements spécifiques des points de terminaison du transfert.Créez une tâche de transfert de journaux :
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. ---Attendez que le transfert soit terminé :
kubectl wait --for=condition=complete job/JOB_NAME -n obs-system