使用Java SDK发起请求访问日志服务,您需要配置访问凭证。阿里云服务会通过访问凭证验证您的身份信息和访问权限。您可以根据使用场景对认证和授权的要求,配置不同类型的访问凭证。
访问凭证
访问凭证选型
凭据是指用户证明其身份的一组信息。用户在系统中进行登录时,需要提供正确的凭据才能验证身份。常见的凭据类型有:
临时访问凭证:
安全令牌(STS Token)是阿里云提供给RAM角色的临时访问凭据,可以自定义时效和访问权限。更多信息,请参见什么是STS。
对于需要高安全性的场景,建议使用临时访问凭证。临时访问凭证可以限制访问的有效期,从而减少访问凭证泄露的风险。此外,临时访问凭证支持权限控制,可以有效地避免权限过大的问题。
长期访问凭证:
阿里云主账号和RAM用户的永久凭据 AccessKey(简称AK)是由AccessKey ID和AccessKey Secret组成的密钥对。AK的概念和创建步骤,请参见创建AccessKey。
出于安全性考虑,不建议您使用长期访问凭证。对于需要便利性的场景,长期访问凭证可以在较长时间内免除多次刷新的麻烦。
重要建议每三个月轮换一次长期访问凭证,以提高账号的安全性。轮换凭证的步骤,请参见轮转RAM用户的AccessKey。
当长期访问凭证泄露或者不再使用时,应该及时删除或者禁用相关的访问凭证,以免造成安全风险。删除凭证的步骤,请参见删除RAM用户的AccessKey。
临时访问凭证
当您准备临时使用SDK访问日志服务时,您可以通过STS服务颁发一个STS临时访问凭证,临时访问凭证无需透露您的RAM用户密钥。
创建RAM用户。该RAM用户会扮演RAM角色,从而访问日志服务的资源。
为RAM用户授予系统权限策略(
AliyunSTSAssumeRoleAccess
),该权限用于扮演RAM角色。授权的操作步骤,请参见为RAM角色授权。为RAM角色授予对日志服务资源的访问权限。具体操作,请参见为RAM角色授权和日志服务自定义权限策略参考。
使用RAM用户调用AssumeRole(扮演RAM角色),获取STS临时访问凭证Credentials(包括SecurityToken、AccessKeySecret、AccessKeyId)。
使用临时访问凭证Credentials(SecurityToken、AccessKeySecret、AccessKeyId)初始化SDK,从而访问日志服务。具体操作,请参见STS Python SDK调用示例。
长期访问凭证
如果您的应用程序部署运行在安全、稳定且不易受外部攻击的环境中,并且需要长期使用SDK访问您的日志服务,您可以使用RAM用户的AK(AccessKey ID、AccessKey Secret)的方式访问。如何获取RAM用户的AK,请参见创建AccessKey。
阿里云主账号拥有资源的全部权限,如果主账号的AK泄露,会给系统带来巨大风险,不建议使用。推荐使用最小化授权的RAM用户的AK。
强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
为RAM用户授予对日志服务资源的访问权限。授权的操作步骤,请参见为RAM用户授权。常见的日志服务资源的访问权限,请参见日志服务自定义权限策略参考。
相关文档
使用访问凭证等参数初始化Client后,才能调用接口,初始化LogClient的步骤请参见初始化日志服务Java SDK。