Halaman ini menjelaskan cara mengekspor log audit dan operasional di perlengkapan air-gapped Google Distributed Cloud (GDC) ke bucket jarak jauh menggunakan alat transfer penyimpanan.
Mendapatkan peran IAM
Untuk mendapatkan izin yang diperlukan untuk mengekspor log, minta Admin IAM Organisasi Anda untuk memberi Anda peran Logs Transfer Admin (logs-transfer-admin) di namespace obs-system di cluster infrastruktur dan peran Logs Bucket Viewer (logs-bucket-viewer)) di namespace obs-system di management plane.
Untuk mengetahui informasi selengkapnya tentang peran ini, lihat Siapkan izin IAM.
Mendapatkan endpoint dan nama bucket sumber yang sepenuhnya memenuhi syarat
- Setel - KUBECONFIGke Org Management API:- export KUBECONFIG=MANAGEMENT_API_KUBECONFIG_PATH
- Dapatkan endpoint bucket sumber: - Untuk log audit: - kubectl get bucket audit-logs-loki-all -n obs-system -o json | jq '.status.endpoint'
- Untuk log operasional: - kubectl get bucket ops-logs-loki-all -n obs-system -o json | jq '.status.endpoint'
 
- Dapatkan nama bucket sumber yang sepenuhnya memenuhi syarat: - Untuk log audit: - kubectl get bucket audit-logs-loki-all -n obs-system -o json | jq '.status.fullyQualifiedName'
- Untuk log operasional: - kubectl get bucket ops-logs-loki-all -n obs-system -o json | jq '.status.fullyQualifiedName'
 
Mendapatkan kredensial akses bucket sumber
- Tetapkan KUBECONFIG ke cluster Org Infra: - export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATH
- Dapatkan ID kunci akses bucket sumber: - Untuk log audit: - kubectl get secret audit-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."access-key-id"' | base64 -di
- Untuk log operasional: - kubectl get secret ops-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."access-key-id"' | base64 -di
 
- Dapatkan kunci akses rahasia bucket sumber: - Untuk log audit: - kubectl get secret audit-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."secret-access-key"' | base64 -di
- Untuk log operasional: - kubectl get secret ops-logs-loki-all-s3-auth -n obs-system -o json | jq -r '.data."secret-access-key"' | base64 -di
 
Log transfer
- Tetapkan - KUBECONFIGke cluster Org Infra:- export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG_PATH
- Buat secret dengan kredensial akses bucket sumber: - 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
- Buat secret dengan kredensial akses bucket tujuan: - 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
- Buat secret dengan certificate authority untuk mengautentikasi endpoint bucket tujuan: - kubectl create secret generic -n obs-system DST_BUCKET_CA_SECRET_NAME --from-file="ca.crt"=CA_FILE
- Buat tugas transfer 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. ---
- Tunggu hingga tugas transfer selesai: - kubectl wait --for=condition=complete job/JOB_NAME -n obs-system