OpenStack 鑒權服務介紹.md

引言

OpenStack是一個開源的云計算管理平臺,其中的Keystone組件承擔了身份認證和授權的關鍵任務。Keystone的主要功能包括管理用戶及其權限、維護OpenStack Services的Endpoint,以及實現認證(Authentication)和鑒權(Authorization)。本文將詳細介紹Keystone的概念、架構和工作原理,幫助讀者全面了解這一重要組件。

概念

在深入了解Keystone之前,我們需要掌握以下幾個關鍵概念:User、Role、Credentials、Authentication、Endpoint、Service、Project、Token。

User

User指代任何使用OpenStack的實體,可以是真正的用戶、其他系統或服務。image.png

User請求訪問OpenStack時,Keystone會對其進行驗證。Horizon在Identity → Users管理User。image.png

除了admin和demo,OpenStack也為nova、cinder、glance、neutron服務創建了相應的User。admin也可以管理這些User。

Credentials

Credentials是User用來證明自己身份的信息,可以是:我們常用的是用戶名密碼,服務間調用更多使用API

image.png

  1. 用戶名/密碼
  2. Token
  3. API Key
  4. 其他高級方式

Authentication

Authentication是Keystone驗證User身份的過程。User訪問OpenStack時向Keystone提交用戶名和密碼形式的Credentials,Keystone驗證通過后會給User簽發一個Token作為后續訪問的Credential。

Token

Token是由數字和字母組成的字符串,User成功Authentication后,它由Keystone分配給User。Token有以下幾個特點:

[root@controller ~]# openstack token issue
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field      | Value                                                                                                                                                                                                     |
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| expires    | 2024-05-26T19:37:46+0000                                                                                                                                                                |
| id         | gAAAAABmU4F6q8oI_cs0MAjRbW0gfBx7EO8de0yJgLmFhDkJopZ3PfYQt1GqvwHR3JYJ6E8aMRG_RSPOtsV62n9jYhMgSrBEjumV0RxsP13bWNgTUL_EGl9i80SeWDuFxOIyJH20D6iLSnyAkK6oPwarL9TMUq8AT1RK5ALH1uifRhR1CPio3oc |
| project_id | d59c27d7429043b2946f0a6dad3e8b23                                                                                                                                              |
| user_id    | 786f7f88b8f54e3d8b1803302874e088                                                                                                                                                 |
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  1. 用作訪問Service的Credential。
  2. Service會通過Keystone驗證Token的有效性。
  3. Token的有效期默認是24小時。

Project

Project用于將OpenStack的資源(計算、存儲和網絡)進行分組和隔離。根據OpenStack服務的對象不同,Project可以是一個客戶(公有云,也叫租戶)、部門或者項目組(私有云)。需要注意的是:image.png

  1. 資源的所有權是屬于Project的,而不是User。
  2. 在OpenStack的界面和文檔中,Tenant/Project/Account這幾個術語是通用的,但長期看會傾向使用Project。
  3. 每個User(包括admin)必須掛在Project里才能訪問該Project的資源。一個User可以屬于多個Project。
  4. admin相當于root用戶,具有最高權限。

Horizon在Identity → Projects中管理Project。

Service

OpenStack的Service包括Compute(Nova)、Block Storage(Cinder)、Object Storage(Swift)、Image Service(Glance)、Networking Service(Neutron)等。每個Service都會提供若干個Endpoint,User通過Endpoint訪問資源和執行操作。

[root@controller ~]# openstack  service list
+----------------------------------+-----------+-----------+
| ID                               | Name      | Type      |
+----------------------------------+-----------+-----------+
| 592b6fb33ba145b08d82ebf1a78722e3 | cinderv3  | volumev3  |
| 6bba92daaec84045bda8a6e9bfd1482e | neutron   | network    |
| a5d11ea72ef64e0d930dbcec6f613451 | placement | placement |
| badd1fad979245248bc283c6323eeeab | nova      | compute     |
| dbae1267347b41ada92ca5124be265f0 | glance    | image        |
| e4a3642cd7e744628cb7f02e1db943ea | keystone  | identity     |
| e92dafa002b4415d9748b136a7f1dd5d | cinderv2  | volumev2  |
+----------------------------------+-----------+-----------+

Endpoint

