Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Cuando la plantilla de Azure Resource Manager (plantilla de ARM) se encuentra en una cuenta de almacenamiento, puede restringir el acceso a la plantilla para evitar exponerla públicamente. Para acceder a una plantilla protegida, cree un token de firma de acceso compartido (SAS) para la plantilla y proporcione ese token durante la implementación. En este artículo se explica cómo usar Azure PowerShell o la CLI de Azure para implementar de forma segura una plantilla de ARM con un token de SAS.
Encontrará información sobre cómo proteger y administrar el acceso a sus plantillas de ARM privadas con instrucciones sobre cómo hacer lo siguiente:
- Creación de una cuenta de almacenamiento con contenedor seguro
- Carga de la plantilla en la cuenta de almacenamiento
- Proporcionar un token de SAS durante la implementación
Importante
En lugar de proteger la plantilla privada con un token de SAS, considere la posibilidad de usar especificaciones de plantilla. Con las especificaciones de plantilla, puede compartir las plantillas con otros usuarios de su organización y administrar el acceso a las plantillas a través de RBAC de Azure.
Creación de una cuenta de almacenamiento con contenedor seguro
El siguiente script crea una cuenta de almacenamiento y un contenedor con el acceso público desactivado para la seguridad de la plantilla.
New-AzResourceGroup `
-Name ExampleGroup `
-Location "Central US"
New-AzStorageAccount `
-ResourceGroupName ExampleGroup `
-Name {your-unique-name} `
-Type Standard_LRS `
-Location "Central US"
Set-AzCurrentStorageAccount `
-ResourceGroupName ExampleGroup `
-Name {your-unique-name}
New-AzStorageContainer `
-Name templates `
-Permission Off
Carga de una plantilla privada en la cuenta de almacenamiento
Ahora, está listo para cargar la plantilla en la cuenta de almacenamiento. Proporcione la ruta de acceso a la plantilla que desea utilizar.
Set-AzStorageBlobContent `
-Container templates `
-File c:\Templates\azuredeploy.json
Proporcionar un token de SAS durante la implementación
Para implementar una plantilla privada en una cuenta de almacenamiento, genere un token de SAS e inclúyalo en el URI de la plantilla. Establezca el tiempo de expiración con un margen suficiente para completar la implementación.
Importante
Solo el propietario de la cuenta puede acceder al blob que contiene la plantilla privada. Sin embargo, cuando se crea un token de SAS para el blob, cualquier persona con ese URI puede acceder al blob. Si otro usuario intercepta el URI, ese usuario puede acceder a la plantilla. Un token de SAS es una buena manera de limitar el acceso a las plantillas, pero no debe incluir datos confidenciales, como contraseñas, directamente en la plantilla.
# get the URI with the SAS token
$templateuri = New-AzStorageBlobSASToken `
-Container templates `
-Blob azuredeploy.json `
-Permission r `
-ExpiryTime (Get-Date).AddHours(2.0) -FullUri
# provide URI with SAS token during deployment
New-AzResourceGroupDeployment `
-ResourceGroupName ExampleGroup `
-TemplateUri $templateuri
Para ver un ejemplo del uso de un token de SAS con plantillas vinculadas, consulte Uso de plantillas vinculadas con Azure Resource Manager.
Pasos siguientes
- Para obtener una introducción a la implementación de plantillas, consulte Implementación de recursos con plantillas de ARM y Azure PowerShell.
- Para definir parámetros en plantillas, consulte Creación de plantillas.