全部產品
Search
文件中心

Tablestore:使用SDK發起請求

更新時間:Aug 28, 2024

當您使用SDK向Tablestore發起請求時,認證系統接收到請求後,通過憑證來驗證請求寄件者的身份。身分識別驗證成功後,您可以訪問相應的Tablestore資源。

身分識別驗證

當使用者以個人身份向Tablestore發送請求時,身分識別驗證的實現如下:

  1. 使用者將發送的請求按照指定的格式產生簽名字串。

  2. 使用者使用AccessKey Secret對簽名字串進行加密產生驗證碼。

  3. 認證系統收到請求後,通過AccessKey ID找到對應的AccessKey Secret,並以同樣的方法提取簽名字串和驗證碼。

    • 如果計算出來的驗證碼和提供的一致,Tablestore認為該請求有效。

    • 如果計算出來的驗證碼和提供的不一致,Tablestore將拒絕處理這次請求,並返回HTTP 403錯誤。

相關概念

存取金鑰

存取金鑰指的是訪問身分識別驗證中用到的AccessKey ID和AccessKey Secret。AccessKey ID和AccessKey Secret一起使用,AccessKey ID用於標識使用者,AccessKey Secret用於驗證使用者的密鑰。身分識別驗證成功後,您將可以操作相應的Tablestore資源。

說明

RAM使用者的AccessKey Secret只在建立時顯示,不支援查詢,請妥善保管。

阿里雲帳號存取金鑰

開始使用阿里雲服務前,首先需要註冊一個阿里雲帳號。阿里雲帳號是阿里雲資源歸屬、資源使用計量計費的基本主體。阿里雲帳號為其名下所擁有的資源付費,並對其名下所有資源擁有完全控制許可權。

預設情況下,資源只能被阿里雲帳號所訪問,任何其他使用者訪問都需要獲得阿里雲帳號的顯式授權。阿里雲帳號就是作業系統的root或Administrator,所以我們有時稱它為根帳號或主帳號。

阿里雲帳號存取金鑰具有所有資源的存取權限。每個阿里雲帳號能夠同時擁有不超過5個存取金鑰。每個存取金鑰都有以下兩種狀態:

  • Active:表明存取金鑰處於啟用狀態,可以在身分識別驗證的時候使用。

  • Inactive:表明存取金鑰處於非啟用狀態,不能在身分識別驗證的時候使用。

警告

阿里雲帳號擁有資源的全部許可權,存取金鑰一旦泄露,會給系統帶來巨大風險,不建議使用。推薦使用最小化授權的RAM使用者的存取金鑰。

RAM使用者存取金鑰

RAM使用者也叫RAM帳號,是RAM的一種實體身份類型,有確定的身份ID和身份憑證,它通常與某個確定的人或應用程式一一對應。RAM使用者具備以下特點:

  • 一個阿里雲帳號下可以建立多個RAM使用者,對應企業內的員工、系統或應用程式。

  • RAM使用者不擁有資源,不能獨立計量計費,由所屬阿里雲帳號統一控制和付費。

  • RAM使用者歸屬於阿里雲帳號,只能在所屬阿里雲帳號的空間下可見,而不是獨立的阿里雲帳號。

  • RAM使用者必須在獲得阿里雲帳號的授權後才能登入控制台或使用API操作阿里雲帳號下的資源。

RAM使用者存取金鑰指的是RAM使用者被授權的存取金鑰。RAM使用者存取金鑰只能按照RAM定義的規則去訪問Tablestore執行個體裡的資源。通過RAM使用者存取金鑰,您可以集中管理您的使用者(例如員工、系統或應用程式),以及控制使用者可以訪問您名下哪些資源的許可權。例如,能夠限制您的使用者只擁有對某一個Tablestore執行個體的讀許可權。

臨時訪問憑證

除了具備永久訪問憑證的RAM使用者,阿里雲還提供具備臨時訪問憑證的RAM角色。RAM角色是一種虛擬使用者,可以被授予一組權限原則。與RAM使用者不同,RAM角色沒有確定的登入密碼或存取金鑰,它需要被一個可信的實體使用者(RAM使用者、阿里雲服務或身份供應商)扮演。扮演成功後實體使用者將獲得RAM角色的臨時訪問憑證,即安全性權杖(STS Token),使用安全性權杖就能以RAM角色身份訪問被授權的資源。

服務地址

每個Table Store執行個體對應一個服務地址(Endpoint),您使用阿里雲SDK向Tablestore發起請求時需要指定服務地址。服務地址包括公網地址、公網(雙棧)地址、VPC地址和經典網地址四種類型。更多資訊,請參見服務地址

請求流程

RAM使用者存取金鑰請求流程

使用RAM使用者存取金鑰向Tablestore發起請求的流程如下:

  1. 使用RAM使用者存取金鑰初始化一個OTSClient執行個體。

  2. 調用OTSClient提供的方法向Tablestore發起請求。

  3. OTSClient執行個體使用RAM使用者存取金鑰產生簽名,並將簽名添加到該請求中。

具體操作,請參見使用RAM使用者密鑰發起請求

STS臨時訪問憑證請求流程

RAM使用者可以使用阿里雲SDK請求STS臨時訪問憑證,然後使用STS臨時訪問憑證訪問Tablestore資源。STS臨時訪問憑證將在設定的有效時間到期後失效。

使用STS臨時訪問憑證向Tablestore發起請求的流程如下:

  1. 使用RAM使用者存取金鑰初始化一個STSClient執行個體。

  2. 調用STS提供的AssumeRole方法擷取被授予特定許可權的RAM角色的STS臨時訪問憑證。

  3. 使用STS臨時訪問憑證初始化一個OTSClient執行個體。

  4. 使用OTSClient提供的方法向Tablestore發起請求。

  5. OTSClient執行個體使用STS臨時訪問憑證產生簽名,並將簽名添加到該請求中。

具體操作,請參見使用STS臨時訪問憑證發起請求

阿里雲SDK

阿里雲提供以下語言的SDK: