1. 程式人生 > >公有云API的認證方式:AK/SK 簡介

公有云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加密的方法來驗證某個請求的傳送者身份。Access Key Id(AK)用於標示使用者,Secret Access Key(SK)是使用者用於加密認證字串和百度雲用來驗證認證字串的金鑰,其中SK必須保密。熟悉非對稱加密的的話,舉個例子:AK相當於非對稱加密的公約,而SK相當於非對稱加密的私鑰。公鑰加密資訊,只能由對應的私鑰才能解密,這是基本原理。 AK/SK也是如此。

1.2 AK/SK使用機制

雲主機接收到使用者的請求後,系統將使用相同的SK和同樣的認證機制生成認證字串,並與使用者請求中包含的認證字串進行比對。如果認證字串相同,系統認為使用者擁有指定的操作許可權,並執行相關操作;如果認證字串不同,系統將忽略該操作並返回錯誤碼。

1.3 流程

  • 判斷使用者請求中是否包含Authorization認證字串。如果包含認證字串,則執行下一步操作。
  • 基於HTTP請求資訊,使用相同的演算法,生成Signature字串。
  • 使用伺服器生成的Signature字串與使用者提供的字串進行比對,如果內容不一致,則認為認證失敗,拒絕該請求;如果內容一致,則表示認證成功,系統將按照使用者的請求內容進行操作。

Token

Token認證

使用Token認證方式完成認證鑑權時,使用者首先需要獲取token,在呼叫介面時增加“X-XXX-Token”到業務介面請求訊息頭中。

流程

  • 傳送請求,獲取IAM的Endpoint及訊息體中的區域名稱。
  • 獲取Token。請求響應成功後在響應訊息頭中包含的“X-YYY-Token”的值即為Token值。
  • 呼叫業務介面,在請求訊息頭中增加“X-XXX-Token”,取值為2中獲取的Token。