Endpoint是一個網絡上可訪問的地址,通常是一個URL。Service通過Endpoint暴露自己的API。Keystone負責管理和維護每個Service的Endpoint。

[root@controller ~]# openstack endpoint list
+----------------------------------+-----------+--------------+--------------+---------+-----------+------------------------------------------+
| ID                               | Region    | Service Name | Service Type | Enabled | Interface | URL                                   |
+----------------------------------+-----------+--------------+--------------+---------+-----------+------------------------------------------+
| 10a3e2c5e08646c8b9f2053954876a5d | RegionOne | cinderv3     | volumev3     | True    | public    | http://controller:8776/v3/%(project_id)s |
| 14eca16dcf1b489db8868f1cf6f28742 | RegionOne | glance       | image        | True    | internal  | http://controller:9292                           |
| 21a4e9e8e8e04ea0b385e80784ed85b8 | RegionOne | cinderv2     | volumev2     | True    | public    | http://controller:8776/v2/%(project_id)s |
| 3db45f1cb48b49d5abf11fd595c5a6dc | RegionOne | placement    | placement    | True    | admin     | http://controller:8778                   |
| 4a691d2ce3e84bce974239ea143d43c7 | RegionOne | cinderv3     | volumev3     | True    | admin     | http://controller:8776/v3/%(project_id)s |
| 4f9d7cccbda8497f82f8530a005f8c9c | RegionOne | neutron      | network      | True    | internal  | http://controller:9696                         |
| 5a234f89aa4749cf838f1154bec0ea41 | RegionOne | cinderv2     | volumev2     | True    | admin     | http://controller:8776/v2/%(project_id)s |
| 61658e610e0b4b4992069a71b519843e | RegionOne | nova         | compute      | True    | public    | http://controller:8774/v2.1            |
| 78e6b70e82b94e2c8c72aadc10e724b8 | RegionOne | placement    | placement    | True    | internal  | http://controller:8778               |
| 7e8082a9938c45ea9de9942bed04a568 | RegionOne | keystone     | identity     | True    | public    | http://controller:5000/v3/               |
| 8c7727d7148d45638fd051693ea79451 | RegionOne | glance       | image        | True    | public    | http://controller:9292                      |
| 95bdf028d3214870a57f585cbc68ed4d | RegionOne | cinderv3     | volumev3     | True    | internal  | http://controller:8776/v3/%(project_id)s |
| a0e44e1b9cfe4bf4a759b02fa15abaf3 | RegionOne | nova         | compute      | True    | admin     | http://controller:8774/v2.1               |
| ab72f38a87f94795a14795e41fbff203 | RegionOne | nova         | compute      | True    | internal  | http://controller:8774/v2.1                 |
| b4dce728b130414d8049c8aef40db89d | RegionOne | keystone     | identity     | True    | internal  | http://controller:5000/v3/                 |
| c11199e4d46146138ed8487299fd9875 | RegionOne | placement    | placement    | True    | public    | http://controller:8778                   |
| d13674a3786941738e92fdfe1895bed0 | RegionOne | glance       | image        | True    | admin     | http://controller:9292                       |
| d2962bdeb1b14aaba5019bf658939636 | RegionOne | keystone     | identity     | True    | admin     | http://controller:5000/v3/                |
| d4fc12ffc0314077ba23e55115d310bb | RegionOne | neutron      | network      | True    | admin     | http://controller:9696                        |
| d8bc5226848848d48ee4ac5d1f48a148 | RegionOne | cinderv2     | volumev2     | True    | internal  | http://controller:8776/v2/%(project_id)s |
| f9181eebb7b149e6af095e9b2849495c | RegionOne | neutron      | network      | True    | public    | http://controller:9696                        |
+----------------------------------+-----------+--------------+--------------+---------+-----------+------------------------------------------+
[root@controller ~]#

Authorization

安全包含兩部分:Authentication(認證)和Authorization(鑒權)。

  • Authentication解決的是“你是誰?”的問題。
  • Authorization解決的是“你能干什么?”的問題。

Keystone是借助Role來實現Authorization的,Keystone定義Role,可以為User分配一個或多個Role。Horizon的菜單為Identity → Project → Manage Members。

image.png

