Set-AzStorageAccount

Modifica uma conta de armazenamento.

Syntax

Set-AzStorageAccount
   [-ResourceGroupName] <String>
   [-Name] <String>
   [-Force]
   [-SkuName <String>]
   [-AccessTier <String>]
   [-CustomDomainName <String>]
   [-UseSubDomain <Boolean>]
   [-Tag <Hashtable>]
   [-EnableHttpsTrafficOnly <Boolean>]
   [-StorageEncryption]
   [-AssignIdentity]
   [-UserAssignedIdentityId <String>]
   [-KeyVaultUserAssignedIdentityId <String>]
   [-KeyVaultFederatedClientId <String>]
   [-IdentityType <String>]
   [-NetworkRuleSet <PSNetworkRuleSet>]
   [-UpgradeToStorageV2]
   [-EnableAzureActiveDirectoryDomainServicesForFile <Boolean>]
   [-EnableLargeFileShare]
   [-PublishMicrosoftEndpoint <Boolean>]
   [-PublishInternetEndpoint <Boolean>]
   [-AllowBlobPublicAccess <Boolean>]
   [-MinimumTlsVersion <String>]
   [-AllowSharedKeyAccess <Boolean>]
   [-SasExpirationPeriod <TimeSpan>]
   [-KeyExpirationPeriodInDay <Int32>]
   [-AllowCrossTenantReplication <Boolean>]
   [-DefaultSharePermission <String>]
   [-PublicNetworkAccess <String>]
   [-ImmutabilityPeriod <Int32>]
   [-ImmutabilityPolicyState <String>]
   [-EnableSftp <Boolean>]
   [-EnableLocalUser <Boolean>]
   [-AllowedCopyScope <String>]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-RoutingChoice <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzStorageAccount
   [-ResourceGroupName] <String>
   [-Name] <String>
   [-Force]
   [-SkuName <String>]
   [-AccessTier <String>]
   [-CustomDomainName <String>]
   [-UseSubDomain <Boolean>]
   [-Tag <Hashtable>]
   [-EnableHttpsTrafficOnly <Boolean>]
   [-KeyvaultEncryption]
   -KeyName <String>
   [-KeyVersion <String>]
   -KeyVaultUri <String>
   [-AssignIdentity]
   [-UserAssignedIdentityId <String>]
   [-KeyVaultUserAssignedIdentityId <String>]
   [-KeyVaultFederatedClientId <String>]
   [-IdentityType <String>]
   [-NetworkRuleSet <PSNetworkRuleSet>]
   [-UpgradeToStorageV2]
   [-EnableAzureActiveDirectoryDomainServicesForFile <Boolean>]
   [-EnableLargeFileShare]
   [-PublishMicrosoftEndpoint <Boolean>]
   [-PublishInternetEndpoint <Boolean>]
   [-AllowBlobPublicAccess <Boolean>]
   [-MinimumTlsVersion <String>]
   [-AllowSharedKeyAccess <Boolean>]
   [-SasExpirationPeriod <TimeSpan>]
   [-KeyExpirationPeriodInDay <Int32>]
   [-AllowCrossTenantReplication <Boolean>]
   [-DefaultSharePermission <String>]
   [-PublicNetworkAccess <String>]
   [-ImmutabilityPeriod <Int32>]
   [-ImmutabilityPolicyState <String>]
   [-EnableSftp <Boolean>]
   [-EnableLocalUser <Boolean>]
   [-AllowedCopyScope <String>]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-RoutingChoice <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzStorageAccount
   [-ResourceGroupName] <String>
   [-Name] <String>
   [-Force]
   [-SkuName <String>]
   [-AccessTier <String>]
   [-CustomDomainName <String>]
   [-UseSubDomain <Boolean>]
   [-Tag <Hashtable>]
   [-EnableHttpsTrafficOnly <Boolean>]
   [-AssignIdentity]
   [-UserAssignedIdentityId <String>]
   [-KeyVaultUserAssignedIdentityId <String>]
   [-KeyVaultFederatedClientId <String>]
   [-IdentityType <String>]
   [-NetworkRuleSet <PSNetworkRuleSet>]
   [-UpgradeToStorageV2]
   [-EnableLargeFileShare]
   [-PublishMicrosoftEndpoint <Boolean>]
   [-PublishInternetEndpoint <Boolean>]
   [-EnableAzureActiveDirectoryKerberosForFile <Boolean>]
   [-ActiveDirectoryDomainName <String>]
   [-ActiveDirectoryDomainGuid <String>]
   [-AllowBlobPublicAccess <Boolean>]
   [-MinimumTlsVersion <String>]
   [-AllowSharedKeyAccess <Boolean>]
   [-SasExpirationPeriod <TimeSpan>]
   [-KeyExpirationPeriodInDay <Int32>]
   [-AllowCrossTenantReplication <Boolean>]
   [-DefaultSharePermission <String>]
   [-PublicNetworkAccess <String>]
   [-ImmutabilityPeriod <Int32>]
   [-ImmutabilityPolicyState <String>]
   [-EnableSftp <Boolean>]
   [-EnableLocalUser <Boolean>]
   [-AllowedCopyScope <String>]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-RoutingChoice <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzStorageAccount
   [-ResourceGroupName] <String>
   [-Name] <String>
   [-Force]
   [-SkuName <String>]
   [-AccessTier <String>]
   [-CustomDomainName <String>]
   [-UseSubDomain <Boolean>]
   [-Tag <Hashtable>]
   [-EnableHttpsTrafficOnly <Boolean>]
   [-AssignIdentity]
   [-UserAssignedIdentityId <String>]
   [-KeyVaultUserAssignedIdentityId <String>]
   [-KeyVaultFederatedClientId <String>]
   [-IdentityType <String>]
   [-NetworkRuleSet <PSNetworkRuleSet>]
   [-UpgradeToStorageV2]
   [-EnableLargeFileShare]
   [-PublishMicrosoftEndpoint <Boolean>]
   [-PublishInternetEndpoint <Boolean>]
   -EnableActiveDirectoryDomainServicesForFile <Boolean>
   [-ActiveDirectoryDomainName <String>]
   [-ActiveDirectoryNetBiosDomainName <String>]
   [-ActiveDirectoryForestName <String>]
   [-ActiveDirectoryDomainGuid <String>]
   [-ActiveDirectoryDomainSid <String>]
   [-ActiveDirectoryAzureStorageSid <String>]
   [-ActiveDirectorySamAccountName <String>]
   [-ActiveDirectoryAccountType <String>]
   [-AllowBlobPublicAccess <Boolean>]
   [-MinimumTlsVersion <String>]
   [-AllowSharedKeyAccess <Boolean>]
   [-SasExpirationPeriod <TimeSpan>]
   [-KeyExpirationPeriodInDay <Int32>]
   [-AllowCrossTenantReplication <Boolean>]
   [-DefaultSharePermission <String>]
   [-PublicNetworkAccess <String>]
   [-ImmutabilityPeriod <Int32>]
   [-ImmutabilityPolicyState <String>]
   [-EnableSftp <Boolean>]
   [-EnableLocalUser <Boolean>]
   [-AllowedCopyScope <String>]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-RoutingChoice <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

