2017-02-23 14 views
1

私はあなたのADアカウントを使用してログインして秘密を読むことができるMVCのC#でWebアプリケーションを作成しています。問題は、それぞれに特定の権限を持つキーボルトが多数存在することです。私は1つの特定のボールトでこれを行い、ADログインを使用してボールトURLを使用してボールトに秘密をリストアップしました。ADユーザアカウントに関連付けられたキーボルトを一覧表示しますか?

私は、ユーザーがアクセス権を持つボールトを一覧表示できるようにしたいと考えています。 Powershellではこれがとても簡単だと分かっていますが、C#でこれを行う方法を見つけることはできません。

これを行う方法はありますか?ありがとう!

+0

よく、PowerShellまたは休憩のエンドポイントを直接呼び出すことはできますか? – 4c74356b41

+0

「関連する」という意味を明確にすることはできますか? Vaultを作成したアカウント、Vaultを管理できるアカウント、特定のアカウントにアクセスするアカウント、または何か他のものを意味しますか? –

+0

すべてのメンバー。だから、もしユーザーがボールトを見ることができれば、それを読んで、管理してください。私はそれがWebアプリケーションのようにpowershellを使用することはできません。私が探しているのは、残りのAPI経由ですが、サブスクリプションに関連付けられたボールトのみを表示できます。 – Pikapops

答えて

1

私が知る限り、現時点では異なるサブスクリプションですべての重要な格納域を取得できるRESTはありません。

回避策として、すべてのサブスクリプションとリソースグループの下にKey Vaultをリストする必要があります。 accessPoliciesをチェックして、鍵ボールトにアクセスできるかどうかを確認します。

たとえば、accessPolicieは以下のようになります。ユーザーのオブジェクトがobjectIdと一致するかどうかをaccessPolicieに確認できます。

GET: https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.KeyVault/vaults?api-version=2015-06-01  

authorization: bearer {access_token} 

そして、あなたはアズールについてのアイデアやフィードバックを持っている場合、あなたはhereからそれらを提出することができます:あなたは下のRESTを参照することができ、すべてのサブスクリプションおよびリソース・グループの下にキーVaultを一覧表示するには

{ 
    "tenantId": "", 
    "objectId": "", 
    "permissions": { 
     "keys": [], 
     "secrets": [ 
     "Get" 
     ], 
     "certificates": [] 
    } 
    }, 

+0

素晴らしいアイデア!私はそれをします。 – Pikapops

関連する問題