Service決定每個Role能做什么事情。Service通過各自的policy.json文件對Role進行訪問控制。例如,Nova服務的policy.json中,對于create、attach network和attach volume操作,任何Role的User都可以執行,但只有admin這個Role的User才能執行forced host操作。OpenStack默認配置只區分admin和非admin Role。如果需要對特定的Role進行授權,可以修改policy.json。

Keystone常見概念

Keystone的架構設計靈活,支持多種后端存儲和認證機制。其整體架構可以分為以下幾個主要部分:

  1. 身份管理(Identity):管理用戶、組和憑據。支持多種身份后端,如SQL數據庫、LDAP等。
  2. 服務目錄(Catalog):管理和提供OpenStack各服務的API端點信息。
  3. 認證(Authentication):負責驗證用戶和服務的身份。支持多種認證機制,如用戶名/密碼、令牌、證書等。
  4. 授權(Authorization):基于角色和策略對用戶和服務進行授權。
  5. 策略管理(Policy):管理用于授權的策略規則。
  6. 多租戶管理(Multitenancy):支持項目(Project)和域(Domain)的隔離和管理。
  7. 令牌管理(Token):生成、驗證和撤銷令牌,用于身份認證。

Keystone概念詳解

身份管理(Identity)

身份管理是Keystone的核心功能之一,負責管理用戶、組和憑據信息。身份管理支持多種后端存儲,包括SQL數據庫和LDAP目錄服務。通過身份管理,管理員可以創建、更新、刪除用戶和組,并管理用戶的憑據,如密碼和API密鑰。

在通常情況下,用戶和用戶組數據由Keystone的Identity服務進行管理,這使得它能夠處理與這些數據相關的所有創建、讀取、更新和刪除(CRUD)操作。

然而,在更復雜的情況下,用戶和用戶組數據可能由權威的后端服務進行管理。例如,Identity服務可以充當LDAP(輕量級目錄訪問協議)的前端,而LDAP服務器則是權威的信息來源。在這種情況下,Identity服務會準確地中繼LDAP服務器上的信息

服務目錄(Catalog)

服務目錄是一個包含所有OpenStack服務API端點的數據庫。每個服務在注冊時,會將其API端點信息存儲在服務目錄中。用戶或其他服務在訪問OpenStack API時,可以通過查詢服務目錄獲取對應服務的端點信息,從而進行服務調用。

[root@controller ~]# openstack  catalog list
+-----------+-----------+------------------------------------------------------------------------+
| Name      | Type      | Endpoints                                                                    |
+-----------+-----------+------------------------------------------------------------------------+
| cinderv3  | volumev3  | RegionOne                                                              |
|           |           |   public: http://controller:8776/v3/d59c27d7429043b2946f0a6dad3e8b23    |
|           |           | RegionOne                                                                                                     |
|           |           |   admin: http://controller:8776/v3/d59c27d7429043b2946f0a6dad3e8b23    |
|           |           | RegionOne                                                                                                     |
|           |           |   internal: http://controller:8776/v3/d59c27d7429043b2946f0a6dad3e8b23  |
|           |           |                                                                                            |
| neutron   | network   | RegionOne                                                              |
|           |           |   internal: http://controller:9696                                          |
|           |           | RegionOne                                                                        |
|           |           |   admin: http://controller:9696                                            |
|           |           | RegionOne                                                                         |
|           |           |   public: http://controller:9696                                             |
|           |           |                                                                                            |
| placement | placement | RegionOne                                                          |
|           |           |   admin: http://controller:8778                                             |
|           |           | RegionOne                                                                         |
|           |           |   internal: http://controller:8778                                           |
|           |           | RegionOne                                                                         |
|           |           |   public: http://controller:8778                                             |
|           |           |                                                                                             |
| nova      | compute   | RegionOne                                                               |
|           |           |   public: http://controller:8774/v2.1                                      |
|           |           | RegionOne                                                                          |
|           |           |   admin: http://controller:8774/v2.1                                      |
|           |           | RegionOne                                                                          |
|           |           |   internal: http://controller:8774/v2.1                                    |
|           |           |                                                                                              |
| glance    | image     | RegionOne                                                                 |
|           |           |   internal: http://controller:9292                                            |
|           |           | RegionOne                                                                          |
|           |           |   public: http://controller:9292                                              |
|           |           | RegionOne                                                                          |
|           |           |   admin: http://controller:9292                                              |
|           |           |                                                                                              |
| keystone  | identity  | RegionOne                                                                 |
|           |           |   public: http://controller:5000/v3/                                         |
|           |           | RegionOne                                                                           |
|           |           |   internal: http://controller:5000/v3/                                       |
|           |           | RegionOne                                                                           |
|           |           |   admin: http://controller:5000/v3/                                         |
|           |           |                                                                                              |
| cinderv2  | volumev2  | RegionOne                                                              |
|           |           |   public: http://controller:8776/v2/d59c27d7429043b2946f0a6dad3e8b23   |
|           |           | RegionOne                                                              |
|           |           |   admin: http://controller:8776/v2/d59c27d7429043b2946f0a6dad3e8b23    |
|           |           | RegionOne                                                              |
|           |           |   internal: http://controller:8776/v2/d59c27d7429043b2946f0a6dad3e8b23 |
|           |           |                                                                        |
+-----------+-----------+------------------------------------------------------------------------+