O cmdlet Set-AzStorageAccount modifica uma conta de Armazenamento do Azure. Você pode usar esse cmdlet para modificar o tipo de conta, atualizar um domínio do cliente ou definir marcas em uma conta de Armazenamento.

Exemplos

Exemplo 1: Definir o tipo de conta de armazenamento

Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -SkuName "Standard_RAGRS"

Este comando define o tipo de conta de armazenamento como Standard_RAGRS.

Exemplo 2: Definir um domínio personalizado para uma conta de armazenamento

Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -CustomDomainName "www.contoso.com" -UseSubDomain $true

Este comando define um domínio personalizado para uma conta de armazenamento.

Exemplo 3: Definir o valor da camada de acesso

Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -AccessTier Cool

O comando define o valor da Camada de Acesso como legal.

Exemplo 4: Definir o domínio personalizado e as tags

Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -CustomDomainName "www.domainname.com" -UseSubDomain $true -Tag @{tag0="value0";tag1="value1";tag2="value2"}

O comando define o domínio personalizado e as marcas para uma conta de armazenamento.

Exemplo 5: Definir Encryption KeySource como Keyvault

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 proeprites with KeyVersion, can update account by set KeyVersion to empty
Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -KeyvaultEncryption -KeyName $key.Name -KeyVersion "" -KeyVaultUri $keyVault.VaultUri

