Se obtiene un error "Solicitud incorrecta" o "NoRegisteredProviderFound", mientras que el despliegue de clave de certificado Bóveda (auto firmado) en Web App

votos
1

Creado Key-Bóveda y siempre que la autorización para el principal de servicio RP (escrito registrado en AzureAD) ejecutando el comando Power Shell. Clave de la bóveda datos es la siguiente -

Vault Name : MyKeyVaultTest

ID de recurso: / suscripciones / ********** ********** - - ********** / resourceGroups / XXX-YYY-ZZZ / proveedores /Microsoft.KeyVault/vaults/MyKeyVaultTest políticas de acceso: ID del cliente: d29bcd12-3280-4f37-b8f2-6e9e2f581472 ID del objeto: daccd2fd-835a-4c03-8336-c5fcf481f3cc aplicación ID: Permisos 172f36fc-a098-47a1-9c83-04016d3e9781 a Keys : Obtener, Lista, actualización, crear, importar, eliminar, recuperar, copia de seguridad, restaurar, descifrar, cifrar UnwrapKey, WrapKey, Verificar, Señal, Permisos de purga para Secretos: obtener, List, Set Borrar, recuperar, copia de seguridad, restauración, Permisos de purga para certificados: obtener, enumerar, actualizar, crear, importar, Eliminar, ManageContacts, ManageIssuers, GetIssuers, ListIssuers, SetIssuers,DeleteIssuers permisos a (Clave bóveda gestionada) Almacenamiento:

Creado un certificado autofirmado mediante el siguiente guión mencionado Power Shell -

$cert = New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname XXXXXXXtechmahindra.onmicrosoft.com
$pwd = ConvertTo-SecureString -String ‘XXXXXX@1234@’ -Force -AsPlainText
$path = 'cert:\localmachine\my\' + $cert.thumbprint 
Export-PfxCertificate -cert $path -FilePath c:\temp\cert.pfx -Password $pwd

Añadido mismo certificado a Key-Vault y consiguió el secreto llamado mykeyvaulttestwebappPK con un contenido de tipo application / x-pkcs12.

Después habilite ARM cliente y ejecución de secuencia de comandos mencionados a continuación para desplegar clave de certificado Bóveda en aplicación web llamada MyKeyVaultTestWebApp que está dando error. Guión y los errores se dan a continuación -

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: Referido https://blogs.msdn.microsoft.com/appserviceteam/2016/05/24/deploying-azure-web-app-certificate-through-key-vault/ utilizado para implementar los cambios]

Publicado el 25/09/2017 a las 09:43
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
0

De acuerdo con su mensaje de error, supongo que no se puede permitir que el proveedor de recursos 'Microsoft.Web' acceder directamente a la bóveda celeste clave.

Por lo que se enfrentará a que podría tener el suficiente permiso para acceder a la clave de bóveda de error.

Sugiero que podría seguir a continuación los códigos de PowerShell para habilitar el permiso.

Posteriormente, se podría establecer el certificado en aplicación web azul.

Códigos como éste:

Login-AzureRmAccount 
Set-AzureRmContext -SubscriptionId AZURE_SUBSCRIPTION_ID 
Set-AzureRmKeyVaultAccessPolicy -VaultName KEY_VAULT_NAME -ServicePrincipalName abfa0a7c-a6b6-4736-8310-5855508787cd -PermissionsToSecrets get

Posteriormente, se podría llamar a este los códigos para agregar el certificado:

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'}}"

Resultado:

introducir descripción de la imagen aquí

introducir descripción de la imagen aquí

Respondida el 26/09/2017 a las 00:22
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more