更新时间:2024-07-15 GMT+08:00
分享

(可选)Session鉴权

Session鉴权概述

Session模块的主要作用是实现与公有云资源的鉴权,并初始化ModelArts SDK Client、OBS Client。当成功建立Session后,您可以直接调用ModelArts的SDK接口。

用户名密码认证模式

本地安装完成ModelArts SDK后,可通过用户名密码认证模式进行Session鉴权。示例代码如下:

  • 使用账号认证
    “username”填写您的账号名。
    1
    2
    3
    4
    5
    6
    7
    from modelarts.session import Session
    
    # 认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;
    # 本示例以password保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_PASSWORD。
    __PASSWORD = os.environ["HUAWEICLOUD_SDK_PASSWORD"]
    # 如果进行了加密还需要进行解密操作
    session = Session(username='***',  password=__PASSWORD, region_name='***', project_id='***')
    
  • 使用IAM用户认证
    “account”填写您的账号名,“username”填写您的IAM用户名。
    1
    2
    3
    4
    5
    6
    7
    from modelarts.session import Session
    
    # 认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;
    # 本示例以password保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_PASSWORD。
    __PASSWORD = os.environ["HUAWEICLOUD_SDK_PASSWORD"]
    # 如果进行了加密还需要进行解密操作
    session = Session(account='***', username='***',  password=__PASSWORD, region_name='***', project_id='***')
    

账号与用户的概念介绍,请参见IAM基本概念。获取您的账号、用户名等信息,请参见获取用户名、用户ID、项目名称、项目ID

如果您的华为云账号已经升级为华为账号,则账号认证方式将不可用,请创建一个IAM用户,使用IAM用户认证。

用户AK-SK认证模式

本地安装完成ModelArts SDK后,可通过用户AK-SK认证模式进行Session鉴权。示例代码如下:

1
2
3
4
5
6
7
8
from modelarts.session import Session

# 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;
# 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。
__AK = os.environ["HUAWEICLOUD_SDK_AK"]
__SK = os.environ["HUAWEICLOUD_SDK_SK"]
# 如果进行了加密还需要进行解密操作
session = Session(access_key=__AK,secret_key=__SK, project_id='***', region_name='***')

其中,各参数说明如下:

  • “access_key”“secret_key”获取方式如下:
    1. 登录管理控制台,可单击控制台右上角的账户名,在菜单栏中单击“我的凭证”,进入“我的证”页面。
    2. “我的证 > 访问密钥”中,单击新增访问密钥
    3. 在“新增访问密钥”弹窗中,填写该密钥的描述说明,单击“确定”。根据提示单击“立即下载”,下载密钥。密钥文件会直接保存到浏览器默认的下载文件夹中,文件名为“credentials.csv”,可打开文件查看访问密钥(Access Key Id和Secret Access Key)。
  • “project_id”即项目ID,获取方式如下:
    “我的凭证”页面,单击“API凭证”,在“项目列表”中可查看项目ID和名称(即“项目”)。多项目时,展开“所属区域”,从“项目ID”列获取子项目ID。
    图1 查看项目ID
  • “region_name”即区域ID。获取方式请参见获取区域ID

相关文档