7

Azure Key Vault のグループによるアクセス ポリシーが機能していないようです。

新しいキー コンテナーを作成する場合

 New-AzureRmKeyVault -VaultName $vaultName

そして、キーを確認します(現在はありません)

 Get-AzureKeyVaultKey -VaultName $vaultName 

それはうまくいきます。

現在のユーザーがメンバーであるグループへのアクセスを追加した場合

$group = (Get-AzureRmADGroup -SearchString 'All Developers')[0].Id
Set-AzureRmKeyVaultAccessPolicy -VaultName $vaultName -ResourceGroupName $resourceGroupName -ObjectId $group -PermissionsToKeys all -PermissionsToSecrets all

そして、直接アクセスを削除します

Remove-AzureRmKeyVaultAccessPolicy -VaultName $vaultName -ResourceGroupName $resourceGroupName -UserPrincipalName $upn

リスト操作が失敗するようになりました

Get-AzureRmKeyVault -VaultName $vaultName -ResourceGroupName $resourceGroupName

Get-AzureKeyVaultKey : Operation "list" is not allowed

グループごとに許可するにはどうすればよいですか?

4

3 に答える 3

3

アクセス ポリシーをグループに追加する理由は、それがサポートされていないためです。ヘルプを見ると、Set-AzureRmKeyVaultAccessPolicyObjectId にこれがあります

-ObjectId <Guid>
    Specifies the object ID of the user or service principal in Azure Active Directory for which to grant permissions.

    Required?                    true
    Position?                    named
    Default value                none
    Accept pipeline input?       true(ByPropertyName)
    Accept wildcard characters?  false

ご覧のとおり、ObjectId はサービス プリンシパルまたはユーザーのみをサポートしています。

これは、REST API への投稿時にソース コードのパラメーターに反映され、 REST APISet-AzureRmKeyVaultAccessPolicyチェーンのさらに上流に反映されます。

    https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{vault-name}?api-version={api-version}

ペイロードには、次のobjectIdように定義されているパラメーターが含まれています。

コンテナーの Azure Active Directory テナント内のユーザーまたはサービス プリンシパルのオブジェクト ID を指定します。ID は GUID として指定する必要があります。

この機能は将来的に追加されると思いますが、現時点では不可能です。

于 2016-02-24T01:48:18.920 に答える
3

今日、許可されたグループ オブジェクトのユーザーに対して機能することを発見しました。これらのグループのサービス プリンシパルでは機能しません。

つまり、クライアント ID とクライアント シークレットを使用して認証する場合、関連するサービス プリンシパルには、キー コンテナーに直接設定されたアクセス ポリシーが必要です。セキュリティ グループにアクセス許可を与えると、そのグループのユーザーは実際にキー コンテナーにアクセスできます。これは、JWT がユーザーと共にセキュリティ グループを含める方法に関係していると思いますが、サービス プリンシパルではありません...

于 2016-02-25T13:15:48.003 に答える