Cmdleten Set-AzStorageAccount ändrar ett Azure Storage-konto.
Du kan använda den här cmdleten för att ändra kontotypen, uppdatera en kunddomän eller ange taggar för ett lagringskonto.
Kommandot anger den anpassade domänen och taggarna för ett lagringskonto.
Exempel 5: Ange Krypteringsnyckelkälla till Nyckelvalv
Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -AssignIdentity
$account = Get-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount"
$keyVault = New-AzKeyVault -VaultName "MyKeyVault" -ResourceGroupName "MyResourceGroup" -Location "EastUS2"
$key = Add-AzKeyVaultKey -VaultName "MyKeyVault" -Name "MyKey" -Destination 'Software'
Set-AzKeyVaultAccessPolicy -VaultName "MyKeyVault" -ObjectId $account.Identity.PrincipalId -PermissionsToKeys wrapkey,unwrapkey,get
# In case to enable key auto rotation, don't set KeyVersion
Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -KeyvaultEncryption -KeyName $key.Name -KeyVersion $key.Version -KeyVaultUri $keyVault.VaultUri
# In case to enable key auto rotation after set keyvault properties with KeyVersion, can update account by set KeyVersion to empty
Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -KeyvaultEncryption -KeyName $key.Name -KeyVersion "" -KeyVaultUri $keyVault.VaultUri
Det här kommandot anger Encryption KeySource med en ny skapad Keyvault.
Om du vill aktivera automatisk nyckelrotering ska du inte ange keyversion när du anger Keyvault-egenskaper för första gången, eller rensa den genom att ange keyvault-egenskaper igen med keyversion som tom.
Exempel 6: Ange Krypteringsnyckelkälla till "Microsoft.Storage"
Kommandot uppdaterar ett lagringskonto genom att aktivera Azure Files Microsoft Entra Domain Services-autentisering.
Exempel 11: Uppdatera ett lagringskonto genom att aktivera Files Active Directory Domain Service Authentication och visa sedan inställningen Filidentitetsbaserad autentisering
Kommandot uppdaterar ett lagringskonto genom att aktivera Azure Files Active Directory Domain Service-autentisering och visar sedan inställningen Filidentitetsbaserad autentisering
Exempel 12: Ange MinimumTlsVersion, AllowBlobPublicAccess och AllowSharedKeyAccess
Det här kommandot uppdaterar ett lagringskonto med inställningen RoutingPreference: PublishMicrosoftEndpoint som false, PublishInternetEndpoint as true och RoutingChoice som MicrosoftRouting.
Exempel 14: Uppdatera ett lagringskonto med KeyExpirationPeriod och SasExpirationPeriod med SasExpirationAction
Det här kommandot uppdaterar ett lagringskonto med KeyExpirationPeriod och SasExpirationPeriod med SasExpirationAction och visar sedan de uppdaterade kontorelaterade egenskaperna.
Exempel 15: Uppdatera ett lagringskonto till Keyvault-kryptering och få åtkomst till Keyvault med användartilldelad identitet
# Create KeyVault (no need if using exist keyvault)
$keyVault = New-AzKeyVault -VaultName $keyvaultName -ResourceGroupName $resourceGroupName -Location eastus2euap -EnablePurgeProtection
$key = Add-AzKeyVaultKey -VaultName $keyvaultName -Name $keyname -Destination 'Software'
# create user assigned identity and grant access to keyvault (no need if using exist user assigned identity)
$userId = New-AzUserAssignedIdentity -ResourceGroupName $resourceGroupName -Name $userIdName
Set-AzKeyVaultAccessPolicy -VaultName $keyvaultName -ResourceGroupName $resourceGroupName -ObjectId $userId.PrincipalId -PermissionsToKeys get,wrapkey,unwrapkey -BypassObjectIdValidation
$useridentityId= $userId.Id
# Update Storage account with Keyvault encryption and access Keyvault with user assigned identity, then show properties
$account = Set-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName `
-IdentityType UserAssigned -UserAssignedIdentityId $useridentityId `
-KeyVaultUri $keyVault.VaultUri -KeyName $keyname -KeyVaultUserAssignedIdentityId $useridentityId
$account.Encryption.EncryptionIdentity.EncryptionUserAssignedIdentity
/subscriptions/{subscription-id}/resourceGroups/myresourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuserid
$account.Encryption.KeyVaultProperties
KeyName : wrappingKey
KeyVersion :
KeyVaultUri : https://mykeyvault.vault.azure.net:443
CurrentVersionedKeyIdentifier : https://mykeyvault.vault.azure.net/keys/wrappingKey/8e74036e0d534e58b3bd84b319e31d8f
LastKeyRotationTimestamp : 4/12/2021 8:17:57 AM
Det här kommandot skapar först en keyvault och en användartilldelad identitet och uppdaterar sedan ett lagringskonto med keyvault-kryptering, åtkomstnyckeln för lagringsåtkomst med den användartilldelade identiteten.
Exempel 16: Uppdatera ett Keyvault-krypterat lagringskonto, från åtkomst till Keyvault med användartilldelad identitet, för att få åtkomst till Keyvault med systemtilldelad identitet
# Assign System identity to the account, and give the system assigned identity access to the keyvault
$account = Set-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName -IdentityType SystemAssignedUserAssigned
Set-AzKeyVaultAccessPolicy -VaultName $keyvaultName -ResourceGroupName $resourceGroupName -ObjectId $account.Identity.PrincipalId -PermissionsToKeys get,wrapkey,unwrapkey -BypassObjectIdValidation
# Update account from access Keyvault with user assigned identity to access Keyvault with system assigned identity
$account = Set-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName -IdentityType SystemAssignedUserAssigned -KeyName $keyname -KeyVaultUri $keyvaultUri -KeyVaultUserAssignedIdentityId ""
# EncryptionUserAssignedIdentity is empty, so the account access keyvault with system assigned identity
$account.Encryption.EncryptionIdentity
EncryptionUserAssignedIdentity
------------------------------
$account.Encryption.KeyVaultProperties
KeyName : wrappingKey
KeyVersion :
KeyVaultUri : https://mykeyvault.vault.azure.net:443
CurrentVersionedKeyIdentifier : https://mykeyvault.vault.azure.net/keys/wrappingKey/8e74036e0d534e58b3bd84b319e31d8f
LastKeyRotationTimestamp : 4/12/2021 8:17:57 AM
Det här kommandot tilldelar först Systemidentitet till kontot och ger systemet tilldelad identitet åtkomst till keyvault. uppdaterar sedan Lagringskontot för att få åtkomst till Keyvault med systemtilldelad identitet.
Exempel 17: Uppdatera både Keyvault och den användartilldelade identiteten för att få åtkomst till keyvault
# Update to another user assigned identity
$account = Set-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName -IdentityType SystemAssignedUserAssigned -UserAssignedIdentityId $useridentity2 -KeyVaultUserAssignedIdentityId $useridentity2
# Update to encrypt with another keyvault
$account = Set-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName -KeyVaultUri $keyvaultUri2 -KeyName $keyname2 -KeyVersion $keyversion2
Det här kommandot uppdaterar först den användartilldelade identiteten för åtkomst till keyvault och uppdaterar sedan nyckelvalvet för kryptering.
För att uppdatera både Keyvault och den användartilldelade identiteten behöver vi uppdatera med ovanstående 2 steg.
Exempel 18: Uppdatera ett lagringskonto med AllowCrossTenantReplication
Det här kommandot uppdaterar ett lagringskonto genom att ange AllowCrossTenantReplication till false och visar sedan de uppdaterade kontorelaterade egenskaperna.
Exempel 18: Uppdatera ett lagringskonto genom att aktivera PublicNetworkAccess
Kommandot uppdaterar principegenskaper på kontonivå för ett befintligt lagringskonto och visar resultatet.
Lagringskontot måste skapas med aktivera oföränderlighet på kontonivå med versionshantering.
Principen för oföränderlighet på kontonivå ärvs och tillämpas på objekt som inte har en explicit oföränderlighetsprincip på objektnivå.
Exempel 20: Uppdatera ett lagringskonto genom att aktivera Sftp och localuser
Det här kommandot uppdaterar ett lagringskonto genom att aktivera Sftp och localuser.
Om du vill köra kommandot korrekt bör lagringskontot redan aktivera hierarkiskt namnområde.
Exempel 21: Uppdatera ett lagringskonto med Keyvault från en annan klientorganisation (åtkomst till Keyvault med FederatedClientId)
Det här kommandot uppdaterar ett lagringskonto genom att ange Zon till 1 och ZonePlacementPolicy till Valfri och visar sedan de uppdaterade kontorelaterade egenskaperna.
Parametrar
-AccessTier
Anger åtkomstnivån för lagringskontot som den här cmdleten ändrar.
De acceptabla värdena för den här parametern är: Frekvent och Lågfrekvent.
Om du ändrar åtkomstnivån kan det leda till ytterligare avgifter. Mer information finns i Azure Blob Storage: Frekvent och lågfrekvent lagringsnivå.
Om lagringskontot har Kind as StorageV2 eller BlobStorage kan du ange parametern AccessTier .
Om lagringskontot har Typ som lagring ska du inte ange parametern AccessTier .
Anger säkerhetsidentifieraren (SID) för Azure Storage. Den här parametern måste anges när -EnableActiveDirectoryDomainServicesForFile är inställd på true.
Anger den primära domän som AD DNS-servern är auktoritativ för. Den här parametern måste anges när -EnableActiveDirectoryDomainServicesForFile är inställd på true.
Ange begränsa kopiering till och från lagringskonton i en Microsoft Entra-klientorganisation eller med privata länkar till samma virtuella nätverk. Möjliga värden är: "PrivateLink", "AAD"
Anger om lagringskontot tillåter att begäranden auktoriseras med kontoåtkomstnyckeln via delad nyckel. Om det är falskt måste alla begäranden, inklusive signaturer för delad åtkomst, auktoriseras med Microsoft Entra-ID. Standardvärdet är null, vilket motsvarar true.
Anger om lagringskontot kan ha stöd för stora filresurser med mer än 5 TiB-kapacitet.
När kontot har aktiverats kan funktionen inte inaktiveras.
För närvarande stöds endast för LRS- och ZRS-replikeringstyper, och därför skulle kontokonverteringar till geo-redundanta konton inte vara möjliga.
Läs mer i https://go.microsoft.com/fwlink/?linkid=2086047
Oföränderlighetsperioden för blobarna i containern sedan principen skapades i dagar.
Den här egenskapen kan bara ändras när kontot skapas med "-EnableAccountLevelImmutability".
Principens läge. Möjliga värden är: 'Olåst', 'Låst', 'Inaktiverad.
Inaktiverat tillstånd inaktiverar principen.
Olåst tillstånd gör det möjligt att öka och minska oföränderlig kvarhållningstid och även tillåta egenskapen allowProtectedAppendWrites.
Låst tillstånd tillåter endast ökning av oföränderlig kvarhållningstid.
En princip kan bara skapas i ett inaktiverat eller upplåst tillstånd och kan växlas mellan de två tillstånden. Endast en princip i ett olåst tillstånd kan övergå till ett låst tillstånd som inte kan återställas.
Den här egenskapen kan bara ändras när kontot skapas med "-EnableAccountLevelImmutability".
Anger om du vill använda Microsoft KeyVault för krypteringsnycklarna när du använder Kryptering av lagringstjänst.
Om KeyName, KeyVersion och KeyVaultUri har angetts anges KeySource till Microsoft.Keyvault oavsett om den här parametern har angetts eller inte.
Ange ClientId för programmet för flera klientorganisationer som ska användas tillsammans med den användartilldelade identiteten för kryptering mellan klientorganisationer med kundhanterade nycklar på serversidan på lagringskontot.
Ange resurs-ID för användartilldelad identitet som används för åtkomst till Azure KeyVault för lagringskontokryptering. ID:t måste anges i lagringskontots UserAssignIdentityId.
När du använder Key Vault Encryption genom att ange parametern -KeyvaultEncryption använder du det här alternativet för att ange URI:n till nyckelversionen.
NetworkRuleSet används för att definiera en uppsättning konfigurationsregler för brandväggar och virtuella nätverk, samt för att ange värden för nätverksegenskaper som tjänster som tillåts kringgå reglerna och hur du hanterar begäranden som inte matchar någon av de definierade reglerna.
Åtgärden som ska utföras när SasExpirationPeriod överträds. Åtgärden "Log" kan användas i granskningssyfte och åtgärden Blockera kan användas för att blockera och neka användningen av SAS-token som inte följer sas-principens giltighetstid.
Standard_RAGZRS – Geo-redundant zonredundant lagring med läsåtkomst.
StandardV2_LRS – Lokalt redundant lagring för File Provision v2.
StandardV2_GRS – Geo-redundant lagring för File Provision v2.
StandardV2_ZRS – Zonredundant lagring för File Provision v2.
StandardV2_GZRS – Geo-redundant zonredundant lagring för File Provision v2.
PremiumV2_LRS – Lokalt redundant Premium-lagring för File Provision v2.
PremiumV2_ZRS – Premium zone-redundant lagring för File Provision v2.
Du kan inte ändra Standard_ZRS och Premium_LRS typer till andra kontotyper.
Du kan inte ändra andra kontotyper till Standard_ZRS eller Premium_LRS.
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.
Källan för det här innehållet finns på GitHub, där du även kan skapa och granska ärenden och pull-begäranden. Se vår deltagarguide för mer information.