手把手教你玩转华为云API和SDK鉴权

举报
云技术搬运工 发表于 2020/09/24 17:41:35 2020/09/24
【摘要】 想要着手了解一下华为云API和SDK的使用,没想到鉴权部分信息填写的问题却是一道很难迈过去的坎。到底什么是IAM用户?什么是终端节点?… … 你的脑海里肯定有很多的问号。本文将根据之前获取的经验助你快速上手,让你瞬间感到鉴权从未如此简单。

【问题描述】:

想要着手了解一下华为云API和SDK的使用,没想到鉴权部分信息填写的问题却是一道很难迈过去的坎。到底什么是IAM用户?什么是终端节点?… … 你的脑海里肯定有很多的问号。本文将根据之前获取的经验助你快速上手,让你瞬间感到鉴权从未如此简单。

1.jpg


 

【问题详解】:

1.    API和SDK鉴权过程中URL所需的常见终端节点(Endpoint)信息如下截图,注意过程中使用的一定是IAM的Endpoint:

2.png


更多有关终端节点(Endpoint)的信息请参考:

https://developer.huaweicloud.com/endpoint?IAM

 

2.    API和SDK鉴权过程中所需的账号信息以及项目相关信息,在控制台上“我的凭证”中都可以找到,具体操作步骤如下:

(1)鼠标放在图中界面右上角的账号名的位置(图中右上角的红框处),会自动出现下拉列表,找到“我的凭证”

3.png



(2)点击“我的凭证”,进入如下界面,API和SDK鉴权过程中使用信息(账号名、账号ID、IAM用户名、IAM用户ID、项目ID)在这里一目了然

4.png


 

3.    鉴权过程中需注意账号和IAM用户的概念

账号与IAM用户可以类比为父子关系,账号是资源归属以及计费的主体,对其拥有的资源具有所有权限。IAM用户由账号创建,只能拥有账号授予的资源使用权限,账号可以随时修改或者撤销IAM用户的使用权限。IAM用户进行资源操作时产生的费用统一计入账号中,IAM用户不需要为资源付费。

5.png


对于IAM用户登录,在官网控制台的登录界面就与正常的账号登录有明显的区别。

(1)正常的账号登录界面

6.png


(2)IAM用户的登录界面 

image.png

其他更多与账号相关的信息可以参考:

https://support.huaweicloud.com/productdesc-iam/iam_01_0023.html

 

4.    API目前使用的鉴权方式,主要是通过账号密码的方式获取Token,

(1)对于正常账号登录的用户,具体的API调用见下图

8.png


注意:对于此种登录方式的用户,获取Token时,username和domainname相同,上面scope字段中,如果是要获取区域级的Token,则其中的内容为“project”,如果要获取全局的Token,则其中的内容对应改为“domain”,上面截图中的示例为获取某一区域的Token,更多详情可以参见官网文档:https://support.huaweicloud.com/api-iam/iam_30_0001.html

所需信息与登录界面以及“我的凭证”处的信息对应关系如下:

API鉴权

登录界面

“我的凭证”

password.user.name

账号名

IAM用户名(账号名)

password.user.password

密码

-

password.user.domain.name

账号名

账号名(IAM用户名)

scope.project.name

-

项目

scope.project.id

-

项目ID

scope.domain.name

账号名

账号名(IAM用户名)

scope.domain.id

-

账号ID

 

(2)对于IAM用户登录的用户,具体的API调用见下图

9.png


所需信息与登录界面以及“我的凭证”处的信息对应关系如下:

API鉴权

登录界面

“我的凭证”

password.user.name

用户名

IAM用户名

password.user.password

密码

-

password.user.domain.name

账号名

账号名

scope.project.name

-

项目

scope.project.id

-

项目ID

scope.domain.name

账号名

账号名

scope.domain.id

-

账号ID

 

5.    SDK支持AK/SK以及账号密码的鉴权方式,此处以Python语言的账号密码鉴权场景为例

(1)对于正常账号登录的用户,具体的鉴权代码见下图:

10.png


所需信息与登录界面以及“我的凭证”处的信息对应关系如下:

SDK鉴权

登录界面

“我的凭证”

username

账号名

IAM用户名(账号名)

password

密码

-

userDomainId

-

账号ID

projectId

-

项目ID

 

(2)对于IAM用户登录的用户,具体的鉴权代码见下图:

11.png


所需信息与登录界面以及“我的凭证”处的信息对应关系如下:

SDK鉴权

登录界面

“我的凭证”

username

用户名

IAM用户名

password

密码

-

userDomainId

-

账号ID

projectId

-

项目ID

 

相信通过本文的详细介绍,大家对API和SDK鉴权过程中的一些基本概念都有了一定了解,心中有关过程中一些信息填写的疑惑也随之消失呢?后续大家感兴趣的话,也可以在我们这边提供的API Explorer工具上对相关接口进行调试,可以省去鉴权麻烦哦!API Explorer的工具连接:

https://apiexplorer.developer.huaweicloud.com/apiexplorer/overview?agencyId=065f039e4b80109b1fe1c0069d4b1220&region=ap-southeast-1&locale=zh-cn


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。