Sdílet prostřednictvím


Publikování artefaktů vlastního konfiguračního balíčku počítače

Než začnete, je vhodné si přečíst stránku s přehledem konfigurace počítače.

Vlastní .zip balíčky konfigurace počítače musí být uložené v umístění, které jsou přístupné přes PROTOKOL HTTPS spravovanými počítači. Mezi příklady patří úložiště GitHub, úložiště Azure, úložiště Azure nebo webový server v rámci vašeho privátního datacentra.

Konfigurační balíčky, které podporují Audit a AuditandSet jsou publikovány stejným způsobem. Při publikování na základě režimu balíčku nemusíte dělat nic zvláštního.

Publikování konfiguračního balíčku

Upřednostňovaným umístěním pro uložení konfiguračního balíčku je Azure Blob Storage. Pro účet úložiště nejsou žádné zvláštní požadavky, ale je vhodné soubor hostovat v oblasti blízko počítačů. Pokud nechcete balíček zveřejnit, můžete do adresy URL zahrnout token SAS nebo implementovat koncový bod služby pro počítače v privátní síti.

Pokud chcete publikovat konfigurační balíček do úložiště objektů blob v Azure, můžete postupovat podle těchto kroků, které používají modul Az.Storage .

Pokud účet úložiště nemáte, vytvořte ho pomocí následujícího příkladu.

# 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

Dále získejte kontext účtu úložiště, do kterého chcete balíček uložit. Pokud jste účet úložiště vytvořili v předchozím příkladu, můžete získat kontext z objektu kontejneru úložiště uloženého $container v proměnné:

$context = $container.Context

Pokud používáte existující kontejner úložiště, můžete použít připojovací řetězec kontejneru s rutinouNew-AzStorageContext:

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

Dále přidejte konfigurační balíček do účtu úložiště. Tento příklad nahraje soubor ./MyConfig.zip ZIP do kontejneru machine-configurationobjektů blob .

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

Poznámka:

Pokud tyto příklady spouštíte v CloudShellu, ale soubor ZIP jste vytvořili místně, můžete ho nahrát do CloudShellu.

I když je tento další krok volitelný, měli byste do adresy URL přidat token sdíleného přístupového podpisu (SAS), abyste zajistili zabezpečený přístup k balíčku. Následující příklad vygeneruje token SAS objektu blob s přístupem pro čtení a vrátí úplný identifikátor URI objektu blob s tokenem sdíleného přístupového podpisu. V tomto příkladu má token časový limit 3 roky.

$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

Důležité

Po vytvoření tokenu SAS si poznamenejte vrácený identifikátor URI. Po vytvoření tokenu ho nemůžete načíst. Můžete vytvářet pouze nové tokeny. Další informace o tokenech SAS najdete v tématu Udělení omezeného přístupu k prostředkům Azure Storage pomocí sdílených přístupových podpisů (SAS).

Další krok