Este comando define Encryption KeySource com um novo Keyvault criado. Se quiser habilitar a rotação automática de chaves, não defina keyversion ao definir as propriedades do Keyvault pela primeira vez ou limpe-o definindo as propriedades do keyvault novamente com keyversion como vazio.

Exemplo 6: Definir Encryption KeySource como "Microsoft.Storage"

Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -StorageEncryption

Este comando definiu Encryption KeySource como "Microsoft.Storage"

Exemplo 7: Definir a propriedade NetworkRuleSet de uma conta de armazenamento com JSON

Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -NetworkRuleSet (@{bypass="Logging,Metrics";
    ipRules=(@{IPAddressOrRange="20.11.0.0/16";Action="allow"},
            @{IPAddressOrRange="10.0.0.0/7";Action="allow"});
    virtualNetworkRules=(@{VirtualNetworkResourceId="/subscriptions/s1/resourceGroups/g1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1";Action="allow"},
                        @{VirtualNetworkResourceId="/subscriptions/s1/resourceGroups/g1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/subnet2";Action="allow"});
    defaultAction="allow"})

Este comando define a propriedade NetworkRuleSet de uma conta de armazenamento com JSON

Exemplo 8: Obter a propriedade NetworkRuleSet de uma conta de armazenamento e defini-la para outra conta de armazenamento

