使用 Go SDK 發起請求訪問 Tablestore,您需要配置訪問憑證。阿里雲服務會通過訪問憑證驗證您的身份資訊和存取權限。您可以根據使用情境對認證和授權的要求,配置不同類型的訪問憑證。
前提條件
配置訪問憑證前,您需要完成安裝Tablestore Go SDK 的準備工作。具體操作,請參見安裝 Go SDK。
訪問憑證
訪問憑證選型
臨時訪問憑證:對於需要高安全性的情境,建議使用臨時訪問憑證。臨時訪問憑證可以限制訪問的有效期間,從而減少訪問憑證泄露的風險。此外,臨時訪問憑證支援許可權控制,可以有效地避免許可權過大的問題。
長期訪問憑證:出於安全性考慮,不建議您使用長期訪問憑證。對於需要便利性的情境,長期訪問憑證可以在較長時間內免除多次重新整理的麻煩。
重要建議每三個月更換一次長期訪問憑證,以提高帳號的安全性。
當長期訪問憑證泄露或者不再使用時,應該及時刪除或者禁用相關的訪問憑證,以免造成安全風險。
臨時訪問憑證
當您準備臨時使用 Go SDK 訪問 Tablestore 服務時,您可以通過 STS 服務頒發一個 STS 臨時訪問憑證。臨時訪問憑證無需透露您的 RAM 使用者密鑰,使 Tablestore 的訪問更加安全。
建立 RAM 使用者。具體操作,請參見建立 RAM 使用者。
為 RAM 使用者授予
AliyunSTSAssumeRoleAccess
許可權。具體操作,請參見為 RAM 使用者授權。建立 RAM 角色,並為 RAM 角色授予自訂權限原則。具體操作,請參見建立 RAM 角色和為 RAM 角色授予自訂權限原則。
使用 RAM 使用者扮演 RAM 角色擷取 STS 臨時訪問憑證。具體操作,請參見擷取 STS 臨時訪問憑證。
配置 STS 臨時訪問憑證。
環境變數
使用臨時身份憑證設定環境變數。
Mac OS X/Linux/Unix
export OTS_AK_ENV=<OTS_AK_ENV> export OTS_SK_ENV=<OTS_SK_ENV> export OTS_SESSION_TOKEN=<OTS_SESSION_TOKEN>
Windows
以管理員身份運行命令提示字元,執行以下命令。
setx OTS_AK_ENV <OTS_AK_ENV> /m setx OTS_SK_ENV <OTS_SK_ENV> /m setx OTS_SESSION_TOKEN <OTS_SESSION_TOKEN> /m
說明環境變數配置完成後,為確保新的設定被正確應用,您可能需要重啟相關的開發工具(IDE 等)或服務。
通過環境變數來傳遞憑證資訊。
accessKeyId := os.Getenv("OTS_AK_ENV") accessKeySecret := os.Getenv("OTS_SK_ENV") securityToken := os.Getenv("OTS_SESSION_TOKEN")
靜態憑證
您可以在代碼中使用變數來引用憑證,這些變數在運行時會被環境變數、設定檔或其他外部資料源中的實際憑證值填充。
以下操作步驟以設定檔為例。
建立設定檔
config.ini
。[credentials] OTS_AK_ENV = <OTS_AK_ENV> OTS_SK_ENV = <OTS_SK_ENV> OTS_SESSION_TOKEN = <OTS_SESSION_TOKEN>
使用設定檔來傳遞憑證資訊。
// 讀取設定檔 config, err := ini.Load("config.ini") if err != nil { fmt.Println("無法讀取設定檔:", err) } // 從設定檔中擷取Access Key ID和Access Key Secret access_key_id := config.Section("credentials").Key("OTS_AK_ENV").String() access_key_secret := config.Section("credentials").Key("OTS_SK_ENV").String() security_token := config.Section("credentials").Key("OTS_SESSION_TOKEN").String()
長期訪問憑證
如果您的應用程式部署運行在安全、穩定且不易受外部攻擊的環境中,需要長期使用 Go SDK 訪問您的 Tablestore,您可以使用阿里雲帳號或 RAM 使用者的 AK(Access Key ID、Access Key Secret)的方式訪問。如何擷取 AK,請參見使用 RAM 使用者密鑰發起請求。
阿里雲帳號擁有資源的全部許可權,AK 一旦泄露,會給系統帶來巨大風險,不建議使用。推薦使用最小化授權的 RAM 使用者的 AK。
環境變數
使用 AK 設定環境變數。
Mac OS X/Linux/Unix
export OTS_AK_ENV=<OTS_AK_ENV> export OTS_SK_ENV=<OTS_SK_ENV>
Windows
以管理員身份運行命令提示字元,執行以下命令。
setx OTS_AK_ENV <OTS_AK_ENV> /m setx OTS_SK_ENV <OTS_SK_ENV> /m
說明環境變數配置完成後,為確保新的設定被正確應用,您可能需要重啟相關的開發工具(IDE 等)或服務。
使用環境變數來傳遞憑證資訊。
accessKeyId := os.Getenv("OTS_AK_ENV") accessKeySecret := os.Getenv("OTS_SK_ENV")
靜態憑證
您可以在代碼中使用變數來引用憑證,這些變數在運行時會被環境變數、設定檔或其他外部資料源中的實際憑證值填充。以下操作步驟以設定檔為例。
建立設定檔
config.ini
。[credentials] OTS_AK_ENV = <OTS_AK_ENV> OTS_SK_ENV = <OTS_SK_ENV>
使用設定檔來傳遞憑證資訊。
// 讀取設定檔 config, err := ini.Load("config.ini") if err != nil { fmt.Println("無法讀取設定檔:", err) } // 從設定檔中擷取Access Key ID和Access Key Secret access_key_id := config.Section("credentials").Key("OTS_AK_ENV").String() access_key_secret := config.Section("credentials").Key("OTS_SK_ENV").String()
後續步驟
初始化憑證提供者後,您需要使用憑證提供者來建立 OTSClient 執行個體。詳情請參見初始化 OTSClient。