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-configuration
objektů 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).