$networkRuleSet = (Get-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount").NetworkRuleSet 
Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount2" -NetworkRuleSet $networkRuleSet

Esse primeiro comando obtém a propriedade NetworkRuleSet de uma conta de armazenamento e o segundo comando a define como outra conta de armazenamento

Exemplo 9: Atualizar uma conta de armazenamento com o tipo "Storage" ou "BlobStorage" para uma conta de armazenamento do tipo "StorageV2"

Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -UpgradeToStorageV2

O comando atualizar uma conta de armazenamento com o tipo "Storage" ou "BlobStorage" para uma conta de armazenamento do tipo "StorageV2".

Exemplo 10: Atualize uma conta de Armazenamento habilitando a Autenticação dos Serviços de Domínio Microsoft Entra dos Arquivos do Azure e defina DefaultSharePermission.

$account = Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -EnableAzureActiveDirectoryDomainServicesForFile $true -DefaultSharePermission StorageFileDataSmbShareContributor

$account.AzureFilesIdentityBasedAuth

DirectoryServiceOptions ActiveDirectoryProperties                                                      DefaultSharePermission      
----------------------- -------------------------                                                      ----------------------      
AADDS                   Microsoft.Azure.Commands.Management.Storage.Models.PSActiveDirectoryProperties StorageFileDataSmbShareContributor

O comando atualizar uma conta de armazenamento habilitando a Autenticação dos Serviços de Domínio Microsoft Entra dos Arquivos do Azure.

Exemplo 11: Atualizar uma conta de armazenamento habilitando a Autenticação do Serviço de Domínio Active Directory Arquivos e mostrando a configuração de autenticação Baseada em Identidade de Arquivo

$account = Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -EnableActiveDirectoryDomainServicesForFile $true `
        -ActiveDirectoryDomainName "mydomain.com" `
        -ActiveDirectoryNetBiosDomainName "mydomain.com" `
        -ActiveDirectoryForestName "mydomain.com" `
        -ActiveDirectoryDomainGuid "12345678-1234-1234-1234-123456789012" `
        -ActiveDirectoryDomainSid "S-1-5-21-1234567890-1234567890-1234567890" `
        -ActiveDirectoryAzureStorageSid "S-1-5-21-1234567890-1234567890-1234567890-1234" `
        -ActiveDirectorySamAccountName "samaccountname" `
        -ActiveDirectoryAccountType Computer 
		
$account.AzureFilesIdentityBasedAuth.DirectoryServiceOptions
AD

$account.AzureFilesIdentityBasedAuth.ActiveDirectoryProperties

DomainName        : mydomain.com
NetBiosDomainName : mydomain.com
ForestName        : mydomain.com
DomainGuid        : 12345678-1234-1234-1234-123456789012
DomainSid         : S-1-5-21-1234567890-1234567890-1234567890
AzureStorageSid   : S-1-5-21-1234567890-1234567890-1234567890-1234
SamAccountName    : samaccountname
AccountType       : Computer

O comando atualiza uma conta de armazenamento habilitando a Autenticação do Serviço de Domínio Active Directory Arquivos do Azure e mostra a configuração de autenticação baseada em identidade de arquivo

Exemplo 12: Definir MinimumTlsVersion, AllowBlobPublicAccess e AllowSharedKeyAccess

$account = Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -MinimumTlsVersion TLS1_1 -AllowBlobPublicAccess $false -AllowSharedKeyAccess $true

$account.MinimumTlsVersion
TLS1_1

$account.AllowBlobPublicAccess
False

$a.AllowSharedKeyAccess
True

O comando define MinimumTlsVersion, AllowBlobPublicAccess e AllowSharedKeyAccess e, em seguida, mostra as 3 propriedades da conta

Exemplo 13: Atualizar uma conta de armazenamento com a configuração RoutingPreference

$account = Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -PublishMicrosoftEndpoint $false -PublishInternetEndpoint $true -RoutingChoice InternetRouting

$account.RoutingPreference

RoutingChoice   PublishMicrosoftEndpoints PublishInternetEndpoints
-------------   ------------------------- ------------------------
InternetRouting                     False                     True

$account.PrimaryEndpoints

Blob               : https://mystorageaccount.blob.core.windows.net/
Queue              : https://mystorageaccount.queue.core.windows.net/
Table              : https://mystorageaccount.table.core.windows.net/
File               : https://mystorageaccount.file.core.windows.net/
Web                : https://mystorageaccount.z2.web.core.windows.net/
Dfs                : https://mystorageaccount.dfs.core.windows.net/
MicrosoftEndpoints : 
InternetEndpoints  : {"Blob":"https://mystorageaccount-internetrouting.blob.core.windows.net/","File":"https://mystorageaccount-internetrouting.file.core.windows.net/","Web":"https://mystorageaccount-internetrouting.z2.web.core.windows.net/","Dfs":"https://w
                     eirp3-internetrouting.dfs.core.windows.net/"}

Este comando atualiza uma conta de armazenamento com a configuração RoutingPreference: PublishMicrosoftEndpoint como false, PublishInternetEndpoint como true e RoutingChoice como MicrosoftRouting.

Exemplo 14: Atualizar uma conta de armazenamento com KeyExpirationPeriod e SasExpirationPeriod

$account = Set-AzStorageAccount -ResourceGroupName "myresourcegroup" -Name "mystorageaccount" -KeyExpirationPeriodInDay 5 -SasExpirationPeriod "1.12:05:06" -EnableHttpsTrafficOnly $true

$account.KeyPolicy.KeyExpirationPeriodInDays
5

$account.SasPolicy.SasExpirationPeriod
1.12:05:06

Este comando atualiza uma conta de armazenamento com KeyExpirationPeriod e SasExpirationPeriod e, em seguida, mostra as propriedades relacionadas à conta atualizada.

Exemplo 15: Atualizar uma conta de armazenamento para criptografia Keyvault e acessar Keyvault com identidade atribuída pelo usuário

# 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

Esse comando primeiro cria um cofre de chaves e uma identidade atribuída pelo usuário e, em seguida, atualiza uma conta de armazenamento com criptografia do cofre de chaves, o cofre de acesso ao armazenamento com a identidade atribuída pelo usuário.

Exemplo 16: Atualizar uma conta de armazenamento criptografada do Keyvault, de acessar o Keyvault com identidade atribuída pelo usuário, para acessar o Keyvault com a identidade atribuída pelo sistema

# Assign System identity to the account, and give the system assigned identity acces 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

Esse comando primeiro atribui a identidade do sistema à conta e dá ao sistema acesso de identidade atribuído ao cofre de chaves; em seguida, atualiza a conta de armazenamento para acessar o Keyvault com a identidade atribuída ao sistema.

Exemplo 17: Atualizar o Keyvault e a identidade atribuída ao usuário para acessar o 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

Este comando primeiro atualiza a identidade atribuída ao usuário para acessar o keyvault e, em seguida, atualiza o keyvault para criptografia. Para atualizar o Keyvault e a identidade atribuída ao usuário, precisamos atualizar com as 2 etapas acima.

Exemplo 18: Atualizar uma conta de armazenamento com AllowCrossTenantReplication

$account = Set-AzStorageAccount -ResourceGroupName "myresourcegroup" -Name "mystorageaccount" -AllowCrossTenantReplication $false -EnableHttpsTrafficOnly $true

$account.AllowCrossTenantReplication

False

Este comando atualiza uma conta de armazenamento definindo AllowCrossTenantReplication como false e, em seguida, mostrando as propriedades relacionadas à conta atualizada.

Exemplo 18: Atualizar uma conta de armazenamento habilitando o PublicNetworkAccess

$account = Set-AzStorageAccount -ResourceGroupName "myresourcegroup" -Name "mystorageaccount" -PublicNetworkAccess Enabled

$account.PublicNetworkAccess

Enabled

Este comando atualiza uma conta de armazenamento definindo PublicNetworkAccess como habilitado.

Exemplo 19: Atualizar a política de imutabilidade no nível da conta

$account = Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -ImmutabilityPeriod 2 -ImmutabilityPolicyState Unlocked

$account.ImmutableStorageWithVersioning.Enabled
True

$account.ImmutableStorageWithVersioning.ImmutabilityPolicy

ImmutabilityPeriodSinceCreationInDays State    
------------------------------------- -----    
                                    2 Unlocked

O comando atualiza as propriedades da política de imutabilidade em nível de conta em uma conta de armazenamento existente e mostra o resultado. A conta de armazenamento deve ser criada com habilitar a imutabilidade no nível da conta com o controle de versão. A política de imutabilidade em nível de conta será herdada e aplicada a objetos que não possuem uma política de imutabilidade explícita no nível de objeto.

Exemplo 20: Atualizar uma conta de armazenamento habilitando Sftp e localuser

$account = Set-AzStorageAccount -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount" -EnableSftp $true -EnableLocalUser $true 

$account.EnableSftp
True

$account.EnableLocalUser
True

Este comando atualiza uma conta de armazenamento ativando Sftp e localuser. Para executar o comando com êxito, a conta de armazenamento já deve habilitar o namespace hierárquico.

Exemplo 21: Atualizar uma conta de armazenamento com o Keyvault de outro locatário (acessar Keyvault com FederatedClientId)

# create Storage account with Keyvault encryption (access Keyvault with FederatedClientId), then show properties
$account = Set-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName  `
                -KeyVaultUri $keyVault.VaultUri -KeyName $keyname -KeyVaultUserAssignedIdentityId $useridentityId -KeyVaultFederatedClientId $federatedClientId

$account.Encryption.EncryptionIdentity

EncryptionUserAssignedIdentity                                                                                                      EncryptionFederatedIdentityClientId                                                                                                                 
------------------------------                                                                                                      ----------------------------------- 
/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      : 3/3/2022 2:07:34 AM

Este comando atualiza uma conta de armazenamento com o Keyvault de outro locatário (acesse o Keyvault com FederatedClientId).

Parâmetros

-AccessTier

Especifica a camada de acesso da conta de armazenamento que esse cmdlet modifica. Os valores aceitáveis para este parâmetro são: Hot e Cool. Se você alterar a camada de acesso, isso poderá resultar em cobranças adicionais. Para obter mais informações, consulte Armazenamento de Blobs do Azure: camadas de armazenamento quente e frio. Se a conta de armazenamento tiver Tipo como StorageV2 ou BlobStorage, você poderá especificar o parâmetro AccessTier . Se a conta de armazenamento tiver Tipo como Armazenamento, não especifique o parâmetro AccessTier .

Type:String
Accepted values:Hot, Cool
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ActiveDirectoryAccountType

Especifica o tipo de conta do Active Directory para o Armazenamento do Azure. Os valores possíveis incluem: 'Usuário', 'Computador'.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ActiveDirectoryAzureStorageSid

Especifica o identificador de segurança (SID) para o Armazenamento do Azure. Esse parâmetro deve ser definido quando -EnableActiveDirectoryDomainServicesForFile é definido como true.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ActiveDirectoryDomainGuid

Especifica o GUID do domínio. Esse parâmetro deve ser definido quando -EnableActiveDirectoryDomainServicesForFile é definido como true.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ActiveDirectoryDomainName

Especifica o domínio primário para o qual o servidor DNS do AD é autoritativo. Esse parâmetro deve ser definido quando -EnableActiveDirectoryDomainServicesForFile é definido como true.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ActiveDirectoryDomainSid

Especifica o identificador de segurança (SID). Esse parâmetro deve ser definido quando -EnableActiveDirectoryDomainServicesForFile é definido como true.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ActiveDirectoryForestName

Especifica a floresta do Active Directory a ser obtida. Esse parâmetro deve ser definido quando -EnableActiveDirectoryDomainServicesForFile é definido como true.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ActiveDirectoryNetBiosDomainName

Especifica o nome de domínio NetBIOS. Esse parâmetro deve ser definido quando -EnableActiveDirectoryDomainServicesForFile é definido como true.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ActiveDirectorySamAccountName

Especifica o SAMAccountName do Active Directory para o Armazenamento do Azure.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowBlobPublicAccess

Permitir ou não permitir acesso anônimo a todos os blobs ou contêineres na conta de armazenamento.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowCrossTenantReplication

Obtém ou define permitir ou não a replicação cruzada de objetos de locatário do Microsoft Entra. A interpretação padrão é verdadeira para essa propriedade.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowedCopyScope

Defina restringir a cópia de e para Contas de Armazenamento em um locatário do Microsoft Entra ou com Links Privados para a mesma VNet. Os valores possíveis incluem: 'PrivateLink', 'AAD'

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowSharedKeyAccess

Indica se a conta de armazenamento permite que as solicitações sejam autorizadas com a chave de acesso da conta por meio da Chave Compartilhada. Se false, todas as solicitações, incluindo assinaturas de acesso compartilhado, devem ser autorizadas com o Microsoft Entra ID. O valor padrão é null, que é equivalente a true.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AsJob

Executar cmdlet em segundo plano

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AssignIdentity

Gere e atribua uma nova Identidade de conta de armazenamento para essa conta de armazenamento para uso com serviços de gerenciamento de chaves, como o Azure KeyVault.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CustomDomainName

Especifica o nome do domínio personalizado.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

As credenciais, a conta, o locatário e a assinatura usados para a comunicação com o Azure.

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultSharePermission

Permissão de compartilhamento padrão para usuários que usam a autenticação Kerberos se a função RBAC não for atribuída.

Type:String
Accepted values:None, StorageFileDataSmbShareContributor, StorageFileDataSmbShareReader, StorageFileDataSmbShareElevatedContributor
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableActiveDirectoryDomainServicesForFile

Habilite a Autenticação do Serviço de Domínio Active Directory dos Arquivos do Azure para a conta de armazenamento.

Type:Boolean
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-EnableAzureActiveDirectoryDomainServicesForFile

Habilite a Autenticação do Serviço de Domínio Active Directory dos Arquivos do Azure para a conta de armazenamento.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableAzureActiveDirectoryKerberosForFile

Habilite a Autenticação Kerberos do Serviço de Domínio Active Directory dos Arquivos do Azure para a conta de armazenamento.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableHttpsTrafficOnly

Indica se a conta de armazenamento habilita ou não apenas o tráfego HTTPS.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableLargeFileShare

Indica se a conta de armazenamento pode ou não oferecer suporte a compartilhamentos de arquivos grandes com mais de 5 TiB de capacidade. Depois que a conta estiver habilitada, o recurso não poderá ser desativado. Atualmente, há suporte apenas para os tipos de replicação LRS e ZRS, portanto, as conversões de conta para contas com redundância geográfica não seriam possíveis. Saiba mais em https://go.microsoft.com/fwlink/?linkid=2086047

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableLocalUser

Habilite o recurso de usuários locais para a conta de armazenamento.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableSftp

Habilite o Protocolo de Transferência Segura de Arquivos para a conta de armazenamento.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Força a alteração a ser gravada na conta de armazenamento.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IdentityType

Defina o novo tipo de Identidade da Conta de Armazenamento, a idenetidade é para uso com serviços de gerenciamento de chaves, como o Azure KeyVault.

Type:String
Accepted values:SystemAssigned, UserAssigned, SystemAssignedUserAssigned, None
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ImmutabilityPeriod

O período de imutabilidade para os blobs no contêiner desde a criação da política em dias. Essa propriedade só pode ser alterada quando a conta é criada com '-EnableAccountLevelImmutability'.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ImmutabilityPolicyState

O modo da política. Os valores possíveis incluem: 'Desbloqueado', 'Bloqueado', 'Desativado. O estado desabilitado desabilita a política. O estado desbloqueado permite aumentar e diminuir o tempo de retenção de imutabilidade e também permite alternar a propriedade allowProtectedAppendWrites. O estado bloqueado só permite o aumento do tempo de retenção da imutabilidade. Uma política só pode ser criada em um estado Desabilitado ou Desbloqueado e pode ser alternada entre os dois estados. Somente uma política em um estado Desbloqueado pode fazer a transição para um estado Bloqueado que não pode ser revertido. Essa propriedade só pode ser alterada quando a conta é criada com '-EnableAccountLevelImmutability'.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-KeyExpirationPeriodInDay

O período de expiração da chave desta conta, é preciso para dias.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-KeyName

Se estiver usando -KeyvaultEncryption para habilitar a criptografia com o Cofre da Chave, especifique a propriedade Keyname com essa opção.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-KeyvaultEncryption

Indica se o Microsoft KeyVault deve ou não ser usado para as chaves de criptografia ao usar a Criptografia do Serviço de Armazenamento. Se KeyName, KeyVersion e KeyVaultUri estiverem todos definidos, KeySource será definido como Microsoft.Keyvault se esse parâmetro estiver definido ou não.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-KeyVaultFederatedClientId

Defina ClientId do aplicativo multilocatário a ser usado em conjunto com a identidade atribuída pelo usuário para criptografia do lado do servidor de chaves gerenciadas pelo cliente entre locatários na conta de armazenamento.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-KeyVaultUri

Ao usar a Criptografia do Cofre de Chaves especificando o parâmetro -KeyvaultEncryption, use essa opção para especificar o URI para o Cofre de Chaves.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-KeyVaultUserAssignedIdentityId

Defina a ID do recurso para a Identidade atribuída ao usuário usada para acessar o Cofre da Chave do Azure da Criptografia de Conta de Armazenamento, a ID deve estar no UserAssignIdentityId da conta de armazenamento.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-KeyVersion

Ao usar a Criptografia do Cofre de Chaves especificando o parâmetro -KeyvaultEncryption, use essa opção para especificar o URI para a Versão da Chave.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MinimumTlsVersion

A versão mínima do TLS a ser permitida em solicitações de armazenamento.

Type:String
Accepted values:TLS1_0, TLS1_1, TLS1_2
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Especifica o nome da conta de armazenamento a ser modificada.

Type:String
Aliases:StorageAccountName, AccountName
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NetworkRuleSet

NetworkRuleSet é usado para definir um conjunto de regras de configuração para firewalls e redes virtuais, bem como para definir valores para propriedades de rede, como serviços permitidos para ignorar as regras e como lidar com solicitações que não correspondem a nenhuma das regras definidas.

Type:PSNetworkRuleSet
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PublicNetworkAccess

Permitir ou não permitir acesso à rede pública à Conta de Armazenamento.Os valores possíveis incluem: 'Habilitado', 'Desabilitado'.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PublishInternetEndpoint

Indica se os pontos de extremidade de armazenamento de roteamento da Internet devem ser publicados

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PublishMicrosoftEndpoint

Indica se os pontos de extremidade de armazenamento de roteamento da Microsoft devem ser publicados

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

Especifica o nome do grupo de recursos no qual modificar a conta de armazenamento.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-RoutingChoice

A Escolha de Roteamento define o tipo de roteamento de rede escolhido pelo usuário. Os valores possíveis incluem: 'MicrosoftRouting', 'InternetRouting'

Type:String
Accepted values:MicrosoftRouting, InternetRouting
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SasExpirationPeriod

O período de expiração SAS desta conta, é um período de tempo e preciso para segundos.

Type:TimeSpan
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkuName

Especifica o nome da SKU da conta de armazenamento. Os valores aceitáveis para esse parâmetro são:

  • Standard_LRS - Armazenamento localmente redundante.
  • Standard_ZRS - Armazenamento com redundância de zona.
  • Standard_GRS - Armazenamento com redundância geográfica.
  • Standard_RAGRS - Acesso de leitura ao armazenamento com redundância geográfica.
  • Premium_LRS - Armazenamento premium com redundância local.
  • Standard_GZRS - Armazenamento com redundância geográfica de zona.
  • Standard_RAGZRS - Acesso de leitura ao armazenamento com redundância geográfica de zona. Não é possível alterar Standard_ZRS e tipos de Premium_LRS para outros tipos de conta. Não é possível alterar outros tipos de conta para Standard_ZRS ou Premium_LRS.
Type:String
Aliases:StorageAccountType, AccountType, Type
Accepted values:Standard_LRS, Standard_ZRS, Standard_GRS, Standard_RAGRS, Premium_LRS, Standard_GZRS, Standard_RAGZRS
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-StorageEncryption

Indica se a criptografia da conta de armazenamento deve ou não ser definida para usar chaves gerenciadas pela Microsoft.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Tag

Pares chave-valor na forma de uma tabela de hash definida como tags no servidor. Por exemplo: @{key0="value0"; chave1=$null; key2="valor2"}

Type:Hashtable
Aliases:Tags
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-UpgradeToStorageV2

Atualize o tipo de conta de armazenamento de armazenamento ou BlobStorage para StorageV2.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UserAssignedIdentityId

Defina ids de recurso para a nova Identidade atribuída ao usuário da Conta de Armazenamento, a identidade será usada com serviços de gerenciamento de chaves, como o Azure KeyVault.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseSubDomain

Indica se a validação indireta do CName deve ser habilitada.

Type:Nullable<T>[Boolean]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

String

Hashtable

Saídas

PSStorageAccount