作成された鍵格納域& Power Shellコマンドを実行してRPサービス・プリンシパル(AzureADに登録されたアプリケーション) 。 /サブスクリプション/ ***** - ***** - ***** - ***** - *****:キー・ボールト証明書(自己署名)をWebアプリケーションにデプロイする際に「Bad Request」エラーまたは「NoRegisteredProviderFound」が発生する
Vault Name : MyKeyVaultTest
リソースID - キーVaultは、以下に示す詳細*****/resourceGroups/XXX-YYY-ZZZ /プロバイダ/ Microsoft.KeyVault /金庫/ MyKeyVaultTest アクセスポリシー: テナントID:d29bcd12-3280-4f37-b8f2-6e9e2f581472 オブジェクトID:daccd2fd-835A-4c03- 8336-c5fcf481f3cc アプリケーションID:172f36fc-a098-47a1-9c83-04016d3e9781 鍵へのアクセス権:取得、一覧、更新、作成、インポート、削除、回復、バックアップ、復元、復号化、暗号化、UnwrapKey、WrapKey、検証、署名、パージ シークレットへのアクセス権:取得、一覧表示、設定、削除、回復、バックアップ、復元、パージ は、証明書の権限: 権限に、リスト、更新を取得します作成、インポート、削除、ManageContacts、ManageIssuers、GetIssuers、ListIssuers、SetIssuers、DeleteIssuersストレージ(キーVaultは、管理)を:
は、自己署名証明書を作成し以下使用すると、パワーシェルスクリプトを述べた -
$cert = New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname XXXXXXXtechmahindra.onmicrosoft.com
$pwd = ConvertTo-SecureString -String ‘[email protected]@’ -Force -AsPlainText
$path = 'cert:\localmachine\my\' + $cert.thumbprint
Export-PfxCertificate -cert $path -FilePath c:\temp\cert.pfx -Password $pwd
はキーVaultに同じ証明書を追加しましたし、秘密は、コンテンツタイプ「アプリケーション/ X-PKCS12を有する「mykeyvaulttestwebappPK」という名前です。
次に、ARMクライアントを有効にして、以下に述べるスクリプトを実行して、Key Vault証明書をエラーを出している「MyKeyVaultTestWebApp」という名前のWebアプリケーションにデプロイします。スクリプトとエラーが以下の通りである -
1. Script without changing the API version:
ARMClient.exe PUT /subscriptions/*****-*****-*****-*****-**********/resourceGroups/XXX-YYY-ZZZ/providers/Microsoft.Web/certificates/keyvaultcertificate?api-version=2016-03-01 "{'Location':'SouthCentralUS','Properties':{'KeyVaultId':'/subscriptions/*****-*****-*****-*****-**********/resourceGroups/XXX-YYY-ZZZ/providers/Microsoft.KeyVault/vaults/MyKeyVaultTest', 'KeyVaultSecretName':'mykeyvaulttestwebappPK', 'serverFarmId':'/subscriptions/*****-*****-*****-*****-**********/resourceGroups/XXX-YYY-ZZZ/providers/Microsoft.Web/serverfarms/MyKeyVaultTestWebAppServicePlan'}}"
"Code": "BadRequest",
"Message": "The service does not have access to '/subscriptions/*****-*****-*****-*****-**********/resourcegroups/rg-scotia-scale-test/providers/microsoft.keyvault/vaults/mykeyvaulttest' Key Vault. Please make sure that you have granted necessary permissions to the service to perform the request operation."
2. Script with the Serverfarm’s API version:
ARMClient.exe PUT /subscriptions/*****-*****-*****-*****-**********/resourceGroups/XXX-YYY-ZZZ/providers/Microsoft.Web/certificates/keyvaultcertificate?api-version=2016-09-01 "{'Location':'SouthCentralUS','Properties':{'KeyVaultId':'/subscriptions/*****-*****-*****-*****-**********/resourceGroups/XXX-YYY-ZZZ/providers/Microsoft.KeyVault/vaults/MyKeyVaultTest', 'KeyVaultSecretName':'mykeyvaulttestwebappPK', 'serverFarmId':'/subscriptions/*****-*****-*****-*****-**********/resourceGroups/XXX-YYY-ZZZ/providers/Microsoft.Web/serverfarms/MyKeyVaultTestWebAppServicePlan'}}"
"code": "NoRegisteredProviderFound",
"message": "No registered resource provider found for location 'SouthCentralUS' and API version '2016-09-01' for type 'certificates'.
3. Script with the Key-Vault’s API version:
ARMClient.exe PUT /subscriptions/*****-*****-*****-*****-**********/resourceGroups/XXX-YYY-ZZZ/providers/Microsoft.Web/certificates/keyvaultcertificate?api-version=2015-06-01 "{'Location':'SouthCentralUS','Properties':{'KeyVaultId':'/subscriptions/*****-*****-*****-*****-**********/resourceGroups/XXX-YYY-ZZZ/providers/Microsoft.KeyVault/vaults/MyKeyVaultTest', 'KeyVaultSecretName':'mykeyvaulttestwebappPK', 'serverFarmId':'/subscriptions/*****-*****-*****-*****-**********/resourceGroups/XXX-YYY-ZZZ/providers/Microsoft.Web/serverfarms/MyKeyVaultTestWebAppServicePlan'}}"
"Code": "BadRequest",
"Message": "The service does not have access to '/subscriptions/*****-*****-*****-*****-**********/resourcegroups/rg-scotia-scale-test/providers/microsoft.keyvault/vaults/mykeyvaulttest' Key Vault. Please make sure that you have granted necessary permissions to the service to perform the request operation."
[NB:変更を実装するために使用される「https://blogs.msdn.microsoft.com/appserviceteam/2016/05/24/deploying-azure-web-app-certificate-through-key-vault/」と呼ば]あなたのエラーメッセージによると
私は試しましたが、まだ同じエラーが発生しています... PS C:\ WINDOWS \ SYSTEM32> $たservicePrincipal =新AzureRmADServicePrincipal -ApplicationId 172f36fc-a098-47a1-9c83-04016d3e9781 PS C:\ WINDOWS \ SYSTEM32>セットAzureRmKeyVaultAccessPolicy -VaultName MyKeyVaultTest -objectid $ servicePrincipal.Id - PermissionsToKeys all -PermissionsToSecrets all 警告: 'all'権限は廃止され、 'purge'権限は含まれていません。 'Purge'パーミッションを明示的に設定する必要があります。 PS C:\ Windowsが\ SYSTEM32> $ ServicePrincipal.ApplicationIdは#OutputsのservicePrincipalName/AppPrincipalId –
私のPSコードを変更しないでください、のservicePrincipalName abfa0a7c-a6b6-4736-8310-5855508787cdは、紺碧のWebアプリのservice.Pleaseが私のコードをコピー意味(キーボーム名を変更するだけ)、もう一度やり直してください。 –