Geheimen beveiligen in Azure PowerShell

Wanneer u Azure resources beheert met Azure PowerShell, bevat de uitvoer van opdrachten mogelijk gevoelige informatie die u moet beveiligen. Azure PowerShell kan bijvoorbeeld wachtwoorden, tokens of sleutels weergeven in de uitvoer wanneer u ze maakt. Sommige opdrachten kunnen ook de uitvoer opslaan in logboekbestanden. Dit scenario is vaak het geval bij het werken met GitHub Actions of Azure DevOps.

Inzicht in het risico

Het is essentieel om geheimen en gevoelige informatie te beveiligen. Wanneer ze verkeerd worden verwerkt, kunnen ze toegankelijk worden voor onbevoegde gebruikers. Gebruikersfouten, zoals onjuist geconfigureerde scripts of het invoeren van geheimen in tekst zonder opmaak als waarden voor parameters, kunnen gevoelige details beschikbaar maken in logboeken, opdrachtgeschiedenis of versiebeheersystemen.

Waarschuwingsbericht

Azure PowerShell geeft standaard een waarschuwingsbericht weer vanaf versie 12.0.0 om gevoelige informatie te beveiligen wanneer er een mogelijk geheim wordt geïdentificeerd in de uitvoer van een opdracht.

Het waarschuwingsbericht uitschakelen

In het volgende voorbeeld wordt de Update-AzConfig cmdlet gebruikt om het waarschuwingsbericht uit te schakelen.

Update-AzConfig -DisplaySecretsWarning $false

U kunt de $Env:AZURE_CLIENTS_SHOW_SECRETS_WARNING omgevingsvariabele ook gebruiken om het waarschuwingsbericht uit te schakelen.

Set-Item -Path Env:\AZURE_CLIENTS_SHOW_SECRETS_WARNING -Value $false

Overgang van tekenreeksen naar SecureStrings

Om de beveiliging te verbeteren en het risico op referentielekken te verminderen, is het standaarduitvoertype van de Get-AzAccessToken cmdlet gewijzigd van een tekst zonder opmaak String in een SecureString, te beginnen met Az.Accounts versie 5.0.0 en Az versie 14.0.0.

Toegangstokens zijn gevoelige referenties die toegang verlenen tot Azure resources. Als u ze retourneert als tekst zonder opmaak, neemt het risico op onbedoelde blootstelling in logboeken, transcripties of interactieve sessies toe. Door over te schakelen naar SecureString, helpt de cmdlet voorkomen dat tokens onveilig worden weergegeven of opgeslagen.

Als voor uw scenario het token in tekst zonder opmaak is vereist, wat sterk wordt afgeraden, kunt u het SecureString handmatig converteren. Zie Hoe kan ik een SecureString converteren naar tekst zonder opmaak in PowerShell voor hulp.