混合云管道的未來:集成 MinIO、Tailscale 和 GitHub Actions

數據處理是現代軟件開發的基本實踐。它使團隊能夠自動收集、處理和存儲數據,確保高質量的數據和高效的處理。

在本文中,我們將探討如何建立一個全面的數據處理管道,重點介紹如何使用 Tailscale GitHub Action 進行安全網絡。此設置還將包含 GitHub Actions 工作流和 MinIO Python SDK。雖然主要重點是展示 Tailscale 操作,但我們還將利用“動態 ETL 管道”文章中的 hydrate.py 腳本來有效地收集、處理和組織來自 Web 源的數據,確保 MinIO 中的安全存儲和 Weaviation 中的有效索引。

Tailscale 改變了游戲規則,使用戶能夠從 GitHub Actions 工作流程輕松連接到他們的混合云 VPN。Action Marketplace 上提供的 Tailscale GitHub 操作極大地簡化了此過程。

這個看似無害的步驟對開發人員和工程師具有重大影響。它基本上消除了出于開發目的而需要類似 Jenkins 的基礎設施。通過利用 GitHub Actions 工作流,我們可以直接在存儲庫中創建和構建作業工作流,而不受 GitHub Runner 或自托管運行器的硬件和限制的限制。這種出色的設置將安全性、可擴展性和靈活性提升到一個新的水平,將您的軟件開發工作流程提升到新的高度。

擁抱現代數據處理管道的強大功能

數據處理管道對于自動化數據管理的收集、處理和存儲階段至關重要,可確保高效處理和高質量數據。然而,隨著項目的復雜性和規模的增長,與管理這些管道相關的挑戰也在增加。安全性、數據處理和網絡效率是開發人員當今面臨的首要問題之一。

Tailscale 的安全范式轉變

Tailscale 通過創建零信任網絡環境徹底改變了網絡安全。它使用 WireGuard 協議對設備之間的所有通信進行加密,確保只有授權用戶和設備才能訪問您的網絡。這在數據處理管道中尤為重要,因為在管道中,敏感數據和代碼在系統之間不斷傳輸。

通過無縫網絡集成提高效率

數據處理管道中最大的瓶頸之一是網絡延遲和配置復雜性。Tailscale 通過創建一個無縫網絡來解決這個問題,該網絡將您的所有設備和服務連接起來,就好像它們在同一個本地網絡上一樣。這允許 GitHub Actions 運行器和 MinIO 存儲之間更快、更可靠的通信。

MinIO對象存儲的可擴展性

MinIO 提供與 S3 兼容的對象存儲,可根據您的數據需求輕松擴展。隨著項目的發展,數據處理管道生成和處理的數據量呈指數級增長。MinIO 的高性能對象存儲可確保高效可靠地處理這些數據,使其成為現代數據處理工作流程的理想解決方案。

MinIO 的可擴展性不僅僅是處理大量數據;它還與各種工具和服務無縫集成。無論您是存儲構建工件、日志還是其他生成的數據,MinIO 的分布式架構都能確保高可用性和持久性。

統一方法:GitHub Actions、Tailscale 和 MinIO

數據處理是現代軟件開發的基本實踐。它使團隊能夠自動收集、處理和存儲數據,確保高質量的數據和高效的處理。在本文中,我們將探討如何使用 GitHub Actions、用于對象存儲的 MinIO 和用于安全網絡的 Tailscale GitHub Action 來設置數據處理管道。我們還將利用“動態 ETL 管道”文章中的 hydrate.py 腳本來有效地收集、處理和組織來自 Web 源的數據,同時將其安全地存儲在 MinIO 中并在 Weaviation 中索引。

這種出色的設置將安全性、可擴展性和靈活性提升到一個新的水平,將您的軟件開發工作流程提升到新的高度。

先決條件

在開始之前,請確保滿足以下先決條件:

1 . MinIO Server:在本地或云環境中安裝和訪問。

2 . 尾鱗網絡:配置了活動帳戶和訪問密鑰。

3 . GitHub 存儲庫:使用必要的訪問權限進行設置。

4 . Python 環境:安裝 MinIO SDK 以與 MinIO 服務器交互。

5 . GitHub 機密:安全存儲 MinIO 憑據和 Tailscale 密鑰。

