2016-10-06 14 views
4

私はマイクロソフトを使用してプログラムのAzure KeyVaultシークレットを作成しようとしています。 Azure.KeyVault.KeyVaultClient。私の目的のために、私は認証トークンをAzure ADアプリケーションとして証明書で認証しています。 Azure ADアプリケーションはすでにマニフェストに証明書情報を持っています。私は、プログラムのAzure KeyVaultシークレットを作成するときにエラー「操作 『セット』は許されない」?どのように修正すればよいですか

私のコードは、Azure ADアプリケーションのオブジェクトIDに秘密とキーの両方に "すべて"のアクセス権を与えるAzure KeyVaultを作成します。私はこれがPowershellを使ってKeyVaultを検索し、アクセスポリシーを調べていることを確認します。私はKeyVaultClient.SetSecretAsync()を使用して、このKeyVault上の秘密を作成しようとすると

は、私が言った例外を取得「操作 『セット』は許可されていませんが。」ステータスコードが "禁止されています"。

KeyVaultに設定されている権限のほかに、他の権限(Azure ADアプリケーションのようなもの)を確認する必要がありますか?

+0

私は、アプリケーションに許可を設定したにもかかわらず、Azure Runbooksで今でも同じ問題に遭遇しました。 Key VaultをAzure AD Appとして認証している間に、Azure AD Userとして認証していたのですが、それはかなり難解です。 – 4c74356b41

+0

は、私はこの問題は、AzureのADアプリケーションのオブジェクトIDを使用して、私と関係していると思います。私は、アクセスポリシーがAzure ADアプリケーション*サービスプリンシパル*のオブジェクトIDを望んでいると思います。今すぐテストしてください。 – SAGExSDX

+0

私はこれを試したと思います、それはあなたのために働いたのですか? – 4c74356b41

答えて

5

問題は、アクセスポリシーは、あなたのAzure ADアプリケーションのオブジェクトIDを望んでいないということです。これは、実際のAzureのADアプリケーションのサービスプリンシパルのオブジェクトIDを望んでいます。

最近、portal.azure.comに「App Registrations」が追加されたため、アプリケーションのオブジェクトIDを自明に取得できます。しかし、Azure ADアプリケーションのサービスプリンシパルのオブジェクトIDは、UIから(私が見つける限り)利用できません。あなたはPowershell経由で入手することができます:

関連する問題