Token导航 LogoToken导航TokenDH.com
Entra MCP logo
运维云端未说明官方级别未说明来源级核验

Entra MCP

MCP Server

EntraMCP是一个HTTP触发的Azure逻辑应用模板,用于执行Entra ID(Azure AD)用户管理操作,包括撤销用户会话、禁用和启用用户账户。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
Bicep工作流自动化用户管理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

murasamelabo

提供方

murasamelabo

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

EntraMCP 逻辑应用模板

![Deploy to Azure](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fmurasameabo%2FEntraMCP%2Fmain%2Fazuredeploy.json)

日语见下文/英文如下

概述

此存储库提供了一个通用的、参数化的Azure逻辑应用(按使用量计费)工作流模板,名为 EntraMCP 翻译为中文是“进入MCP(管理控制面板/多协议控制器等,具体含义根据上下文确定)”。不过,由于“MCP”可能有多种含义,具体翻译时需要根据上下文来确定其准确含义。如果“MCP”在特定领域或上下文中有一个固定或常用的翻译,那么应该采用那个翻译

EntraMCP 是做什么的?

EntraMCP 是一个由 HTTP 触发的逻辑应用程序,用于执行 Entra ID(Azure AD)用户管理操作:

  • 撤销会话撤销用户登录会话
  • 禁用用户禁用用户账户并撤销会话
  • 启用用户启用用户帐户

该工作流接受带有JSON有效载荷的HTTP POST请求:

{
  "UPN": "user@domain.com",
  "Action": "RevokeSession"  // or "DisableUser" or "EnableUser"
}

建筑学

  • 触发器HTTP 请求(手动调用)
  • 行动通过Azure AD连接器调用Microsoft Graph API的switch-case逻辑
  • 回应成功/失败状态及操作详情

状态此模板包含了实际的生产工作流程定义。您可以直接部署,或根据需要进行定制。

🚀 快速部署

点击 “部署到Azure” 点击上方按钮,直接将此逻辑应用程序部署到您的 Azure 订阅中。

部署步骤:

  1. 点击“部署到 Azure”按钮
  2. 选择订阅和资源组
  3. 指定逻辑应用的名称和位置
  4. 审查并创建

部署后配置(必需):

重要的部署后,您必须授权 Azure AD API 连接:

  1. 前往 Azure 门户 → 资源组 → \[您的资源组\] → API 连接 → azuread-1
  2. 点击“编辑API连接”
  3. 点击“授权”并使用相应权限登录
  4. 保存连接

所需权限:

Azure AD 连接需要:

  • User.ReadWrite.All - 启用/禁用用户
  • User.RevokeSessions.All - 撤销用户会话

关键文件:

  • infra/main.bicep – 部署逻辑应用工作流的肱二头肌模板
  • infra/connection.bicep Azure AD API 连接模板
  • workflows/entra_mcp.definition.json – 生产工作流程定义(Entra ID 用户管理)
  • azuredeploy.json – 用于“部署到Azure”按钮的ARM模板
  • .github/workflows/deploy-logicapp.yml – 使用OIDC将GitHub Actions工作流(手动触发)发送到Azure。

如何使用

0. GitHub 仓库设置(仅首次需要)

如果是您第一次使用,请创建一个GitHub仓库:

  1. 访问 https://github.com/new
  2. 仓库名称: EntraMCP
  3. 所有者: murasameabo
  4. 设置可见性(公开或私有)
  5. 不要使用README文件进行初始化(我们已经有了一个)
  6. 创建仓库
  7. 推送这个模板:
cd "c:\Users\shishii\OneDrive - Microsoft\CODE\EntraMCP"
git branch -M main  # Rename master to main if needed
git push -u origin main

1. 获取现有工作流定义

重要在部署之前,您必须导出您的实际 Logic App 定义。

选项A - 使用Azure门户(推荐)

  1. 前往 Azure 门户 → 逻辑应用
  2. 找到名为“EntraMCP”的你的逻辑应用
  3. 点击“逻辑应用代码视图”或“导出模板”
  4. 复制 工作流定义 部分(而非整个ARM模板)
  5. 将其粘贴到 workflows/entra_mcp.definition.json
  6. 确保它是有效的JSON(无注释,结构正确)

选项 B - 使用 Azure CLI(Azure 命令行界面) (如已安装):

# Find your Logic App
$subscriptionId = "your-subscription-id"
$resourceGroup = "your-resource-group"
$logicAppName = "EntraMCP"

az account set --subscription $subscriptionId
az logic workflow show -g $resourceGroup -n $logicAppName --query definition > workflows/entra_mcp.definition.json

导出的定义应该如下所示:

{
  "contentVersion": "1.0.0.0",
  "parameters": {
    "$connections": {
      "type": "Object"
    }
  },
  "triggers": {
    "manual": {
      "type": "Request",
      "kind": "Http"
    }
  },
  "actions": {
    "YourAction": {
      "type": "Http",
      "inputs": { ... }
    }
  },
  "outputs": {}
}

2. 通过 Azure CLI 部署 Bicep

# Variables
$RG="my-rg"; $LOC="japaneast"; $NAME="entra-mcp-dev"

az group create -n $RG -l $LOC
az deployment group create -g $RG `
  -f infra/main.bicep `
  -p logicAppName=$NAME location=$LOC workflowDefinition=@workflows/entra_mcp.definition.json

添加可选参数: workflowStatetags={env:'dev'} 等。

3. ARM 模板替代方案