數據處理管道的存儲庫結構

若要保持項目井井有條,請考慮以下存儲庫結構:

.
├── .github
│   ├── workflows
│   │   └── hydrate-ts-workflow.yml
│   └── scripts
│       └── hydrate.py
├── urls.txt
└── README.md
  • .github/workflows:用于存儲 GitHub Actions 工作流文件的目錄

  • .github/scripts:用于存儲工作流中使用的腳本的目錄,例如 hydrate.py

  • urls.txt:包含要由 hydrate.py 腳本處理的 URL 列表的文件

  • README.md:項目的文檔,包括貢獻者的說明

使用 GitHub Actions 配置數據處理管道

將 GitHub Actions 與 MinIO 和 Tailscale 集成以增強數據處理管道

擁有強大而安全的數據處理管道至關重要,但如果我們告訴您,通過將 GitHub Actions 與 Tailscale 的安全網絡和 MinIO 的高性能存儲解決方案集成,您可以將管道提升到一個新的水平呢?在本文中,我們將引導您完成設置數據處理管道的步驟,該管道不僅利用 GitHub Actions 的強大功能,還確保一流的安全性和高效的數據處理。

第 1 步:使用 OAuth 和 Tailscale 進行無縫身份驗證

首先,讓我們談談身份驗證。我們將使用 OAuth 和 Tailscale 來確保安全、基于令牌的憑據管理。通過在 Tailscale 的管理面板中設置 OAuth 客戶端,我們使 GitHub Actions 能夠無縫進行身份驗證。此步驟可確保我們網絡內的所有通信都受到 Tailscale 加密通道的保護,從而確保我們的數據安全無虞。

要在 Tailscale 中創建 OAuth 客戶端,請按照下列步驟操作:

1 . 登錄到 Tailscale 管理面板。

2 . 導航到“OAuth 客戶端”部分。

3 . 單擊“新建 OAuth 客戶端”,然后為您的客戶端提供一個名稱。

4 . 設置 CI/CD 管道所需的相應權限和范圍。

5 . 生成 OAuth 客戶端 ID 和機密,您將在后續步驟中使用。

第 2 步:使用 Tailscale 的 ACL 強制執行精確訪問

接下來,我們將深入探討如何在 Tailscale 中配置訪問控制列表 (ACL)。這就是我們定義和限制網絡不同部分如何交互的地方。通過精心設計 ACL 規則,我們確保我們的 GitHub Actions 運行程序只能訪問它需要的資源,從而防止對我們網絡的敏感區域進行任何未經授權的訪問。

下面是 ACL 配置的示例:

{"groups": {"group:dev": ["$github_user_email", "$admin_user_email",],},"acls": [{"action": "accept","src": ["tag:ci"],"dst": ["tag:infra:*"]}],"tagOwners": {"tag:ci": ["group:dev"],"tag:infra": ["group:dev"]}
}

在此示例中,我們定義了一個 ACL 規則,該規則允許從標記為 “ ci ” 的設備到標記為 “ infra ” 的設備上的任何服務的流量。該 tagOwners 部分指定哪些用戶可以分配這些標記,以保持對配置的控制。

步驟 3:使用 GitHub Secrets 安全管理敏感數據

現在,讓我們談談如何安全地管理敏感信息。GitHub Secrets 來救援!我們將 oauth-client-id 和 oauth-secret 存儲為 GitHub 機密,這些機密是加密的,只有在工作流執行期間 GitHub Actions 才能訪問。

要設置 GitHub 機密,請執行以下操作:

1 . 轉到 GitHub 存儲庫的設置。

2 . 導航到“機密”部分。

3 . 單擊“新建存儲庫密鑰”,然后為您的密鑰提供一個名稱(e.g., TS_OAUTH_CLIENT_ID, TS_OAUTH_SECRET)。

4 . 輸入 Tailscale OAuth 客戶端 ID 和密鑰的相應值。

然后,您可以在 GitHub Actions 工作流文件中引用這些機密,下面是如何將 Tailscale 的 GitHub Action 集成到工作流中的示例:


steps:- name: Setup Tailscaleuses: tailscale/github-action@v2with:oauth-client-id: ${{ secrets.TS_OAUTH_CLIENT_ID }}  oauth-secret: ${{ secrets.TS_OAUTH_SECRET }}tags: tag:ci

在此示例中,我們使用“tailscale/github-action”在工作流中設置 Tailscale。我們使用之前創建的 GitHub 機密提供 OAuth 客戶端 ID 和機密。“tags”參數指定分配給 GitHub Actions 運行器的標記,該運行器根據我們定義的 ACL 規則確定其在 Tailscale 網絡中的訪問級別。

第 4 步:故障排除和持續改進

沒有一種設置是完美的,可能會出現挑戰。但不要害怕!通過預測 OAuth 身份驗證錯誤或 ACL 錯誤配置等常見問題,我們可以快速解決這些問題,而不會造成重大停機時間。以下是 Tailscale 和 MinIO 集成的一些故障排除提示:

尾秤故障排除提示:

1 . 仔細檢查 OAuth 憑據:確保正確輸入 OAuth 客戶端 ID 和密碼,沒有任何拼寫錯誤或復制粘貼錯誤。準確的憑據對于成功進行身份驗證至關重要。有關更多詳細信息,請訪問 Tailscale OAuth 故障排除指南。

2 . 驗證 ACL 規則:確保正確定義訪問控制列表 (ACL) 規則,并與 GitHub Actions 工作流中使用的標簽匹配。ACL 中的錯誤配置可能會導致權限問題。確保在 ACL 中分配給設備的標簽在 GitHub Actions 設置中正確引用。從 Tailscale 的 ACL 文檔中了解更多信息。

3 . 檢查 OAuth 作用域和權限:如果遇到權限問題,請驗證您的 OAuth 客戶端是否在 Tailscale 中具有必要的作用域和權限。這可確保客戶端可以在尾網中執行所需的操作。有關詳細信息,請參閱 Tailscale GitHub 操作指南。

4 . 使用臨時身份驗證密鑰:為避免與特定于計算機的密鑰發生沖突,尤其是當 GitHub Actions 的多個實例可能同時運行時,請使用臨時身份驗證密鑰。這些鍵允許 Tailscale 管理臨時節點,并在它們離線時自動清理它們。在 Tailscale 的臨時密鑰文檔中相關信息。

5 . 監控網絡狀態:使用“尾部狀態”和“尾部 ping”等 Tailscale 命令檢查流量是否正確路由并診斷連接問題。這些命令有助于確定流量是通過直接路徑還是通過中繼服務器 (DERP)。查看 Tailscale CLI 文檔。

MinIO 故障排除提示:

1 . 檢查訪問權限:確保訪問密鑰和私有密鑰配置正確,并具有要執行的操作所需的權限。嘗試在 S3 兼容工具中復制或粘貼對象時,權限配置錯誤可能會導致“拒絕訪問”錯誤。詳細的故障排除步驟可以在 MinIO 的 GitHub 討論中找到。

2 . 驗證 TLS 證書:如果在使用 TLS 證書時無法訪問分布式模式下的 MinIO,請驗證證書是否已正確安裝和配置。TLS 證書問題可能會阻止對 MinIO 服務的正確訪問。請參閱 MinIO 的 TLS 配置指南。

3 . 監控和重啟服務:使用 MinIO 的運行狀況檢查和監控工具來密切關注服務器的狀態。如果遇到問題,通過 MinIO 控制臺重新啟動服務或使用“mc admin service restart”等命令可以解決暫時性問題。在 MinIO 的官方文檔中了解有關 MinIO 服務管理的更多信息。

4 . 解決端口沖突:如果 MinIO 服務由于端口沖突而無法啟動,請識別并解決可能保留所需端口的任何進程。這可能涉及停止沖突的服務或重新配置 MinIO 以使用不同的端口。有關更多詳細信息,請訪問 MinIO 故障排除指南。

5 . 驗證文件權限:確保 MinIO 二進制文件、配置文件和數據目錄具有正確的文件權限。權限配置錯誤可能會阻止 MinIO 正常啟動或運行。MinIO 二進制文件通常應具有 root 權限,而數據目錄應歸 MinIO 服務用戶所有。MinIO 文件權限指南中提供了詳細步驟。

通過將這些故障排除提示整合到管道文檔中,您可以快速處理和解決常見問題,確保數據處理工作流平穩高效地運行。

