全部产品
Search
文档中心

日志服务:配置访问凭证

更新时间:Oct 24, 2024

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

前提条件

配置凭证前,必须先安装日志服务Python SDK

访问凭证

访问凭证选型

凭据是指用户证明其身份的一组信息。用户在系统中进行登录时,需要提供正确的凭据才能验证身份。常见的凭据类型有:

  • 临时访问凭证:

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

  • 长期访问凭证:

    • 阿里云主账号和RAM用户的永久凭据 AccessKey(简称AK)是由AccessKey ID和AccessKey Secret组成的密钥对。AK的概念和创建步骤,请参见创建AccessKey

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

      重要
      • 建议每三个月轮换一次长期访问凭证,以提高账号的安全性。轮换凭证的步骤,请参见轮转RAM用户的AccessKey

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

临时访问凭证

当您准备临时使用Python SDK访问日志服务时,您可以通过STS服务颁发一个STS临时访问凭证,临时访问凭证无需透露您的RAM用户密钥。

  1. 创建RAM用户。具体操作,参见创建RAM用户及授权的步骤一。

  2. 为RAM用户授予系统权限策略(AliyunSTSAssumeRoleAccess)。具体操作,参见创建RAM用户及授权的步骤二。

  3. 创建RAM角色,并为RAM角色授予对日志服务资源的访问权限。具体操作,请参见日志服务自定义权限策略参考

  4. 使用RAM用户扮演RAM角色获取STS临时访问凭证。具体操作,请参见STS Python SDK调用示例AssumeRole - 获取扮演角色的临时身份凭证

长期访问凭证

如果您的应用程序部署运行在安全、稳定且不易受外部攻击的环境中,并且需要长期使用SDK访问您的日志服务,您可以使用RAM用户的AK(AccessKey ID、AccessKey Secret)的方式访问。如何获取RAM用户的AK,请参见创建AccessKey

警告
  • 阿里云主账号拥有资源的全部权限,如果主账号的AK泄露,会给系统带来巨大风险,不建议使用。推荐使用最小化授权的RAM用户的AK。

  • 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。

  1. 使用AK设置环境变量。

    Mac OS X/Linux/Unix
    export ALIBABA_CLOUD_ACCESS_KEY_ID=<ALIBABA_CLOUD_ACCESS_KEY_ID>
    export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<ALIBABA_CLOUD_ACCESS_KEY_SECRET>
    Windows

    以管理员身份运行命令提示符,执行以下命令。

    setx ALIBABA_CLOUD_ACCESS_KEY_ID <ALIBABA_CLOUD_ACCESS_KEY_ID> /m
    setx ALIBABA_CLOUD_ACCESS_KEY_SECRET <ALIBABA_CLOUD_ACCESS_KEY_SECRET> /m
    说明

    环境变量配置完成后,为确保新的设置被正确应用,您可能需要重启相关的开发工具(IDE等)或服务。

  2. 使用环境变量来传递凭证信息。

    access_key_id = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '')                 
    access_key_secret = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '')         

相关文档

使用访问凭证等参数初始化LogClient后,才能调用接口,初始化LogClient的步骤请参见初始化日志服务Python SDK