Compartir a través de


Publicación de los artefactos del paquete de configuración de máquina personalizado

Antes de comenzar, es aconsejable leer la página de información general de la configuración de máquina.

Los paquetes personalizados .zip de configuración de máquinas deben almacenarse en una ubicación accesible a través de HTTPS por las máquinas administradas. Algunos ejemplos son repositorios de GitHub, repositorios de Azure, Azure Storage o un servidor web dentro del centro de datos privado.

Los paquetes de configuración que admiten Audit y AuditandSet se publican de la misma manera. No es necesario hacer nada especial durante la publicación en función del modo de paquete.

Publicación de un paquete de configuración

La ubicación preferida para almacenar un paquete de configuración es Azure Blob Storage. No hay ningún requisito especial para la cuenta de almacenamiento, pero es una buena idea hospedar el archivo en una región cercana a las máquinas. Si prefiere no hacer público el paquete, puede incluir un token de SAS en la dirección URL o implementar un punto de conexión de servicio para las máquinas de una red privada.

Para publicar el paquete de configuración en el almacenamiento blob de Azure, puede seguir estos pasos, que usan el módulo Az.Storage.

Si no tiene una cuenta de almacenamiento, use el ejemplo siguiente para crear una.

# Creates a new resource group, storage account, and container
$ResourceGroup = '<resource-group-name>'
$Location      = '<location-id>'
New-AzResourceGroup -Name $ResourceGroup -Location $Location

$newAccountParams = @{
    ResourceGroupname = $ResourceGroup
    Location          = $Location
    Name              = '<storage-account-name>'
    SkuName           = 'Standard_LRS'
}
$container = New-AzStorageAccount @newAccountParams |
    New-AzStorageContainer -Name machine-configuration -Permission Blob

Luego, obtenga el contexto de la cuenta de almacenamiento en la que desea almacenar el paquete. Si creó la cuenta de almacenamiento en el ejemplo anterior, puede obtener el contexto a partir del objeto de contenedor de almacenamiento guardado en la variable $container:

$context = $container.Context

Si usa un contenedor de almacenamiento existente, puede utilizar la cadena de conexión del contenedor con el cmdlet New-AzStorageContext:

$connectionString = @(
    'DefaultEndPointsProtocol=https'
    'AccountName=<storage-account-name>'
    'AccountKey=<storage-key-for-the-account>' # ends with '=='
) -join ';'
$context = New-AzStorageContext -ConnectionString $connectionString

A continuación, agregue el paquete de configuración a la cuenta de almacenamiento. En este ejemplo, se carga el archivo ZIP ./MyConfig.zip en el contenedor del blob machine-configuration.

$setParams = @{
    Container = 'machine-configuration'
    File      = './MyConfig.zip'
    Context   = $context
}
$blob = Set-AzStorageBlobContent @setParams
$contentUri = $blob.ICloudBlob.Uri.AbsoluteUri

Nota

Si ejecuta estos ejemplos en Cloud Shell, pero ha creado el archivo ZIP localmente, puede cargar el archivo a Cloud Shell.

Aunque el paso siguiente es opcional, debe agregar un token de firma de acceso compartido (SAS) en la dirección URL para garantizar el acceso seguro al paquete. El siguiente ejemplo genera un token de SAS de blob con acceso de lectura y se devuelve el URI de blob completo con el token de firma de acceso compartido. En este ejemplo, el token tiene un límite de tiempo de tres años.

$startTime = Get-Date
$endTime   = $startTime.AddYears(3)

$tokenParams = @{
    StartTime  = $startTime
    ExpiryTime = $endTime
    Container  = 'machine-configuration'
    Blob       = 'MyConfig.zip'
    Permission = 'r'
    Context    = $context
    FullUri    = $true
}
$contentUri = New-AzStorageBlobSASToken @tokenParams

Importante

Después de crear el token de SAS, tome nota del URI obtenido. No podrá recuperar el token después de crearlo. Solo puede crear nuevos tokens. Para obtener más información sobre los tokens de SAS, consulte Otorgar acceso limitado a recursos de Azure Storage con firmas de acceso compartido (SAS).

Paso siguiente