2

我在我的 Azure 订阅中创建了一个 KeyVault,并在我的一个 Azure AD 目录中创建了一个客户端应用程序。但是,客户端应用程序未在订阅的默认目录中注册。

当我运行以下 PowerShell cmdlet 时,它会尝试在订阅的默认目录中查找服务主体,但找不到它。

PS > Set-AzureKeyVaultAccessPolicy -VaultName <vaultname> 
       -ServicePrincipalName <principal guid> -PermissionsToSecrets Get

我发现一篇文章描述了如何在管理门户中更改订阅的默认目录,但想知道如何使用 PowerShell 来做同样的事情。

Select-AzureSubscription” cmdlet 似乎不支持更改默认目录。' ' 也不Set-AzureKeyVaultAccessPolicy支持一个参数来指示它应该在哪个目录中查找。

4

2 回答 2

4

Key Vault 只能授权在与 Azure 订阅关联的目录中注册的应用程序(客户端),并且(当前)更改与订阅关联的“主”目录的唯一方法是通过 Azure 管理门户。

于 2015-11-03T06:12:00.037 回答
0

我想这是设计的行为,无法想象它会如何/为什么会改变。

Azure 订阅附加了一个 Azure Active Directory,这是每当有人尝试访问资源时用于进行身份验证的目录。

虽然您可以创建对其他 Active Directory 的信任,但仅创建新的 AAD 并不会自动使该域受 Azure 信任。

Key Vault 旨在仅供经过身份验证的用户访问,旨在为这些用户提供安全数据。由于您创建的多个目录之间没有身份验证机制,因此 Key Vault 没有机制来确定这些目录属于谁。

Key Vault 需要通过附加到它正在运行的订阅的 Active Directory 来解决服务原则(无论是直接通过该目录还是通过它信任的另一个域)。其他任何事情都会产生额外的攻击向量并大大削弱产品。

于 2015-12-17T08:08:10.747 回答