Azure自动化账户系统托管身份使用MicrosoftTeams模块分配策略报404咨询
解决方案
- 配置Azure AD角色权限
Grant-cs*系列命令属于Teams旧版管理接口,仅配置API应用权限无法满足调用要求,需要为自动化账户对应的系统托管身份分配「Teams管理员」或「全局管理员」Azure AD角色:可进入Azure门户→Azure Active Directory→角色和管理员→搜索「Teams管理员」→添加分配,选择对应自动化账户的系统托管身份完成角色绑定。 - 配置Teams应用访问策略
调用Cs系列策略管理命令需要额外配置应用访问策略放行服务主体的访问权限,使用拥有Teams管理员权限的个人账号执行以下命令完成配置:
Connect-MicrosoftTeams # 替换为自动化账户系统托管身份的应用ID $miAppId = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # 新建应用访问策略 New-CsApplicationAccessPolicy -Identity "Automation_Teams_Policy_Access" -AppIds $miAppId -Description "允许自动化托管身份调用Teams策略接口" # 全局授予策略 Grant-CsApplicationAccessPolicy -PolicyName "Automation_Teams_Policy_Access" -Global
- 调整调用代码
调用连接命令时明确指定租户ID,避免域名解析问题触发404报错,修改测试代码如下:
# 替换为你的Azure AD租户ID $tenantId = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" Connect-MicrosoftTeams -Identity -TenantId $tenantId # 执行策略分配,Identity参数填写用户完整UPN Grant-csTeamsAppPermissionPolicy -Identity "user@yourdomain.com" -PolicyName "你的自定义策略名"
- 检查模块版本
确保Azure自动化账户中安装的MicrosoftTeams PowerShell模块版本≥4.9.0,过低版本对托管身份调用Cs系列命令的兼容性存在缺陷,可直接在自动化账户的模块库中更新至最新正式版。
你之前配置的Microsoft Graph、Skype and Teams、Azure AD Graph的应用权限已经满足基础调用要求,无需额外新增其他API权限。
内容的提问来源于stack exchange,提问作者JoakimE
相关产品推荐
相关产品推荐

