gpt4 book ai didi

Azure Active Directory - 支持 Multi-Tenancy 同意的应用程序场景

转载 作者:行者123 更新时间:2023-12-02 07:10:11 25 4
gpt4 key购买 nike

场景:我正在利用 Azure Active Directory 开发一个 Multi-Tenancy 同意的应用程序。该应用程序可以被视为一个闭环星形网络。我想做以下事情:1. 将可以在设计时“查看”我的应用程序的租户列入白名单。2. 启用基于证书的身份验证 - 在单个租户中,这将是直接的。但是,我有点困惑这在 Multi-Tenancy 场景中意味着什么。每个应用程序(即组织)都有自己的证书。在 S2S 场景中,客户端组织的租户节点中的节点将安装这些证书,并且客户端组织的 AAD 应用程序的 keyCredential 将配置公钥 token 。那么,如何在驻留在完全不同的租户中的目标“资源”应用程序上验证此声明?3. 我在应用程序中公开了 oAuth2Permissions,并希望使用 PowerShell 自动化该场景。我有示例代码,可以单独执行以下操作:

$serviceApplication = New-AzureRmADApplication -DisplayName <AADApplicationName> -AvailableToOtherTenants $true -IdentifierUris $serviceAppIdUri `


$aad_oAuth2Perm_ReadModel =
[Microsoft.Open.AzureAD.Model.OAuth2Permission]::New()
$aad_oAuth2Perm_ReadModel.AdminConsentDescription = ($adminConsentDisplay -f "Model")
$aad_oAuth2Perm_ReadModel.AdminConsentDisplayName = ($adminConsentDisplay -f "Model")
$aad_oAuth2Perm_ReadModel.Id = [guid]::NewGuid().Guid.ToString()
$aad_oAuth2Perm_ReadModel.IsEnabled = $true
$aad_oAuth2Perm_ReadModel.Type = 'User'
$aad_oAuth2Perm_ReadModel.UserConsentDescription = ($userConsentDisplay -f "Model")
$aad_oAuth2Perm_ReadModel.UserConsentDisplayName = ($userConsentDisplay -f "Model")
$aad_oAuth2Perm_ReadModel.Value = "Read.Model"
$aad_oAuth2Permissions.Add($aad_oAuth2Perm_ReadModel)

Set-AzureADApplication -ObjectId $serviceApplication.ObjectId.Guid.ToString() `
-Oauth2Permissions $aad_oAuth2Permissions
<小时/>

Set-AzureADApplication 调用始终失败,并出现以下错误

Set-AzureADApplication:执行 SetApplication 时发生错误代码:Request_BadRequest消息:除非先禁用属性值,否则无法删除该属性值。

我相信我可能必须删除使用 New-AzureRmADApplication 调用创建的默认“user_impersonation”oAuth2Permission,但我尝试过的方法都不起作用。如何删除特定的 oAuth2Permissions 或将其替换为 Set-AzureADApplication ?

最佳答案

这里的问题是新应用程序带有默认的 OAuth 2 权限,并且您尝试SET一个全新的权限而不包含旧的默认权限,这与 >删除操作。

一种解决方案是读取应用程序上所有现有的 OAuth 2 权限,然后在现有权限旁边添加新权限,然后执行 SET 调用。这将避免正在进行的“删除”调用。

另一种选择是按照 API 警告您的方式进行操作。存在现有的 OAuth 2 权限,需要先设置为 IsEnabled=$false 才能将其删除。您可以在尝试添加新权限之前,读入旧权限,禁用该权限,然后将其删除。

我相信这两种解决方案都可以解决您的特定错误消息。需要完全明确的是,我并没有真正理解你的场景,所以我不知道即使你解决了这个问题,你是否会实现你的最终目标。

请告诉我这是否有帮助。

关于Azure Active Directory - 支持 Multi-Tenancy 同意的应用程序场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46530089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com