2017-11-16 21 views
0

最近Azure Appサービス証明書を購入しました。この証明書のセットアッププロセスで新しいキーボルトストアを作成し、その証明書をインポートしました。AzureRmKeyVaultAccessPolicyを設定できません

今、私がここで提供PowerShellスクリプトを使用して、アプリケーションサービス証明書のローカルコピーを作成しようとしています:https://blogs.msdn.microsoft.com/appserviceteam/2017/02/24/creating-a-local-pfx-copy-of-app-service-certificate/

はしかし、私はエラーを取得する:

Set-AzureRmKeyVaultAccessPolicy : Cannot find the Active Directory object '' in tenant 'my tenant id'. Please make sure that the user or application service principal you are authorizing is registered in the curren t subscription's Azure Active directory. The TenantID displayed by the cmdlet 'Get-AzureRmContext' is the current subsc ription's Azure Active directory. At C:\Projekt\Certificates\Azure\copyasc.ps1:22 char:1...

私はありません確か他に何が関連しているが、ここではいくつかの注意事項があります:

  • 私はOUTL @失敗セットAzureRmKeyVaultAccessPolicyを-UserPrincipalNameの一時に送信していたユーザー名ook.comはAzure Active Directoryのデフォルトディレクトリに表示される唯一のユーザのユーザ名に対応しています。

  • このユーザーのObjectIdはキーボールのアクセスポリシーの一覧にあります(これは、失敗したコマンドレットに-Debugを追加することでわかります)。

  • キーボートにキーがありません。 1つの(管理されていない)秘密の証明書があります。

一部のスレッドでは、ADアプリケーションについて説明しています。私はこれらについて何を読んだのか分かりません。キーボーヴを作成するときにこれを行う必要がありますか?

誰かが私を助けることができますか? :)

+0

それが今で動作します、あなたのエラーログのルート理由は、ユーザーがAzureのADアカウントではないということです、B2Cのユーザーのために、UserPrincipalNameをは '' <あなたのAD名> #EXE番号の@を追加する必要があります。 –

+0

あなたのユーザオブジェクトIDを知っているなら、 'Set-AzureRmKeyVaultAccessPolicy -ResourceGroupName $ keyVaultResourceGroupName -VaultName $ keyVaultName -ObjectId $ userobjectid -PermissionsToSecrets get'があなたのために働くはずです。 –

答えて

1

エラーログによれば、UserPrincipalNameの値が間違っています。 UserPrincipalNameを取得するには、次のコマンドを実行してください。

Get-Azureaduser 

[email protected]は、AzureのADアカウントではありません、そのuserPrincipalNameのは[email protected]#EXT#@<your AD>でなければなりません。

UserPrincipalNameをユーザーのオブジェクトIDに置き換えることができます。

Set-AzureRmKeyVaultAccessPolicy -ResourceGroupName $keyVaultResourceGroupName -VaultName $keyVaultName -ObjectId $userobjectid -PermissionsToSecrets get 
+0

こんにちは、現在、Azure ADにUserPrincipalNameを取得できますか? –

+0

ありがとう、私はあなたが示唆したようにObjectIdを試し、証明書を得ました。 –

関連する問題