本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
使用 Go SDK 发起请求访问 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/UnixWindows# 配置临时访问凭证 STS AccessKey ID export TABLESTORE_ACCESS_KEY_ID=your_sts_access_key_id # 配置临时访问凭证 STS AccessKey Secret export TABLESTORE_ACCESS_KEY_SECRET=your_sts_access_key_secret # 配置临时访问凭证 STS Token export TABLESTORE_SESSION_TOKEN=your_sts_token
以管理员身份运行命令提示符,执行以下命令。
# 配置临时访问凭证 STS AccessKey ID setx TABLESTORE_ACCESS_KEY_ID your_sts_access_key_id /m # 配置临时访问凭证 STS AccessKey Secret setx TABLESTORE_ACCESS_KEY_SECRET your_sts_access_key_secret /m # 配置临时访问凭证 STS Token setx TABLESTORE_SESSION_TOKEN your_sts_token /m
环境变量配置完成后,为确保新的设置被正确应用,您可能需要重启相关的开发工具(IDE 等)或服务。
通过环境变量来传递凭证信息。
accessKeyId := os.Getenv("TABLESTORE_ACCESS_KEY_ID") accessKeySecret := os.Getenv("TABLESTORE_ACCESS_KEY_SECRET") securityToken := os.Getenv("TABLESTORE_SESSION_TOKEN")
您可以在代码中使用变量来引用凭证,这些变量在运行时会被环境变量、配置文件或其他外部数据源中的实际凭证值填充。
以下操作步骤以配置文件为例。
创建配置文件
config.ini
。[credentials] TABLESTORE_ACCESS_KEY_ID = your_sts_access_key_id TABLESTORE_ACCESS_KEY_SECRET = your_sts_access_key_secret TABLESTORE_SESSION_TOKEN = your_sts_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("TABLESTORE_ACCESS_KEY_ID").String() access_key_secret := config.Section("credentials").Key("TABLESTORE_ACCESS_KEY_SECRET").String() security_token := config.Section("credentials").Key("TABLESTORE_SESSION_TOKEN").String()
长期访问凭证
如果您的应用程序部署运行在安全、稳定且不易受外部攻击的环境中,需要长期使用 Go SDK 访问您的 Tablestore,您可以使用阿里云账号或 RAM 用户的 AK(Access Key ID、Access Key Secret)的方式访问。如何获取 AK,请参见使用 RAM 用户密钥发起请求。
阿里云账号拥有资源的全部权限,AK 一旦泄露,会给系统带来巨大风险,不建议使用。推荐使用最小化授权的 RAM 用户的 AK。
使用 AK 设置环境变量。
Mac OS X/Linux/UnixWindows# 配置 AccessKey ID export TABLESTORE_ACCESS_KEY_ID=your_access_key_id # 配置 AccessKey Secret export TABLESTORE_ACCESS_KEY_SECRET=your_access_key_secret
以管理员身份运行命令提示符,执行以下命令。
# 配置 AccessKey ID setx TABLESTORE_ACCESS_KEY_ID your_access_key_id /m # 配置 AccessKey Secret setx TABLESTORE_ACCESS_KEY_SECRET your_access_key_secret /m
环境变量配置完成后,为确保新的设置被正确应用,您可能需要重启相关的开发工具(IDE 等)或服务。
使用环境变量来传递凭证信息。
accessKeyId := os.Getenv("TABLESTORE_ACCESS_KEY_ID") accessKeySecret := os.Getenv("TABLESTORE_ACCESS_KEY_SECRET")
您可以在代码中使用变量来引用凭证,这些变量在运行时会被环境变量、配置文件或其他外部数据源中的实际凭证值填充。以下操作步骤以配置文件为例。
创建配置文件
config.ini
。[credentials] TABLESTORE_ACCESS_KEY_ID = your_access_key_id TABLESTORE_ACCESS_KEY_SECRET = your_access_key_secret
使用配置文件来传递凭证信息。
// 读取配置文件 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("TABLESTORE_ACCESS_KEY_ID").String() access_key_secret := config.Section("credentials").Key("TABLESTORE_ACCESS_KEY_SECRET").String()
后续步骤
初始化凭证提供者后,您需要使用凭证提供者来创建 OTSClient 实例。详情请参见初始化 OTSClient。
- 本页导读 (1)
- 前提条件
- 访问凭证
- 访问凭证选型
- 临时访问凭证
- 长期访问凭证
- 后续步骤