OSS是一個REST服務。您可以使用REST API或封裝了REST API的阿里雲SDK向OSS發起請求。認證系統收到請求後,會通過憑證驗證請求的寄件者身份。身分識別驗證成功後,您可以操作相應的OSS資源。
發起請求
您可以使用以下方式向OSS發起請求:
阿里雲SDK:使用阿里雲SDK發起請求,可以免去手動簽名的過程。大部分情況下,推薦您使用阿里雲SDK發起請求。詳情請參見使用阿里雲SDK發起請求。
REST API:直接發起REST API請求,需要手動編寫代碼計算簽名並將簽名添加到請求中。使用REST API發起請求適用於對程式自訂要求較高的情境。詳情請參見使用REST API發起請求。
身分識別驗證
當使用者以個人身份向OSS發送請求時,身分識別驗證的實現如下:
使用者將發送的請求按照指定的格式產生簽名字串。
使用者使用AccessKey Secret對簽名字串進行加密產生驗證碼。
認證系統收到請求後,通過AccessKey ID找到對應的AccessKey Secret,並以同樣的方法提取簽名字串和驗證碼。
如果計算出來的驗證碼和提供的一致,OSS認為該請求有效。
如果計算出來的驗證碼和提供的不一致,OSS將拒絕處理這次請求,並返回HTTP 403錯誤。
存取金鑰
存取金鑰指的是訪問身分識別驗證中用到的AccessKey ID和AccessKey Secret。AccessKey ID和AccessKey Secret一起使用,AccessKey ID用於標識使用者,AccessKey Secret用於驗證使用者的密鑰。您可以使用存取金鑰建立一個REST API請求,OSS使用AccessKey ID和AccessKey Secret對稱式加密的方法來驗證某個請求的寄件者身份。身分識別驗證成功後,您將可以操作相應的OSS資源。
RAM使用者的AccessKey Secret只在建立時顯示,不支援查詢,請妥善保管。
阿里雲帳號存取金鑰
開始使用阿里雲服務前,首先需要註冊一個阿里雲帳號。阿里雲帳號是阿里雲資源歸屬、資源使用計量計費的基本主體。阿里雲帳號為其名下所擁有的資源付費,並對其名下所有資源擁有完全控制許可權。
預設情況下,資源只能被阿里雲帳號所訪問,任何其他使用者訪問都需要獲得阿里雲帳號的顯式授權。阿里雲帳號就是作業系統的root或Administrator,所以我們有時稱它為根帳號或主帳號。
阿里雲帳號存取金鑰具有所有資源的存取權限。每個阿里雲帳號能夠同時擁有不超過5個存取金鑰。每個存取金鑰都有以下兩種狀態:
Active:表明存取金鑰處於啟用狀態,可以在身分識別驗證的時候使用。
Inactive:表明存取金鑰處於非啟用狀態,不能在身分識別驗證的時候使用。
為保證帳號安全,強烈建議您不要使用阿里雲帳號存取金鑰,而使用RAM使用者存取金鑰。
RAM使用者存取金鑰
RAM使用者也叫RAM帳號,是RAM的一種實體身份類型,有確定的身份ID和身份憑證,它通常與某個確定的人或應用程式一一對應。RAM使用者具備以下特點:
一個阿里雲帳號下可以建立多個RAM使用者,對應企業內的員工、系統或應用程式。
RAM使用者不擁有資源,不能獨立計量計費,由所屬阿里雲帳號統一控制和付費。
RAM使用者歸屬於阿里雲帳號,只能在所屬阿里雲帳號的空間下可見,而不是獨立的阿里雲帳號。
RAM使用者必須在獲得阿里雲帳號的授權後才能登入控制台或使用API操作阿里雲帳號下的資源。
RAM使用者存取金鑰指的是RAM使用者被授權的存取金鑰。RAM使用者存取金鑰只能按照RAM定義的規則去訪問Bucket裡的資源。通過RAM使用者存取金鑰,您可以集中管理您的使用者(例如員工、系統或應用程式),以及控制使用者可以訪問您名下哪些資源的許可權。例如,能夠限制您的使用者只擁有對某一個Bucket的讀許可權。
臨時訪問憑證
除了具備永久訪問憑證的RAM使用者,阿里雲還提供具備臨時訪問憑證的RAM角色。RAM角色是一種虛擬使用者,可以被授予一組權限原則。與RAM使用者不同,RAM角色沒有確定的登入密碼或存取金鑰,它需要被一個可信的實體使用者(RAM使用者、阿里雲服務或身份供應商)扮演。扮演成功後實體使用者將獲得RAM角色的臨時訪問憑證,即安全性權杖(STS Token),使用安全性權杖就能以RAM角色身份訪問被授權的資源。
RAM角色的臨時訪問憑證只能按照STS定義的規則去訪問Bucket裡的資源。
訪問網域名稱
您可以向OSS提供的預設訪問網域名稱發送請求。詳情請參見OSS地區和訪問網域名稱。
如果您希望通過自訂網域名訪問OSS資源,您需要綁定自訂網域名。 詳情請參見綁定自訂網域名至Bucket預設網域名稱。