我使用Azure Active Directory作为Sharepoint 2013门户的安全/权限的基础。我使用Graph API开发管理UI,以从Azure Active Directory加载和编辑数据。该设置还包括Exchange Online,以便系统中定义的每个用户都将在我的域中获得一个邮箱。 Azure Active Directory中的组和用户使用DirSync同步到Sharepoint 2013和Exchange Online。
计划是使用管理页面来整合某些预期的操作,包括创建新用户,将他们连接到相关的安全组,以及创建新的已启用邮件的安全组。
如Graph API Group Overview中所述,只允许创建“纯”安全组。此外,Graph API不允许在创建后将mailEnabled
字段更新为true ...实际上,Azure Active Directory管理屏幕非常有限,以至于无法在其中创建已启用邮件的组(或者我错过了什么?)。
我正在尝试找到一个解决方案,让我仍然可以在一个管理应用程序下整合我希望允许的所有操作。
我看错了吗?是否有一个简单的解决方案,如上所述,我根本不知道?
答案 0 :(得分:1)
听起来不像你错过了什么。问题是,如果你有提供“邮件”的东西,那么启用邮件的安全组才有意义。对于微软的在线服务,这将是Exchange。 Azure AD和“纯”安全组适用于所有地方,但有人可能认为启用邮件的组仅适用于Exchange中的情况。无论如何,这是试图解释原因。
至于以编程方式访问Exchange,您有很多选择(请参阅Exchange Online and Exchange 2013 development(无特定顺序):
a)Exchange PowerShell cmdlet
Exchange允许您使用Exchange Online PowerShell cmdlet以编程方式创建和管理通讯组。例如,New-DistributionGroup cmdlet:
New-DistributionGroup -Name "My Favorite People" -Type "Security"
正如您所注意到的,这些组将以只读方式同步回Azure AD。然后,您可以将它们(例如)与Azure AD Graph API一起使用,以根据组成员身份执行RBAC。
a.1)Exchange PowerShell cmdlet从C#代码
运行如果要从其他.NET代码(例如C#)运行这些cmdlet,则可行。看看How to: Get a list of mail users by using the Exchange Management Shell中的示例。它可以很容易地用于获取/设置组而不是用户。
b)Exchange Web服务和EWS托管API
此时您最好的选择可能是使用EWS Management API:
c)Office 365 API(虽然目前不支持此方案)
关注Office 365 API,看起来不支持这种情况,但看起来很有希望:http://msdn.microsoft.com/en-us/library/office/dn605892(v=office.15).aspx