Anda dapat mengekspor log audit dan operasional dari peralatan Google Distributed Cloud (GDC) dengan air gap ke bucket penyimpanan jarak jauh yang kompatibel dengan S3 menggunakan tugas transfer penyimpanan. Dengan memindahkan log ini, Anda dapat memenuhi persyaratan retensi kepatuhan jangka panjang dan melakukan audit keamanan eksternal.
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 infra dan peran Logs Bucket Viewer (logs-bucket-viewer) di namespace obs-system di bidang pengelolaan.
Untuk mengetahui informasi selengkapnya tentang peran ini, lihat Menyiapkan izin IAM.
Mendapatkan endpoint dan nama yang sepenuhnya memenuhi syarat dari bucket sumber
Tetapkan
KUBECONFIGke Org Management API:export KUBECONFIG=MANAGEMENT_API_KUBECONFIG_PATHDapatkan 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 yang sepenuhnya memenuhi syarat dari bucket sumber:
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_PATHDapatkan 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 -diUntuk 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 -diUntuk 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_PATHBuat 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_KEYBuat 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_KEYBuat 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_FILEUntuk melanjutkan, dapatkan
CA_FILE,DST_BUCKET_ACCESS_KEY_ID, danDST_BUCKET_SECRET_ACCESS_KEYdari bucket jarak jauh. Operasi alat transfer data bergantung pada lokasi spesifik endpoint transfer.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