4.7. 创建 Azure Active Directory 应用程序
完成以下流程来创建 Azure Active Directory (AD)应用程序。Azure AD 应用程序授权并自动对集群中所有节点的 HA 操作进行访问。
先决条件
- Azure 命令行界面(CLI) 已安装在您的系统上。
- 您是 Microsoft Azure 订阅的管理员或所有者。您需要此授权来创建 Azure AD 应用程序。
流程
在 HA 集群的任何节点上,登录到您的 Azure 帐户。
$ az login
为 Azure 隔离代理的自定义角色创建一个
json
配置文件。使用以下配置,但将 <subscription-id> 替换为您的订阅 ID。{ "Name": "Linux Fence Agent Role", "description": "Allows to power-off and start virtual machines", "assignableScopes": [ "/subscriptions/<subscription-id>" ], "actions": [ "Microsoft.Compute/*/read", "Microsoft.Compute/virtualMachines/powerOff/action", "Microsoft.Compute/virtualMachines/start/action" ], "notActions": [], "dataActions": [], "notDataActions": [] }
为 Azure 隔离代理定义自定义角色。使用上一步中创建的
json
文件来进行此操作。$ az role definition create --role-definition azure-fence-role.json { "assignableScopes": [ "/subscriptions/<my-subscription-id>" ], "description": "Allows to power-off and start virtual machines", "id": "/subscriptions/<my-subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<role-id>", "name": "<role-id>", "permissions": [ { "actions": [ "Microsoft.Compute/*/read", "Microsoft.Compute/virtualMachines/powerOff/action", "Microsoft.Compute/virtualMachines/start/action" ], "dataActions": [], "notActions": [], "notDataActions": [] } ], "roleName": "Linux Fence Agent Role", "roleType": "CustomRole", "type": "Microsoft.Authorization/roleDefinitions" }
-
在 Azure web 控制台界面中,选择 Virtual Machine
点击左侧菜单中的 Identity 。 -
选择 On
点 Save 点 Yes 来确认。 -
点 Azure role assignments
Add role assignment。 -
选择角色所需的Scope,如
Resource Group
。 - 选择所需的 Resource Group。
- 可选:如果需要,请修改 订阅。
- 选择 Linux Fence Agent Role 角色。
- 点击 Save。
验证
显示 Azure AD 可见的节点。
# fence_azure_arm --msi -o list node1, node2, [...]
如果这个命令输出集群中的所有节点,则 AD 应用程序已成功配置。