使用 GitHub Actions、MinIO 和 Tailscale 集成和調度數據處理管道

為了深入了解使用 GitHub Actions 集成數據處理管道的細節,并通過 Tailscale 的安全連接和 MinIO 強大的數據處理功能得到增強,以下 YAML 文件演示了我們如何通過工作流程自動處理和記錄 URL 數據。

工作流配置概述

我們的數據處理工作流在 YAML 文件中定義,由推送到主分支的事件、手動觸發器和計劃事件觸發。此設置可確保每當更改按指定計劃推送到主分支或手動觸發時,我們的管道都會自動運行。下面,我們概述了工作流配置的關鍵組件:


name: Process and Log URL Dataon:push:branches:- mainschedule:- cron: '0 0 * * *'  # Runs at midnight UTC every dayworkflow_dispatch:jobs:hydrate-minio-weaviate:runs-on: ubuntu-lateststeps:- name: Checkout repositoryuses: actions/checkout@v2- name: Set up Pythonuses: actions/setup-python@v2with:python-version: '3.8'- name: Install Python dependenciesrun: |python -m pip install --upgrade pippip install requests minio weaviate-client pydantic unstructured python-dotenv- name: Load environment variablesrun: |echo "MINIO_ACCESS_KEY=${{ secrets.MINIO_ACCESS_KEY }}" >> $GITHUB_ENVecho "MINIO_SECRET_KEY=${{ secrets.MINIO_SECRET_KEY }}" >> $GITHUB_ENVecho "WEAVIATE_ENDPOINT=${{ secrets.WEAVIATE_ENDPOINT }}" >> $GITHUB_ENV- name: Setup Tailscaleuses: tailscale/github-action@v2with:oauth-client-id: ${{ secrets.TS_OAUTH_CLIENT_ID }}oauth-secret: ${{ secrets.TS_OAUTH_SECRET }}tags: tag:ci- name: Run Hydrate Scriptrun: |python ./hydrate/hydrate.py ./hydrate/urls.txt cda-datasets process_log.txtshell: bash- name: Upload Process Log as Artifactuses: actions/upload-artifact@v2with:name: processed-urls-logpath: process_log.txt

關鍵工作流程步驟說明:

1 . 簽出存儲庫:此步驟從 GitHub 存儲庫中簽出代碼,確保在工作流中使用最新版本。

2 . 設置 Python:我們將工作流配置為使用 Python 3.8,為腳本執行準備環境。

3 . 安裝 Python 依賴項:安裝了 requests、minio、weaviate-client、pydantic、unstructured 和 python-dotenv 等基本庫。這些是運行處理 URL 并與 MinIO 和 Weaviation 交互的 hydrate.py 腳本所必需的。

4 . 加載環境變量:在這里,我們從 GitHub Secrets 安全地加載環境變量,例如 MinIO 訪問密鑰和 Weaviate 端點,這對于安全高效地訪問外部資源至關重要。

5 . 設置 Tailscale:Tailscale GitHub 操作用于設置安全連接。此步驟對于維護安全管道、利用 OAuth 進行身份驗證以及確保工作流在安全的網絡環境中運行至關重要。

6 . 運行 Hydrate 腳本:此命令使用指定參數執行 hydrate.py 腳本,處理來自 urls.txt 的數據并通過 MinIO 和 Weaviate 進行處理。

7 . 將流程日志作為工件上傳:最后,將流程日志作為工件上傳到 GitHub,以便輕松訪問和查看工作流生成的輸出。

觸發和調度工作流

為了確保數據處理管道在適當的時間運行,我們使用了各種觸發器:

1 . 推送事件:每當將更改推送到指定分支時,都會自動觸發工作流,確保數據處理以最新更新運行。

2 . 計劃事件:使用 cron 語法將工作流計劃為按特定時間間隔運行,例如每天午夜 UTC,從而允許定期處理數據。

3 . 手動觸發器:允許使用 workflow_dispatch 事件從 GitHub 界面手動觸發工作流,從而為臨時數據處理需求提供靈活性。

通過將這些步驟集成到我們的 GitHub Actions 工作流程中,我們創建了一個強大、安全且高效的數據處理管道,可自動收集、處理和存儲數據。這種配置不僅確保了高質量的數據處理,而且還利用了用于對象存儲的 MinIO 和 Tailscale 用于安全網絡的高級功能。通過此設置,您的團隊可以實現更快、更可靠的數據處理,滿足現代開發標準。

