一、什么是微软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控制台,在左侧菜单栏里选择“成本管理+计费”(菜单顺序是可自定义调整的,截图仅供示意)。

在“概述”中,找到您要导入的云资源所属订阅,获取“订阅ID”。如果您有多个订阅,都希望通过行云管家来管理,那么请在行云管家中创建多个云账户分批导入;

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

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

(1)在Azure控制台的左侧菜单栏中进入“Azure Active Directory”。

在“Azure 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

受支持的账户类型:建议选择“任何组织目录”

重定向URI:填写https://yun.cloudbility.com

(3)注册完成后如图,该应用程序(客户端)ID即是Client ID

(4)点击刚注册的应用“cloudbility”的“证书和密码”,点击如图“新客户端密码”,在“说明”里填写“行云管家API访问”,“截止期限”选择“从不”,然后点击“添加”即可;

(5)“添加”成功后,将看到Client Secret,如图,请将Client Secret记下,此信息仅显示一次,如果您不慎将Client Secret丢失,请重新创建;

1.5、对应用程序在资源上进行授权

(1)拿到Client信息后,还需要将应用程序在资源上进行授权:点击左侧菜单栏的“资源组”;

(2)查看资源列表,选择您希望导入到行云管家的资源组,进入后点击“访问控制(标识和访问管理)”子菜单,在如图“添加角色分配”里点击“添加”;

(3)在如图“添加角色分配”里,“角色”选择“所有者”,“将访问权限分配到”选择默认的“Azure AD 用户、组或服务主体”,“选择”一栏中输入前面创建的应用程序关键字“cloudbility”,结果出来后,选中结果“cloudbility”;

此时就可以看到下面“所选成员”里有“cloudbility”,点击“保存”;

(4)此时在“访问控制(标识和访问管理)”的“角色分配”里,在“所有者”中即增加了“cloudbility”应用程序,到这里,您便可以使用这个Client信息作为API访问凭证将资源导入到行云管家中了;

二、创建Azure Blob

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

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

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

(2)然后点击“添加”;

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

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

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

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

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

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

2.2、获取存储账户密钥

(1)点击左侧菜单栏的“存储账户”,点击刚创建的存储账户“billyanshicreate”的“名称”;

(2)找到“访问密钥”,这里“key1”和“key2”里的密钥都可用,请记录下其中一个需要用于配置的即可;

2.3、创建容器

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

(1)点击“容器”里的“+容器”来创建新容器,填写“新容器名称”,“公共访问级别”选择默认即可,点击“创建”;

(2)创建新容器完成;

2.4、创建CORS

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

(1)点击“CORS”,如图在“Blob服务”里进行如下操作:

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

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

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

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

(2)创建CORS完成;

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