文档

配置访问凭证

更新时间:
重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

使用PHP SDK发起请求访问Tablestore,您需要配置访问凭证。阿里云服务会通过访问凭证验证您的身份信息和访问权限。您可以根据使用场景对认证和授权的要求,配置不同类型的访问凭证。

前提条件

配置访问凭证前,您需要完成安装表格存储PHP SDK的准备工作。具体操作,请参见安装PHP SDK

访问凭证

访问凭证选型

  • 临时访问凭证:对于需要高安全性的场景,建议使用临时访问凭证。临时访问凭证可以限制访问的有效期,从而减少访问凭证泄露的风险。此外,临时访问凭证支持权限控制,可以有效地避免权限过大的问题。

  • 长期访问凭证:出于安全性考虑,不建议您使用长期访问凭证。对于需要便利性的场景,长期访问凭证可以在较长时间内免除多次刷新的麻烦。

    重要
    • 建议每三个月更换一次长期访问凭证,以提高账号的安全性。

    • 当长期访问凭证泄露或者不再使用时,应该及时删除或者禁用相关的访问凭证,以免造成安全风险。

临时访问凭证

当您准备临时使用PHP 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 = getenv('OTS_AK_ENV');
      $accessKeySecret = getenv('OTS_SK_ENV');
      $securityToken = getenv('OTS_SESSION_TOKEN');

    静态凭证

    您可以在代码中使用变量来引用凭证,这些变量在运行时会被环境变量、配置文件或其他外部数据源中的实际凭证值填充。

    以下操作步骤以配置文件为例。

    1. 创建配置文件config.ini

      [configName]
      OTS_AK_ENV = <OTS_AK_ENV>
      OTS_SK_ENV = <OTS_SK_ENV>
      OTS_SESSION_TOKEN = <OTS_SESSION_TOKEN>
    2. 使用配置文件来传递凭证信息。

      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。

环境变量

  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 = getenv('OTS_AK_ENV');
    $accessKeySecret = getenv('OTS_SK_ENV');

静态凭证

您可以在代码中使用变量来引用凭证,这些变量在运行时会被环境变量、配置文件或其他外部数据源中的实际凭证值填充。

以下操作步骤以配置文件为例。

  1. 创建配置文件config.ini

    [configName]
    OTS_AK_ENV = <OTS_AK_ENV>
    OTS_SK_ENV = <OTS_SK_ENV>
  2. 使用配置文件来传递凭证信息。

    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