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 du 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_PATH
- Obtenez 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_PATH
- Obtenez 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 -di
- Pour 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 -di
- Pour 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_PATH
- Cré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_KEY
- Cré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_KEY
- Cré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_FILE
- 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