我已经通过门户创建了一个 Service Fabric 集群,使用安全的基本配置类型,因此它会在我选择的密钥保管库中自动生成证书。
然后,我按照以下说明创建了 Azure AD 应用程序https://docs.microsoft.com/en-gb/azure/service-fabric/service-fabric-cluster-creation-via-arm#set-up-azure-active-directory-for-client-authentication并为自己分配了企业应用程序中的管理员角色_Cluster
。
接下来,我使用上一步中使用的 PowerShell 脚本的值为集群配置了 AAD 安全性。
我现在可以从 Visual Studio 内部部署,因此至少部分功能可以正常工作。但是,当导航到 Service Fabric Explorer 时,登录时出现以下错误:
AADSTS65005:资源无效。客户端请求访问的资源未在客户端应用程序注册中请求的权限中列出。客户端应用程序 ID:[已删除]。请求中的资源值:。资源应用程序 ID:00000002-0000-0000-c000-000000000000。应用程序注册中的有效资源列表:。
我错过了哪个步骤导致了这个错误?
答案1
查看 SetupApplications.ps1 源代码后,我注意到以下几点:
.PREREQUISITE
1. An Azure Active Directory tenant.
2. A Global Admin user within tenant.
...
.PARAMETER AddResourceAccess
Used to add the cluster application's resource access to "Windows Azure Active Directory" application explicitly when AAD is not able to add automatically. This may happen when the user account does not have adequate permission under this subscription.
添加AddResourceAccess
开关解决了这个问题,现在它添加了一个Windows Azure 活动目录_Cluster 应用程序注册的条目。
请注意,即使是订阅所有者也需要添加开关,显然这些帐户也缺乏所需的权限。登录时显示的新错误消息表明您需要全局管理员的协助才能完成配置:
foo_Cluster 需要获得只有管理员才能授予的权限才能访问贵组织中的资源。请先请求管理员授予此应用权限,然后您才能使用它。