提升您的數據處理管道

將 GitHub Actions 與 Tailscale 和 MinIO 集成可以顯著提高數據處理管道的安全性、效率和可擴展性。本文展示了如何結合這些工具創建統一的方法,確保強大可靠的數據工作流程準備好應對未來的挑戰。通過利用 Tailscale 的安全網絡和 MinIO 的可擴展對象存儲,您可以簡化流程,實現更快、更安全的數據管理。采用這種強大的集成,將您的數據處理能力提升到新的高度。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/37594.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/37594.shtml
英文地址,請注明出處:http://en.pswp.cn/web/37594.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

植物大戰僵尸雜交版手機下載與安裝全攻略

植物大戰僵尸雜交版是一款深受玩家喜愛的策略冒險游戲,以其豐富的植物種類、多樣的關卡設計和趣味的玩法著稱。本文將為您提供詳細的下載與安裝教程,幫助您快速上手,享受游戲帶來的樂趣。 游戲簡介 植物大戰僵尸雜交版在傳統玩法的基礎上&a…

【機器學習】語音轉文字 - FunASR 的應用與實踐(speech to text)

本文將介紹 FunASR,一個多功能語音識別模型,包括其特點、使用方法以及在實際應用中的表現。我們將通過一個簡單的示例來展示如何使用 FunASR 將語音轉換為文字,并探討其在語音識別領域的應用前景。 一、引言 隨著人工智能技術的不斷發展&am…

linux的安全技術和防火墻

一、安全技術 1.入侵檢測系統:特點式不阻斷網絡訪問,主要式提供報警和事后監督,不主動介入,默默的看著你(相當于360安全衛士) 2.入侵防御系統:透明模式工作,對數據包,網…

平價高性價比藍牙耳機有哪些?盤點好用平價的藍牙耳機推薦

在當今快節奏的生活中,藍牙耳機已經成為人們日常生活中不可或缺的配件,它們不僅讓我們可以在行走、工作或者鍛煉時享受音樂,還提供了便利的通話功能。然而,市面上藍牙耳機種類繁多,價格相差甚遠,大家往往難…

走進開源企業 | 湖南大學OpenHarmony技術實訓活動在開鴻智谷順利舉辦!

6月24日-6月26日,2024開放原子校源行之湖南大學信息科學與工程學院師生走進開源企業實訓交流活動順利落下帷幕。湖南大學信息科學與工程學院的師生代表團一行90人參與了湖南開鴻智谷數字產業有限公司(以下簡稱“開鴻智谷”)與母公司拓維信息系…

HEC-HMS水文模型教程

原文鏈接:HEC-HMS水文模型教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247607904&idx5&sn1a210328a3fc8f941b433674d8fe2c85&chksmfa826787cdf5ee91d01b6981ebd89deac3e350d747d0fec45ce2ef75d7cb8009341c6f55114d&token90645021…

放射性單位請問放射性物質的單位cpm、dpm什么意思

放射性單位請問放射性物質的單位cpm、dpm什么意思?和Ci怎樣換算?現在做同位素,搞不清楚劑量了.  anse7esn 1年前 已收到2個回答舉報 贊 渡海 幼苗 共回答了22個問題采納率:90.9% 舉報 放射性活度單位 放射性核素在單位時間內發生衰變…

vue項目手機錄音

手機實現錄音功能&#xff0c;安卓和蘋果都可。功能&#xff0c;點擊開始錄制錄音后&#xff0c;隨時可以停止錄音&#xff0c;如果不點擊停止最多錄制15秒。 頁面結構 <!--音頻--> <div class"audio-box"><audio id"audioPlayer"controlsc…

修改element-ui日期下拉框datetimePicker的背景色樣式

如圖&#xff1a; 1、修改背景色 .el-date-picker.has-sidebar.has-time { background: #04308D; color: #fff; border: 1px solid #326AFF } .el-date-picker__header-label { color: #ffffff; } .el-date-table th { color: #fff; } .el-icon-d-arrow-left:before { color: …

從零搭建Java酒店預訂系統:實戰指南_01

