全部產品
Search
文件中心

Tablestore:配置訪問憑證

更新時間:Oct 23, 2024

使用 Go SDK 發起請求訪問 Tablestore,您需要配置訪問憑證。阿里雲服務會通過訪問憑證驗證您的身份資訊和存取權限。您可以根據使用情境對認證和授權的要求,配置不同類型的訪問憑證。

前提條件

配置訪問憑證前,您需要完成安裝Tablestore Go SDK 的準備工作。具體操作,請參見安裝 Go SDK

訪問憑證

訪問憑證選型

  • 臨時訪問憑證:對於需要高安全性的情境,建議使用臨時訪問憑證。臨時訪問憑證可以限制訪問的有效期間,從而減少訪問憑證泄露的風險。此外,臨時訪問憑證支援許可權控制,可以有效地避免許可權過大的問題。

  • 長期訪問憑證:出於安全性考慮,不建議您使用長期訪問憑證。對於需要便利性的情境,長期訪問憑證可以在較長時間內免除多次重新整理的麻煩。

    重要
    • 建議每三個月更換一次長期訪問憑證,以提高帳號的安全性。

    • 當長期訪問憑證泄露或者不再使用時,應該及時刪除或者禁用相關的訪問憑證,以免造成安全風險。

臨時訪問憑證

當您準備臨時使用 Go SDK 訪問 Tablestore 服務時,您可以通過 STS 服務頒發一個 STS 臨時訪問憑證。臨時訪問憑證無需透露您的 RAM 使用者密鑰,使 Tablestore 的訪問更加安全。

  1. 建立 RAM 使用者。具體操作,請參見建立 RAM 使用者

  2. 為 RAM 使用者授予 AliyunSTSAssumeRoleAccess 許可權。具體操作,請參見為 RAM 使用者授權

  3. 建立 RAM 角色,並為 RAM 角色授予自訂權限原則。具體操作,請參見建立 RAM 角色為 RAM 角色授予自訂權限原則

  4. 使用 RAM 使用者扮演 RAM 角色擷取 STS 臨時訪問憑證。具體操作,請參見擷取 STS 臨時訪問憑證

  5. 配置 STS 臨時訪問憑證。

    環境變數

    1. 使用臨時身份憑證設定環境變數。

      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 等)或服務。

    2. 通過環境變數來傳遞憑證資訊。

      accessKeyId := os.Getenv("OTS_AK_ENV")
      accessKeySecret := os.Getenv("OTS_SK_ENV")
      securityToken := os.Getenv("OTS_SESSION_TOKEN")

    靜態憑證

    您可以在代碼中使用變數來引用憑證,這些變數在運行時會被環境變數、設定檔或其他外部資料源中的實際憑證值填充。

    以下操作步驟以設定檔為例。

    1. 建立設定檔 config.ini

      [credentials]
      OTS_AK_ENV = <OTS_AK_ENV>
      OTS_SK_ENV = <OTS_SK_ENV>
      OTS_SESSION_TOKEN = <OTS_SESSION_TOKEN>
    2. 使用設定檔來傳遞憑證資訊。

      // 讀取設定檔
      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。

環境變數

  1. 使用 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 等)或服務。

  2. 使用環境變數來傳遞憑證資訊。

    accessKeyId := os.Getenv("OTS_AK_ENV")
    accessKeySecret := os.Getenv("OTS_SK_ENV")

靜態憑證

您可以在代碼中使用變數來引用憑證,這些變數在運行時會被環境變數、設定檔或其他外部資料源中的實際憑證值填充。以下操作步驟以設定檔為例。

  1. 建立設定檔 config.ini

    [credentials]
    OTS_AK_ENV = <OTS_AK_ENV>
    OTS_SK_ENV = <OTS_SK_ENV>
  2. 使用設定檔來傳遞憑證資訊。

    // 讀取設定檔
    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