使用火山引擎 SDK 调用 OpenAPI 时,需要通过火山引擎密钥进行身份验证和鉴权。本文档介绍火山引擎 SDK 支持的身份验证设置方式。
火山引擎为每个账号提供永久的访问密钥(AccessKey),用于调用火山引擎 OpenAPI 时的身份认证与鉴权。火山引擎账号的访问密钥具备全部产品的所有资源权限,该密钥一旦泄露,可能造成信息安全风险与资源损失。使用火山引擎 SDK 调用 OpenAPI 时,如果直接在初始化代码中传入访问密钥,有一定几率因代码泄露造成访问密钥信息泄露,造成安全风险。
火山引擎推荐通过环境变量的方式指定密钥等鉴权信息,尽量避免通过 AccessKey 硬编码的方式进行编程。配置环境变量之后,您可以在不修改代码的情况下,将动态的鉴权参数传递到对应的函数,实现便捷安全的身份认证。环境变量的配置方式请参考配置方式。配置环境变量时,推荐使用 IAM 用户的访问密钥,安全起见,该用户应具备最小化的权限策略。详细说明请参考认证方式。
为火山引擎 SDK 配置环境变量的方式如下。
配置环境变量后,在当前会话的有效期内,后端服务会动态获取环境变量中指定的参数值,并将其应用在对应的函数中。如果需要修改默认使用的 AccessKey 等鉴权参数,直接修改环境变量即可。
执行以下命令配置环境变量,其中各个鉴权参数的获取方式请参考参数说明。
export VOLCENGINE_ENDPOINT="https://tls-cn-beijing.ivolces.com" export VOLCENGINE_REGION="cn-beijing" export VOLCENGINE_ACCESS_KEY_ID="AKTPODg0MzV2ZDcDemo****" export VOLCENGINE_ACCESS_KEY_SECRET="TVRNNVlqRmxPR1mRoTkdWbE1E****"
配置环境变量后,在当前会话的有效期内,后端服务会动态获取环境变量中指定的参数值,并将其应用在对应的函数中。
您可以通过以下方式在 Windows 系统中设置环境变量,其中各个鉴权参数的获取方式请参考参数说明。
执行终端命令配置环境变量:
在 Windows Command Prompt 终端中执行以下命令设置环境变量。
setx VOLCENGINE_ENDPOINT https://tls-cn-beijing.ivolces.com setx VOLCENGINE_REGION cn-beijing setx VOLCENGINE_ACCESS_KEY_ID AKTPODg0MzV2ZDcDemo**** setx VOLCENGINE_ACCESS_KEY_SECRET TVRNNVlqRmxPR1mRoTkdWbE1E****
在 PowerShell 终端中执行以下命令设置环境变量。
$Env:VOLCENGINE_ENDPOINT="https://tls-cn-beijing.ivolces.com" $Env:VOLCENGINE_REGION="cn-beijing" $Env:VOLCENGINE_ACCESS_KEY_ID="AKTPODg0MzV2ZDcDemo****" $Env:VOLCENGINE_ACCESS_KEY_SECRET="TVRNNVlqRmxPR1mRoTkdWbE1E****"
可视化方式配置环境变量:
参数 | 是否必选 | 说明 |
---|---|---|
VOLCENGINE_ENDPOINT | 是 | 日志服务的服务入口,详细信息请参考服务地址。 |
VOLCENGINE_ACCESS_KEY_ID | 是 | 火山引擎账号或 IAM 用户的 AccessKey ID。 |
VOLCENGINE_ACCESS_KEY_SECRET | 是 | 火山引擎账号或 IAM 用户的 AccessKey Secret。 |
VOLCENGINE_REGION | 是 | 日志服务所在的地域(Region),需要和 endpoint 匹配。详细信息请参考服务入口。 |
VOLCENGINE_TOKEN | 否 | STS 安全令牌。如果通过 STS 鉴权,此参数必填。STS Token 的获取方式请参考通过 STS 访问日志服务。 |
环境变量中应配置火山引擎密钥等鉴权相关的信息,推荐通过 IAM 用户的访问密钥进行身份认证与鉴权,或直接使用临时访问令牌,在有效期内访问日志服务。
火山引擎账号可以创建 IAM 用户,并为其赋予业务需求范围内的最小化的权限策略,保障数据安全与信息安全。通过 IAM 用户实现访问控制的方式请参考基于 IAM 管理权限。
配置了 IAM AccessKey 的环境变量示例如下:
export VOLCENGINE_ENDPOINT="https://tls-cn-beijing.ivolces.com" export VOLCENGINE_REGION="cn-beijing" # IAM 用户的 AccessKey ID export VOLCENGINE_ACCESS_KEY_ID="AKTPODg0MzV2ZDcDemo****" # IAM 用户的 AccessKey Secret export VOLCENGINE_ACCESS_KEY_SECRET="TVRNNVlqRmxPR1mRoTkdWbE1E****"
IAM 用户可以使用自己的访问密钥调用 AssumeRole 接口,以获取某个 IAM 角色的权限和 STS Token,从而使用该 Token 在有效期内临时访问火山引擎资源。通过 STS 访问日志服务的具体方式请参考通过 STS 访问日志服务。
配置了临时访问令牌的环境变量示例如下:
export VOLCENGINE_ENDPOINT="https://tls-cn-beijing.ivolces.com" export VOLCENGINE_REGION="cn-beijing" export VOLCENGINE_ACCESS_KEY_ID="AKTPODg0MzV2ZDcDemo****" export VOLCENGINE_ACCESS_KEY_SECRET="TVRNNVlqRmxPR1mRoTkdWbE1E****" export VOLCENGINE_TOKEN="STSeyJBY2NvdW50SWklkZW50aXR5VHlwZSI6NC****"