項目介紹 一、 項目概述 項目背景: 模擬真實酒店預訂流程,實現核心功能角色設定: 顧客、前臺、后勤管理(可選:管理員)技術選型: Java + Spring Boot + 數據庫(MySQL)+ 前端框架(Vue.js/React等)二、 需求分析與功能設計 功能模塊劃分: 用戶模塊:用戶注冊、登錄、…

Postgres14.4(Docker安裝)

Postgres14.4&#xff08;Docker安裝&#xff09; 一&#xff0c;Docker拉取鏡像 docker pull postgres:14.4 #檢查鏡像是否拉取成功 docker images | grep postgres二&#xff0c;新建掛載目錄&#xff0c;并運行容器 mkdir -p /data/postgre/data chmod 777 /data/postgre…

AQS同步隊列、條件隊列源碼解析

AQS詳解 前言AQS幾個重要的內部屬性字段內部類 Node同步隊列 | 阻塞隊列等待隊列 | 條件隊列 重要方法執行鏈同步隊列的獲取、阻塞、喚醒加鎖代碼流程解鎖 條件隊列的獲取、阻塞、喚醒大體流程 調用await()方法1. 將節點加入到條件隊列2. 完全釋放獨占鎖3. 等待進入阻塞隊列4. …

【Python】探索 Pandas 中的 where 方法:條件篩選的利器

那年夏天我和你躲在 這一大片寧靜的海 直到后來我們都還在 對這個世界充滿期待 今年冬天你已經不在 我的心空出了一塊 很高興遇見你 讓我終究明白 回憶比真實精彩 &#x1f3b5; 王心凌《那年夏天寧靜的海》 在數據分析中&#xff0c;Pandas 是一個強大且…

小程序安卓手機點擊uni-data-select 下拉框選擇器會出現藍色陰影

解決方法&#xff1a;在導入的包中找到uni-data-select.vue&#xff0c;接著找到.uni-stat__select樣式&#xff0c;把cursor: pointer去掉。 如果出現穿透問題&#xff0c;uni-select__selector的z-index加高&#xff0c;默認是2。

數據庫MyBatis傳遞數組或集合

應用場景 假設你有兩個表&#xff0c;一個是商品信息表&#xff08;表1&#xff0c;例如商品類別信息&#xff09;&#xff0c;另一個是庫存信息表&#xff08;表2&#xff0c;記錄每種商品的庫存數量&#xff09;。你想知道特定幾個商品類別 &#xff08;通過其ID標識&#xf…

其他OpenAI API和功能

文章目錄 嵌入嵌入如何為ML模型翻譯語言內容審核模型Whisper 和 DALL.E除了文本補全功能,OpenAl用戶還可以使用其他一些功能但如果你想深入了解所有API那么請查看OpenAl的APl reference 頁面。 嵌入 由于模型依賴數學函數,因此它需要數值輸入來處理信息。然而,許多元素(如…

zdppy_api+vue3+antd開發前后端分離的預加載卡片實戰案例

后端代碼 import api import upload import timesave_dir "uploads"async def rand_content(request):key api.req.get_query(request, "key")time.sleep(0.3)return api.resp.success(f"{key} " * 100)app api.Api(routes[api.resp.get(&qu…

UnityUGUI之二 CameraTargetTexture

在我們需要將3D物體呈現在2D視角時就可以使用TargetTexture&#xff0c;若想只顯示3D物體則需改變背景顏色&#xff0c;并且得再增加一個相機

智慧城市新利器:免費可視化工具助力高效管理

在智慧城市的建設中&#xff0c;實現高效的統籌管理是至關重要的。通過免費可視化工具“山海鯨可視化”&#xff0c;這一目標可以輕松達成。山海鯨可視化是一款免費可視化工具&#xff0c;具備二三維融合、易用性、安全性以及高質量畫面渲染等特色&#xff0c;是制作智慧城市可…

什么是數據安全?

網絡中的數據安全是一種無價的資產&#xff0c;數據信息在人們的日常生活中無處不在&#xff0c;但同時也面臨著前所未有的安全挑戰&#xff0c;那什么是數據安全呢&#xff1f;數據安全有著哪些特點呢&#xff1f; 數據安全主要就是指保護數據不會受到未經過授權的IP進行訪問、…