你仍然可以使用 azuredeploy.parameters.json 通过翻译Bicep文件来使用它,或者创建一个ARM部署:

az deployment group create -g $RG -f infra/main.bicep -p @azuredeploy.parameters.json

(此处参数文件已经嵌入了一个最小的空定义。)

4. GitHub Actions 部署

配置仓库密钥:

  • AZURE_CLIENT_ID – 联邦凭证服务主体。
  • AZURE_TENANT_ID – Azure AD 租户 ID。

在Entra ID中为OIDC(GitHub Actions)创建一个联合凭据。 手动触发:操作 -> 部署逻辑应用(EntraMCP)-> 运行工作流 -> 填充输入项。

5. 安全更新定义

  1. 从门户导出新定义。
  2. 验证JSON(无注释,括号正确)。
  3. 提交并推送。
  4. 重新运行工作流或CLI部署(幂等操作)。

6. 连接与API连接器

此模板不部署API连接。如果您的工作流引用了类似以下的连接: @parameters('$connections'),你必须:

  • 确保资源组中已存在连接。
  • 或者扩展这个模板(添加类型为 Microsoft.Web/connections)。
  • 通过密钥库或参数化方式提供安全的机密信息,切勿硬编码。

7. 安全与最佳实践

  • 在可能的情况下,使用托管身份进行下游调用,而不是使用密钥。
  • 将工作流定义置于版本控制(Git)之下。
  • 避免在代码中硬编码敏感值;将其存储在密钥库中,并在操作中引用。
  • 标记资源(tags (参数)与环境/所有者一起用于治理。
  • 使用OIDC从GitHub到Azure(已在Actions文件中配置)而不是发布密钥。

8. 清理工作

az group delete -n $RG --yes --no-wait

______________________________________________________________________

日语说明

![Deploy to Azure](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fmurasameabo%2FEntraMCP%2Fmain%2Fazuredeploy.json)

此存储库是Azure Logic Apps(按使用量付费/Consumption)工作流的通用模板。workflows/entra_mcp.definition.json 请将其替换为实际的导出定义后使用。

🚀 快速部署

上面 “部署到 Azure” 点击按钮后,可直接将内容部署到 Azure 订阅。请指定以下内容:

  • 订阅和资源组的选择
  • 指定逻辑应用程序的名称和位置
  • 提供工作流定义(或使用占位符)

初次设置(创建GitHub存储库)

  1. 访问https://github.com/new
  2. 仓库名: EntraMCP、店主: murasameabo
  3. 选择公钥/私钥,不使用README初始化
  4. 创建仓库后:
cd "c:\Users\shishii\OneDrive - Microsoft\CODE\EntraMCP"
git branch -M main  # master を main にリネーム (必要に応じて)
git push -u origin main

使用方法概要

重要请务必在部署前,通过Azure门户导出现有Logic App的定义。

方法A - Azure 门户(推荐)

  1. Azure 门户 → 逻辑应用
  2. 查找名为“EntraMCP”的逻辑应用程序
  3. 点击“逻辑应用代码视图”或“导出模板”
  4. 工作流定义 复制部分(而非整个 ARM 模板)
  5. workflows/entra_mcp.definition.json 粘贴到
  6. 确认JSON有效(删除注释,检查语法)

方法B - Azure CLI(Azure 命令行接口) (如已安装):

$subscriptionId = "your-subscription-id"
$resourceGroup = "your-resource-group"
$logicAppName = "EntraMCP"

az account set --subscription $subscriptionId
az logic workflow show -g $resourceGroup -n $logicAppName --query definition > workflows/entra_mcp.definition.json

部署步骤

  1. 从现有Logic App导出定义JSON workflows/entra_mcp.definition.json 并进行覆盖。
  2. Bicep 部署示例:
$RG="my-rg"; $LOC="japaneast"; $NAME="entra-mcp-dev"
az group create -n $RG -l $LOC
az deployment group create -g $RG -f infra/main.bicep -p logicAppName=$NAME location=$LOC workflowDefinition=@workflows/entra_mcp.definition.json
  1. 如使用GitHub Actions,则需OIDC服务主体和 AZURE_CLIENT_IDAZURE_TENANT_ID 设置其秘密,并通过手动触发器指定输入值。
  2. 需要另行创建连接(API Connections)。Microsoft.Web/connections 通过增加资源可以实现自动化。
  3. 请将机密值替换为对Key Vault的引用等,不要直接写入定义中。

常见的下一步

  • 在 Bicep 中添加 API 连接
  • 工作流定义的参数化(例如:复发频率、URL、邮件发送地址)
  • 通过GitHub Actions的matrix部署到测试环境(dev/stg/prod)

API连接的附加提示

肱二头肌示例(之后会扩展):

resource connectionExample 'Microsoft.Web/connections@2021-06-01' = {
  name: 'office365'
  location: location
  properties: {
    displayName: 'Office365'
    api: {
      id: subscriptionResourceId('Microsoft.Web/locations/managedApis', location, 'office365')
    }
  }
}

随后将其添加到 workflowDefinition.parameters 中 $connections 进行嵌入。

______________________________________________________________________

贡献;助力

欢迎提出问题/拉取请求(Pull Requests)。请保持定义的通用性,避免包含特定环境的敏感信息。

许可证

MIT(如需更改请自行修改)

目录标签

目录标签

Bicep工作流自动化用户管理本地部署Azure逻辑应用EntraID自动化工作流MicrosoftGraphAPI

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP