管理员API
框架管理员API服务基于标准RESTHTTPS调用API端点都要求通过HTTP头签名认证
典型API调用工作流如下:
认证框架RESTAPI签名HTTPSAPI请求需要创建签名
客户端_id
中,客户端保密
并标定时间上头客户端_id
并客户端保密
可由有托管角色/权限者获取HTTPSREST调用
客户端_id
时间戳和HTTP头签名框架RESTAPI验证HTTPS请求签名并发送请求回复
框架管理员API服务
https://api.console.nutanix.com/v1
下一节中,我们将审查如何用Frame正确认证我们的API请求
API验证华府
RESTAPI所有调用均需认证第三方服务(个人用户目前不支持)和API所有调用均需签名认证请求
每项API请求必须签名并包括适当签名验证的必要信息签名API请求调用客户端_id并客户端保密需要签名创建验证
如何提供API认证华府
导航到框架管理员控制台
导航到客户端或组织化页并选择用户群从左手菜单
启动API系统选项并点击保存.这将创建用户页新标签标题API系统.
转到新建API授权标签并点击添加API.
输入 API授权名并选择您想要授予底部API密钥的角色角色决定API权限级点击添加.
点击ilipsis旁边API授权刚创建并选择管理器.
命名a键并点击加法符号创建
记录
客户端_id
并客户端保密
后用API调用警告确定记录此信息, 因为它只出现一次 。无法重取细节 。
制作API调用华府
上段生成客户端_id
和客户端保密
.
上头客户端_id
是一个独特的字符串框架使用识别并授权适当的实体和API权限
上头客户端保密
算法HMAC-SHA256键生成签名并需要签名验证过程
签名通过应用HMAC-SHA256算法生成字符串客户端_id
并标定时间时间戳是自时代以来分秒计时
创建签名的适当步骤如下:
获取当前时标
编译时标创建字符串
客户端_id
timestamp+客户端_idHMAC-SHA256应用新创建字符串使用
客户端保密
.
验证签名时 API也需要客户端_id
时标请求 HTTP头上头客户端保密
应该是非内含
Python3实例华府
下方简单示例ython3可生成API调用和HTTPS请求所需签名脚本
#!/bin/envpthon
导入hashlib
导入赫马克
导入时间轴
导入请求
导入基数64
#客户证书
客户端_id=...
...
客户端保密=b
...
# 创建签名
时间戳=整数高山市时间轴.时间轴高山市))
to_sign='%s%s'百分数高山市时间戳,客户端_id)
签名=赫马克.新建高山市客户端保密,to_sign.编码编码高山市utf-8),hashlib.sha256).exdigest应用高山市)
准备网站请求头
页眉={{"X-Frame-ClientId":客户端_id,"X-Frame-Timestamp":字符串高山市时间戳),"X-Frame-Signature":签名}
请求
R=请求.获取高山市"https://api.console.nutanix.com/v1/accounts",页眉=页眉)
账号=R.公元前高山市)
#打印账号
For账号内账号:
打印高山市账号)
API端点华府
最后,每个框架实体都有自己的端点简化访问
️ 账号端点
链表账号
️ 组织端点
链表组织
️ 客户端点
列表客户细节
️ 基础设施端点
List云提供