本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
使用PHP SDK發起請求訪問Tablestore,您需要配置訪問憑證。阿里云服務會通過訪問憑證驗證您的身份信息和訪問權限。您可以根據使用場景對認證和授權的要求,配置不同類型的訪問憑證。
前提條件
配置訪問憑證前,您需要完成安裝表格存儲PHP SDK的準備工作。具體操作,請參見安裝PHP SDK。
訪問憑證
訪問憑證選型
臨時訪問憑證:對于需要高安全性的場景,建議使用臨時訪問憑證。臨時訪問憑證可以限制訪問的有效期,從而減少訪問憑證泄露的風險。此外,臨時訪問憑證支持權限控制,可以有效地避免權限過大的問題。
長期訪問憑證:出于安全性考慮,不建議您使用長期訪問憑證。對于需要便利性的場景,長期訪問憑證可以在較長時間內免除多次刷新的麻煩。
重要建議每三個月更換一次長期訪問憑證,以提高賬號的安全性。
當長期訪問憑證泄露或者不再使用時,應該及時刪除或者禁用相關的訪問憑證,以免造成安全風險。
臨時訪問憑證
當您準備臨時使用PHP 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 = getenv('OTS_AK_ENV'); $accessKeySecret = getenv('OTS_SK_ENV'); $securityToken = getenv('OTS_SESSION_TOKEN');
靜態憑證
您可以在代碼中使用變量來引用憑證,這些變量在運行時會被環境變量、配置文件或其他外部數據源中的實際憑證值填充。
以下操作步驟以配置文件為例。
創建配置文件
config.ini
。[configName] OTS_AK_ENV = <OTS_AK_ENV> OTS_SK_ENV = <OTS_SK_ENV> OTS_SESSION_TOKEN = <OTS_SESSION_TOKEN>
使用配置文件來傳遞憑證信息。
try { // 讀取配置文件,假設config.ini位于腳本同級目錄下。 $config = parse_ini_file('config.ini'); // 獲取AK、SK和TOKEN信息 $accessKeyId = $config['OTS_AK_ENV']; $accessKeySecret = $config['OTS_SK_ENV']; $securityToken = $config['OTS_SESSION_TOKEN']; }catch (Exception $e) { printf($e->getMessage() . "\n"); return; }
長期訪問憑證
如果您的應用程序部署運行在安全、穩定且不易受外部攻擊的環境中,需要長期使用PHP 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 = getenv('OTS_AK_ENV'); $accessKeySecret = getenv('OTS_SK_ENV');
靜態憑證
您可以在代碼中使用變量來引用憑證,這些變量在運行時會被環境變量、配置文件或其他外部數據源中的實際憑證值填充。
以下操作步驟以配置文件為例。
創建配置文件
config.ini
。[configName] OTS_AK_ENV = <OTS_AK_ENV> OTS_SK_ENV = <OTS_SK_ENV>
使用配置文件來傳遞憑證信息。
try { // 讀取配置文件,假設config.ini位于腳本同級目錄下。 $config = parse_ini_file('config.ini'); // 獲取AK和SK信息 $accessKeyId = $config['OTS_AK_ENV']; $accessKeySecret = $config['OTS_SK_ENV']; }catch (Exception $e) { printf($e->getMessage() . "\n"); return; }
后續步驟
初始化憑證提供者后,您需要使用憑證提供者來創建OTSClient實例。詳情請參見初始化OTSClient。