公有云API的認證方式:AK/SK 簡介

1 公有云API的認證方式

一般有一夏幾種認證方式:

  1. Token認證
  2. AK/SK認證
  3. RSA非對稱加密方式
    下面主要介紹AK/SK

1 AK/SK

1.1 AK/SK 原理

云主機需要通過使用Access Key Id / Secret Access Key加密的方法來驗證某個請求的發(fā)送者身份。Access Key Id(AK)用于標示用戶,Secret Access Key(SK)是用戶用于加密認證字符串和云廠商用來驗證認證字符串的密鑰,其中SK必須保密。 AK/SK原理使用對稱加解密。

1.2 AK/SK使用機制

云主機接收到用戶的請求后,系統(tǒng)將使用AK對應的相同的SK和同樣的認證機制生成認證字符串,并與用戶請求中包含的認證字符串進行比對。如果認證字符串相同,系統(tǒng)認為用戶擁有指定的操作權限,并執(zhí)行相關操作;如果認證字符串不同,系統(tǒng)將忽略該操作并返回錯誤碼。

1.3 流程

  • 判斷用戶請求中是否包含Authorization認證字符串。如果包含認證字符串,則執(zhí)行下一步操作。
  • 基于HTTP請求信息,使用相同的算法,生成Signature字符串。
  • 使用服務器生成的Signature字符串與用戶提供的字符串進行比對,如果內容不一致,則認為認證失敗,拒絕該請求;如果內容一致,則表示認證成功,系統(tǒng)將按照用戶的請求內容進行操作。

原理:
  客戶端:
    1. 構建http請求(包含 access key);
    2. 使用請求內容和 使用secret access key計算的簽名(signature);
    3. 發(fā)送請求到服務端。

服務端:
    1. 根據發(fā)送的access key 查找數據庫得到對應的secret-key;
    2. 使用同樣的算法將請求內容和 secret-key一起計算簽名(signature),與客戶端步驟2相同;
    3. 對比用戶發(fā)送的簽名和服務端計算的簽名,兩者相同則認證通過,否則失敗。

Token

Token認證

使用Token認證方式完成認證鑒權時,用戶首先需要獲取token,在調用接口時增加“X-XXX-Token”到業(yè)務接口請求消息頭中。

流程

  • 發(fā)送請求,獲取IAM的Endpoint及消息體中的區(qū)域名稱。
  • 獲取Token。請求響應成功后在響應消息頭中包含的“X-YYY-Token”的值即為Token值。
  • 調用業(yè)務接口,在請求消息頭中增加“X-XXX-Token”,取值為2中獲取的Token。
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容