如何自动创建和配置Azure企业应用程序

9njqaruj  于 2023-01-05  发布在  其他
关注(0)|答案(1)|浏览(149)

我正在努力创建和配置Azure企业应用程序。
我一直在尝试通过PowerShell来完成这个任务,我试图通过使用应用程序注册可以拥有的标记来创建一个企业应用程序,我遵循了github的这篇帖子,它本质上归结为将这个标记添加到服务主体:

$tags = @("WindowsAzureActiveDirectoryIntegratedApp")

从那里,我似乎在向应用程序添加标识符uri时遇到了问题。以下是错误:

Values of identifierUris property must use a verified domain of the organization or its subdomain

无论我使用PowerShell还是Terraform尝试此操作,我都会遇到此错误。
我想通过添加url作为自定义域可能会解决这个错误,但奇怪的是,这个url是由手动设置的企业应用程序使用的,所以我对这个错误有点困惑,认为问题可能不仅仅是添加url作为自定义域。
我想指出的是,此时如果我删除identifierUris,则会创建应用程序注册和服务主体,但如果我转到服务主体的SAML部分,则似乎没有手动上载SAML元数据文件的方法(仅通过PowerShell-有趣的是,它确实可以在Terraform中工作)。
这就引出了我在配置方面面临的另一个问题:SSO配置,特别是通过SAML。我希望以编程方式上载SAML元数据文件,然后根据上载结果修改服务主体的SAML部分中的某些字段。但是,我一直无法找到执行此操作的方法或找到等效的解决方法。

    • EDIT:**原来您可以通过Terraform将令牌证书上载到服务主体-有关该命令的更多信息,请参见here。您需要将数据转换为可接受的值格式(如果您来自.xml文件,我建议使用.pem)。我还不能100%确定此命令是否有效,因为在SAML Certificates部分下留下了以下消息:
**Token signing certificate**
A certificate has been successfully created. Please reload the page to make it active.

而且重新加载似乎还不起作用...
仍待解决的问题:
1.标识符uri(前面提到过)
1.如何编辑Attributes & Claims字段

    • 编辑2:**

因此,我发现了这个资源,它提供了通过MS Graph自动化基于SAML的单点登录的分步指南。
还在测试它--而且有些部分只能在Windows上完成(创建自定义证书)--但这似乎很有帮助。
根据我早期的测试,到目前为止,我发现这个方法的唯一问题是可能无法编辑SAML SSO的Attributes and Claims部分。但是,我相信通过创建自己的应用程序模板,这个方法可以解决我遇到的标识符问题。

5f0d552i

5f0d552i1#

所以,MsGraph教程在很大程度上涵盖了我的用例所需要的大部分内容。我要注意的一些不同之处:
1.我使用的模板应用程序更适合我的需要
1.通过遵循有关创建和分配声明Map策略的教程要点,可以修复属性和声明。您将无法通过GUI看到这一点。此外,获取更新的服务主体也不会显示此配置
*。
1.如果您在更新logoutUrl时遇到困难,我会看到这个github帖子-您可以通过az rest、PATCH和这个端点来配置它:"https://graph.microsoft.com/v1.0/applications/$($app_id)".
1.通过PowerShell将所有命令捆绑在一起有点烦人,因为似乎有些命令比其他命令需要更长的时间来处理。因此,我建议在脚本中实现某种重试,甚至调用Start-Sleep,以便将来的cmdlet识别由已经调用的cmdlet创建的资源。

  • 请注意,如果您还没有一个合适的模板,那么查找最适合您的模板的过程可能会有点棘手。我最终选择了与我手动执行此过程时使用的企业应用程序匹配的模板。我不确定是否每个可用的企业应用程序都有与之匹配的模板。
    • 确认新声明Map策略工作的唯一方法是查看此消息(在Attributes & ClaimsEdit部分下,该部分位于服务主体的SSO部分中):"This configuration was overwritten by a claims mapping policy created via Graph/PowerShell. Learn More.".

相关问题