其次Keystone本身是在一個或多個端點(Endpoint)上公開的一組內部服務(Service)。這些內部服務涵蓋了Identity、Resource、Assignment、Token、Catalog等多個方面,并且許多內部服務往往以組合的方式被使用。例如,在進行身份驗證時,會使用到認證服務(Identity)來驗證用戶或項目的憑據,并在驗證成功后創建并返回一個帶有令牌服務(Token)的令牌。

除了提供內部服務外,Keystone還負責與OpenStack的其他服務(如計算、存儲或鏡像服務)進行交互。它提供一個或多個端點,用戶可以通過這些端點訪問資源并執行相關操作。

認證(Authentication)

認證模塊負責驗證用戶和服務的身份。Keystone支持多種認證機制,包括:

  • 用戶名/密碼認證:最常見的認證方式,用戶通過提供用戶名和密碼進行身份驗證。
  • 令牌認證:用戶在成功認證后,Keystone會生成一個令牌,用戶可以使用該令牌進行后續的API調用,無需每次都提供用戶名和密碼。
  • 證書認證:基于SSL/TLS證書進行身份驗證。
  • 多因素認證(MFA):結合多種認證機制,提供更高的安全性。

授權(Authorization)

授權模塊基于角色和策略對用戶和服務進行授權。Keystone使用角色(Role)和策略(Policy)來控制對資源的訪問權限。每個用戶可以被授予一個或多個角色,而角色對應的策略定義了該角色的權限范圍。

策略管理(Policy)

策略管理模塊負責管理用于授權的策略規則。策略規則通常采用JSON格式定義,并基于角色和資源類型來描述權限控制邏輯。管理員可以通過配置文件或API接口管理策略規則。image.png

多租戶管理(Multitenancy)

Keystone支持多租戶環境,允許多個項目和域共存。項目(Project)和域(Domain)用于隔離和管理不同的租戶和資源。每個項目和域都有獨立的用戶、組和資源,確保不同租戶之間的隔離性和安全性。

令牌管理(Token)

令牌管理模塊負責生成、驗證和撤銷令牌。令牌是用戶在成功認證后由Keystone生成的,用于后續的API調用。令牌通常有一定的有效期,過期后需要重新認證以獲取新的令牌。

Keystone的組件架構圖

架構圖如下:

image.png

Keystone Middleware是Keystone提供的對令牌合法性進行驗證的中間件。

比如,在客戶端訪問Keystone提供的資源時提供了PKI類型的令牌,為了不必每次都通過Keystone服務的直接介入來驗證令牌的合法性,通常可以在中間件上進行驗證,前提是中間件上已經緩存了相關的證書與密鑰以對令牌進行簽名認證。

如果不是PKI類型的令牌,則需要通過keystoneauth獲得一個與Keystone服務連接的session,并通過調用Keystone服務提供的API來驗證令牌的合法性。

對于Keystone項目本身,除了后臺的數據庫,主要包括一個處理RESTful請求的API服務進程。這些API涵蓋了Identity、Token、Catalog和Policy等Keystone提供的各種服務,這些不同服務所能提供的功能則分別由相應的后端Driver(Backend Driver)實現。

Keystone的工作原理

了解Keystone的工作原理對于掌握其功能和使用方法至關重要。下面介紹Keystone的幾個關鍵工作流程。

