公有云厂商
微软Azure
Azure访问凭证

一、什么是微软Azure API访问凭证

事实上,微软Azure并没有一个所谓的“API访问凭证”的概念,我们需要通过它的“Active Directory”中的应用程序Client信息来进行API的访问。而且相较其它云厂商而言,微软Azure的API访问凭证略显复杂,且需要通过多个步骤获取,它由订阅(Subscription)ID、租户(Tenant)ID、Client ID和Client Secret四个部分构成。

1.1、了解您的微软Azure云资源部署模式

在您打算将Azure主机导入到行云管家之前,您首先需要确认一下资源部署模型是哪种,Azure目前提供了资源管理和经典两种部署模式,这两种模型互不兼容,关于两种部署模型的差异,这里不展开讨论,大家可以参考微软官方文档:了解微软Azure云资源部署模型

目前微软Azure推荐用户使用资源管理部署模型,并且提供了从经典部署迁移到资源管理部署的路径,因此我们只支持了资源管理部署模型,如果有资源采用的是经典部署模型,将暂时无法将这些资源导入到行云管家中,后期我们将视用户需求,来决定是否支持经典部署模型。

如果您不确定云资源部署模式,只需登录Azure控制台,查看所有资源,在资源列表中,如果类型中有“经典”字样,说明该资源是经典部署模型,反之则说明是资源管理部署模型。

1.2、获取微软Azure的订阅(Subscription)ID

每个Azure用户在使用时都会接触到订阅的概念,您在购买Azure产品之前,必须先创建一个订阅,而后需要在这个订阅下购买云资源,云资源不能跨订阅访问。因此,当您存在多个订阅时,请您确保输入的订阅ID是您需要导入的云资源所属订阅,否则可能会出现无法列出云资源的情况。

登录Azure控制台,在左侧菜单选择“成本管理+计费”(菜单顺序是可自定义调整的,截图仅供示意),在“Overview”中,找到您要导入的云资源所属订阅,获取“订阅ID”。如果您有多个订阅,都希望通过行云管家来管理,那么请创建多个云账户分批导入;

1.3、获取微软Azure的租户(Tenant)ID

租户是Active Directory中的一个概念,租户表示组织,租户包含公司中的用户以及有关这些用户的信息:密码、用户配置文件数据、权限等等。

(1)在Azure控制台中进入Azure Active Directory,再点击二级菜单“属性”;

(2)在Active Directory属性页面,我们可以看到“目录ID”,该目录ID即为Azure的租户(Tenant)ID;

1.4、获取微软Azure的Client信息

所谓Client信息,即Active Directory中应用程序的API访问信息,包含了Client ID和Client Secret两部分。

(1)在Azure Active Directory中,点击二级菜单“应用注册”,将会列出现有的所有应用程序,建议您新建一个专门的应用程序供行云管家调用API;

(2)点击“新应用程序注册”,进入创建应用程序页面,并输入以下信息后创建:

名称(这里不能用中文):cloudbility

应用程序类型:WEB应用/API

登录URL:https://yun.cloudbility.com

(3)应用程序创建完成后,请点击“查看所有应用程序”,将列出所有应用程序;

(4)找到刚创建的应用程序(cloudbility),可以看到字段“应用程序ID”,该ID即是Client ID;

(5)点击该应用程序进入详情页面,先点击“设置”按钮,再找到右侧的“API访问权限/密钥”;

(6)新建一个秘钥,输入秘钥描述:行云管家API访问,持续时间:永不过期,最后点击保存按钮;

(7)保存成功后,将看到Client Secret,请将Client Secret记下,此信息仅显示一次,如果您不慎将Client Secret丢失,请重新创建;

(8)拿到Client信息后,还需要将应用程序在资源上进行授权:点击一级菜单“资源组”,查看资源列表,选择您希望导入到行云管家的资源组,进入后点击“访问控制(标识和访问管理)”子菜单;

(9)在访问控制页面,点击“添加”按钮,打开添加权限面板,角色选择“所有者”,选择一栏中输入前面创建的应用程序关键字,这里是:“cloudbility”,结果出来后,选中结果“cloudbility”;

(10)选中“cloudbility”后,下方将出现“所选成员:cloudbility”,点击“保存”按钮,将结果保存;

(11)保存后,在所有者中即增加了“cloudbility”应用程序,到这里,您便可以使用这个Client信息作为API访问凭证将资源导入到行云管家中了;

二、创建Azure Blob

在私有部署版里,如果您需要把行云管家的“网盘”和“审计日志”指定到Aure的对象存储里,那么就需要按下述来创建Azure Blob;

2.1、创建存储账户,获取存储账户名称

(1)登录Azure后点击左边栏的“存储账户”,然后点击“添加”;

(2)进入“基本”页面:在这里“订阅”选择默认即可,“资源组”请新建一个并命名(建议用英文格式),填写“存储账户名称”以及选择“位置”,其他非必要选项默认即可,然后点击“下一步”;

(3)进入“网络”页面:“连接方式”选择默认(公共终结点)即可,然后点击“下一步”。

(4)进入“高级”页面:“安全性”及“Data Lake Storage Gen2”选择如图默认即可,然后点击“下一步”。

(5)进入“标记”页面:这里无需创建,直接点击“下一步”。

(6)进入“查看+创建”页面:点击“创建”。

(7)“创建”完成后,我们在“存储账户”里就可以看到该存储账户了,如图yanshicreate就是这个存储账户的名称(请记录下来);

2.2、获取存储账户密钥

点击上图中的存储账户yanshicreate的“名称”,找到“访问密钥”,这里“key1”和“key2”里的密钥都可用,请记录下其中一个需要用于配置的即可;

2.3、创建容器

如果没有创建容器,那么修改行云管家的“网盘”、“审计日志”存储方式时会由于存储容器列表为空导致无法修改;

(1)点击“容器”,点击“+容器”来创建新容器;

(2)填写“容器名称”,“公共访问级别”默认即可,点击“确定”;

(3)创建新容器完成;

2.4、创建CORS

CORS 提供安全的方法,以允许一个域(原始域)调用另一个域的 API。设置该服务的 CORS 规则后,将根据你指定的规则评估来自不同域服务且经过正确身份验证的请求,以确定它是否被允许,是必须要创建的。

(1)点击“CORS”,如图在“Blob服务”里:

“允许的来源”请填写“ * ”,或者填写行云管家门户服务器的所有地址(内网IP、外网IP、域名等),建议直接填写“星号”(因为只有通过在 CORS 允许的访问方式列表(域名或IP)里进行上传文件,浏览器才会允许)

“允许的方法”请勾选所有的选项(至少需要勾选DELETE、POST、OPTIONS、PUT);

“允许的标头”请填写“ * ”;

“公开的标头”请填写“ * ”,“最长时间”建议填写“300”或“86400”(这里单位是秒),然后点击“保存”即可;

(2)创建CORS完成;

(3)全部创建完成后就可以配置“网盘”和“审计日志”路径到Aure的对象存储里了