用戶認證流程

  1. 用戶請求令牌:用戶向Keystone提交認證請求,通常包括用戶名和密碼。
  2. Keystone驗證憑據:Keystone驗證用戶提交的憑據是否有效。
  3. 生成令牌:驗證通過后,Keystone生成一個令牌并返回給用戶。
  4. 用戶使用令牌訪問服務:用戶在后續的API調用中使用該令牌進行身份驗證。

服務注冊和發現流程

  1. 服務注冊:每個OpenStack服務在啟動時,會向Keystone注冊其API端點信息。
  2. 用戶查詢服務目錄:用戶通過Keystone的服務目錄API查詢所有可用服務的端點信息。
  3. 調用服務API:用戶根據服務目錄提供的端點信息調用對應的服務API。

授權流程

  1. 用戶請求訪問資源:用戶向某個OpenStack服務提交API請求。
  2. 服務驗證令牌:該服務向Keystone驗證用戶提供的令牌是否有效。
  3. Keystone返回驗證結果:Keystone驗證令牌并返回驗證結果。
  4. 服務根據策略進行授權:服務根據其策略規則決定是否允許用戶執行該操作。

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

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

相關文章

Linux_3:進程間通信

IPC1.什么是IPC?Inter Process Communication2.進程間通信常用的幾種方式1,管道通信:有名管道,無名管道2,信號- 系統開銷小3,消息隊列-內核的鏈表4,信號量-計數器5,共享內存6&#x…

【Springboot】Bean解釋

在 Spring Boot 中,Bean 就像是你餐廳里的一名員工。比如,你有一名服務員(Service)、一名廚師(Chef)和一名收銀員(Cashier)。這些員工都是餐廳正常運轉所必需的,他們各自…

axios的post請求,數據為什么要用qs處理?什么時候不用?

為什么使用 qs 處理 POST 數據axios 的 POST 請求默認將 JavaScript 對象序列化為 JSON 格式(Content-Type: application/json)。但某些后端接口(尤其是傳統表單提交)要求數據以 application/x-www-form-urlencoded 格式傳輸&…

【unitrix】 4.21 類型級二進制數基本結構體(types.rs)

一、源碼 這段代碼定義了一個類型級數值系統的 Rust 實現,主要用于在編譯時表示和操作各種數值類型。 use crate::sealed::Sealed; use crate::number::{NonZero, TypedInt, Unsigned, Primitive}; // // 特殊浮點值枚舉 ///// 特殊浮點值(NaN/∞&#x…

UI前端與數字孿生結合實踐案例:智慧零售的庫存管理優化系統

hello寶子們...我們是艾斯視覺擅長ui設計和前端數字孿生、大數據、三維建模、三維動畫10年經驗!希望我的分享能幫助到您!如需幫助可以評論關注私信我們一起探討!致敬感謝感恩!一、引言:數字孿生重構零售庫存的 “人 - 貨 - 場” 協同在零售行業利潤率持續承壓的背景…

【Freertos實戰】零基礎制作基于stm32的物聯網溫濕度檢測(教程非常簡易)持續更新中.........

本次記錄采用Freertos的第二個DIY作品,基于Onenet的物聯網溫濕度檢測系統,此次代碼依然是全部開源。通過網盤分享的文件:物聯網溫濕度檢測.rar 鏈接: https://pan.baidu.com/s/1uj9UURVtGE6ZB6OsL2W8lw?pwdqm2e 提取碼: qm2e 大家也可以看看…

Matplotlib-多圖布局與網格顯示

Matplotlib-多圖布局與網格顯示一、多圖布局的核心組件二、基礎布局:plt.subplots()快速創建網格1. 均等分網格2. 不等分網格(指定比例)三、進階布局:GridSpec實現復雜嵌套1. 跨行列布局2. 嵌套GridSpec四、實用技巧:布…

GitHub上優秀的開源播放器項目介紹及優劣對比

ExoPlayer 項目地址:https://github.com/google/ExoPlayer 特點: 由Google開發,支持廣泛的視頻格式和流媒體傳輸協議,如DASH、HLS、SmoothStreaming。 提供靈活的媒體源架構和高級特性,如動態自適應流播放。 開發者可以輕松擴展和定制播放器組件,適應特定需求。 優點: 功…

react打包發到線上報錯Minified React error #130

開發過程中遇到一個問題,記錄一下 本地打包發布正常,發測試環境正常,可是通過Jenkins打包發布線上報錯 報錯信息 index-67fbbd81.js:39 Error: Minified React error #130; visit https://reactjs.org/docs/error-decoder.html?invariant130…

微服務項目遠程調用時的負載均衡是如何實現的?

負載均衡概述 負載均衡是微服務架構中的核心組件,用于將請求合理分配到多個服務實例上,提高系統的可用性和性能。負載均衡的分類 負載均衡大致可以分為兩類 1. 服務端負載均衡 實現位置:獨立部署的負載均衡服務器(位于客戶端和服務…

【中文核心期刊推薦】中國農業科技導報

《中國農業科技導報》是中國科技核心期刊,也是北京大學圖書館“中文核心期刊要目總覽”收錄的期刊。它是由中國農村技術開發中心主辦,全面為科教興農服務的綜合性農業學術期刊。《中國農業科技導報》是中國農業科學院生物技術研究所承辦的&a…

php 如何通過mysqli操作數據庫?

在PHP中,mysqli(MySQL Improved Extension)是操作MySQL數據庫的擴展庫,提供了面向對象和過程式兩種風格。以下是mysqli的基本操作方法: 1. 連接數據庫 面向對象風格 $mysqli new mysqli(localhost, username, passwor…

c/c++拷貝函數

memcpy()函數概要原型void * memcpy ( void * dest, const void * src, size_t num );功能memcpy()會復制 src 所指的內存內容的前 num 個字節到 dest所指的內存地址上(memcpy()并不關心被復制的數據類型,只是逐字節地進行復制,這給函數的使用…

HTTP核心基礎詳解(附實戰要點)

目錄 一圖勝千言:HTTP核心機制圖解?編輯 一、HTTP本質:通信的橋梁 二、五大核心特性解析 三、HTTP頭部:隱藏的控制中心 四、連接管理:性能關鍵點 開發者必知實踐技巧 一圖勝千言:HTTP核心機制圖解 一、HTTP本質…

華為靜態路由配置

問題描述:針對兩臺筆記本和兩個路由器在不同的網段場景中,對兩個路由器進行靜態路由配置。下面以如下場景為例,介紹詳細配置過程。配置步驟: 1、對每個路由器的接口下配置IP地址 [huawei]interface gx/x/x [huawei-interface]ip a…

閑庭信步使用圖像驗證平臺加速FPGA的開發:第八課——圖像數據的行緩存

(本系列只需要modelsim即可完成數字圖像的處理,每個工程都搭建了全自動化的仿真環境,只需要雙擊文件就可以完成整個的仿真,大大降低了初學者的門檻!!!!如需要該系列的工程文件請關注…

經典排序算法

文章目錄前言1. 排序的基本概念1.1 排序是什么?1.2 常見的排序算法概覽2. 常見排序算法的實現2.1 插入排序 (Insertion Sort)2.1.1 基本思想2.1.2 直接插入排序2.1.3 希爾排序 (Shell Sort)2.2 選擇排序 (Selection Sort)2.2.1 直接選擇排序2.2.2 堆排序 (Heap Sort…

RabbitMQ 消息隊列:從入門到Spring Boot實戰

RabbitMQ 作為一款開源的、基于 AMQP(Advanced Message Queuing Protocol)協議實現的消息代理,憑借其強大的功能、靈活的路由機制以及出色的性能,在業界得到了廣泛的應用。無論是處理高并發訂單、異步通知、日志收集還是系統解耦&…

代賬行業數字化破局:從“知道”到“做到”,三步走穩贏!

認知!降本!增收!數字化!——這不僅是口號,更是代賬行業在激烈競爭和時代變化中生存發展的關鍵。很多代賬同行其實都明白趨勢,也知道大概該怎么做。但問題卡在第一步:不知道怎么開始,…

Mac 電腦crontab執行定時任務【Python 實戰】

1、crontab -e 編輯定時任務列表 crontab -e查看當前定時任務列表,長按 i 編輯,編輯完之后按 esc 退出編輯,然后輸入:wq 保存并提出。 如下: (base) charles@zl ~ % crontab -e58 15 * * * /Library/Frameworks/Python.framework/Versions/3.8/bin/python3 /Users/charle…