Set-AzStorageAccount

Modifica una cuenta de almacenamiento.

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

El cmdlet Set-AzStorageAccount modifica una cuenta de Azure Storage. Puede usar este cmdlet para modificar el tipo de cuenta, actualizar un dominio de cliente o establecer etiquetas en una cuenta de almacenamiento.

Ejemplos

Ejemplo 1: Establecimiento del tipo de cuenta de almacenamiento

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

Este comando establece el tipo de cuenta de almacenamiento en Standard_RAGRS.

Ejemplo 2: Establecimiento de un dominio personalizado para una cuenta de almacenamiento

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

Este comando establece un dominio personalizado para una cuenta de Storage.

Ejemplo 3: Establecimiento del valor del nivel de acceso

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

El comando establece que el valor de Nivel de acceso sea esporádico.

Ejemplo 4: Establecimiento del dominio y las etiquetas personalizados

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

El comando establece el dominio personalizado y las etiquetas de una cuenta de almacenamiento.

Ejemplo 5: Establecimiento de KeySource de cifrado en 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 establece Encryption KeySource con un nuevo keyvault creado. Si desea habilitar la rotación automática de claves, no establezca keyversion cuando establezca las propiedades de Keyvault por primera vez o limpielas de nuevo mediante el establecimiento de propiedades de keyvault con keyversion como vacía.

Ejemplo 6: Establecer KeySource de cifrado en "Microsoft.Storage"

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

Este comando establece Encryption KeySource en "Microsoft.Storage"

Ejemplo 7: Establecimiento de la propiedad NetworkRuleSet de una cuenta de almacenamiento con 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 establece la propiedad NetworkRuleSet de una cuenta de almacenamiento con JSON.

Ejemplo 8: Obtener la propiedad NetworkRuleSet de una cuenta de almacenamiento y establecerla en otra cuenta de almacenamiento

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

Este primer comando obtiene la propiedad NetworkRuleSet de una cuenta de almacenamiento y el segundo comando lo establece en otra cuenta de almacenamiento.

Ejemplo 9: Actualización de una cuenta de almacenamiento con el tipo "Storage" o "BlobStorage" a la cuenta de almacenamiento de tipo "StorageV2"

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

El comando actualiza una cuenta de almacenamiento con el tipo "Storage" o "BlobStorage" a la cuenta de almacenamiento de tipo "StorageV2".

Ejemplo 10: Actualice una cuenta de almacenamiento habilitando la autenticación de Microsoft Entra Domain Services de Azure Files y establezca 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

El comando actualiza una cuenta de Storage habilitando la autenticación de Microsoft Entra Domain Services de Azure Files.

Ejemplo 11: Actualizar una cuenta de almacenamiento habilitando La autenticación de servicio de archivos Dominio de Active Directory y, a continuación, muestra la configuración de autenticación basada en identidad de archivo

$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

El comando actualiza una cuenta de almacenamiento habilitando Azure Files Dominio de Active Directory Service Authentication y, a continuación, muestra la configuración de autenticación basada en identidad de archivo.

Ejemplo 12: Establecer MinimumTlsVersion, AllowBlobPublicAccess y 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

El comando establece MinimumTlsVersion, AllowBlobPublicAccess y AllowSharedKeyAccess y, a continuación, muestra las 3 propiedades de la cuenta.

Ejemplo 13: Actualización de una cuenta de almacenamiento con la configuración 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 actualiza una cuenta de almacenamiento con la configuración RoutingPreference: PublishMicrosoftEndpoint como false, PublishInternetEndpoint como true y RoutingChoice como MicrosoftRouting.

Ejemplo 14: Actualización de una cuenta de almacenamiento con KeyExpirationPeriod y 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 actualiza una cuenta de Storage con KeyExpirationPeriod y SasExpirationPeriod y, a continuación, muestra las propiedades relacionadas con la cuenta actualizada.

Ejemplo 15: Actualización de una cuenta de almacenamiento al cifrado de Keyvault y acceso a Keyvault con la identidad asignada por el usuario

# 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

Este comando crea primero un almacén de claves y una identidad asignada por el usuario y, a continuación, actualiza una cuenta de almacenamiento con cifrado de keyvault, el almacén de claves de acceso de acceso de almacenamiento con la identidad asignada por el usuario.

Ejemplo 16: Actualización de una cuenta de almacenamiento cifrada de Keyvault, desde el acceso a Keyvault con la identidad asignada por el usuario, para acceder a Keyvault con la identidad asignada por el 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

Este comando asigna primero la identidad del sistema a la cuenta y concede al sistema acceso de identidad asignado al almacén de claves; a continuación, actualiza la cuenta de almacenamiento para acceder a Keyvault con la identidad asignada por el sistema.

Ejemplo 17: actualización de Keyvault y la identidad asignada por el usuario para acceder al almacén de claves

# 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 actualiza primero la identidad asignada por el usuario para acceder a keyvault y, a continuación, actualiza el almacén de claves para el cifrado. Para actualizar tanto Keyvault como la identidad asignada por el usuario, necesitamos actualizar con los dos pasos anteriores.

Ejemplo 18: Actualización de una cuenta de almacenamiento con AllowCrossTenantReplication

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

$account.AllowCrossTenantReplication

False

Este comando actualiza una cuenta de almacenamiento estableciendo AllowCrossTenantReplication en false y, a continuación, muestra las propiedades relacionadas con la cuenta actualizada.

Ejemplo 18: Actualización de una cuenta de almacenamiento mediante la habilitación de PublicNetworkAccess

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

$account.PublicNetworkAccess

Enabled

Este comando actualiza una cuenta de almacenamiento estableciendo PublicNetworkAccess como habilitado.

Ejemplo 19: Actualización de la directiva de inmutabilidad de nivel de cuenta

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

$account.ImmutableStorageWithVersioning.Enabled
True

$account.ImmutableStorageWithVersioning.ImmutabilityPolicy

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

El comando actualiza las propiedades de la directiva de inmutabilidad de nivel de cuenta en una cuenta de almacenamiento existente y muestra el resultado. La cuenta de almacenamiento debe crearse con habilitar la inmutabilidad de nivel de cuenta con control de versiones. La directiva de inmutabilidad de nivel de cuenta se heredará y se aplicará a los objetos que no poseen una directiva de inmutabilidad explícita en el nivel de objeto.

Ejemplo 20: Actualización de una cuenta de almacenamiento mediante la habilitación de Sftp y localuser

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

$account.EnableSftp
True

$account.EnableLocalUser
True

Este comando actualiza una cuenta de almacenamiento habilitando Sftp y localuser. Para ejecutar el comando correctamente, la cuenta de almacenamiento ya debe habilitar el espacio de nombres jerárquico.

Ejemplo 21: Actualización de una cuenta de almacenamiento con Keyvault desde otro inquilino (acceda a Keyvault con 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 actualiza una cuenta de almacenamiento con Keyvault desde otro inquilino (accede a Keyvault con FederatedClientId).

Parámetros

-AccessTier

Especifica el nivel de acceso de la cuenta de almacenamiento que modifica este cmdlet. Los valores aceptables para este parámetro son: Frecuente y Esporádico. Si cambia el nivel de acceso, puede dar lugar a cargos adicionales. Para más información, consulte Azure Blob Storage: niveles de almacenamiento frecuente y esporádico. Si la cuenta de almacenamiento tiene kind as StorageV2 o BlobStorage, puede especificar el parámetro AccessTier . Si la cuenta de almacenamiento tiene kind as Storage, no especifique el 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 el tipo de cuenta de Active Directory para Azure Storage. Entre los valores posibles se incluyen: "Usuario", "Equipo".

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

-ActiveDirectoryAzureStorageSid

Especifica el identificador de seguridad (SID) para Azure Storage. Este parámetro debe establecerse cuando -EnableActiveDirectoryDomainServicesForFile está establecido en true.

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

-ActiveDirectoryDomainGuid

Especifica el GUID de dominio. Este parámetro debe establecerse cuando -EnableActiveDirectoryDomainServicesForFile está establecido en true.

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

-ActiveDirectoryDomainName

Especifica el dominio principal para el que el servidor DNS de AD es autoritativo. Este parámetro debe establecerse cuando -EnableActiveDirectoryDomainServicesForFile está establecido en true.

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

-ActiveDirectoryDomainSid

Especifica el identificador de seguridad (SID). Este parámetro debe establecerse cuando -EnableActiveDirectoryDomainServicesForFile está establecido en true.

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

-ActiveDirectoryForestName

Especifica el bosque de Active Directory que se va a obtener. Este parámetro debe establecerse cuando -EnableActiveDirectoryDomainServicesForFile está establecido en true.

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

-ActiveDirectoryNetBiosDomainName

Especifica el nombre de dominio netBIOS. Este parámetro debe establecerse cuando -EnableActiveDirectoryDomainServicesForFile está establecido en true.

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

-ActiveDirectorySamAccountName

Especifica el SAMAccountName de Active Directory para Azure Storage.

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

-AllowBlobPublicAccess

Permitir o denegar el acceso anónimo a todos los blobs o contenedores de la cuenta de almacenamiento.

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

-AllowCrossTenantReplication

Obtiene o establece la replicación de objetos de inquilino de Microsoft Entra o no permitida. La interpretación predeterminada es true para esta propiedad.

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

-AllowedCopyScope

Establezca restringir la copia hacia y desde cuentas de almacenamiento dentro de un inquilino de Microsoft Entra o con vínculos privados a la misma red virtual. Los valores posibles son: "PrivateLink", "AAD"

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

-AllowSharedKeyAccess

Indica si la cuenta de almacenamiento permite que las solicitudes se autoricen con la clave de acceso de la cuenta a través de la clave compartida. Si es false, todas las solicitudes, incluidas las firmas de acceso compartido, deben estar autorizadas con el identificador de Microsoft Entra. El valor predeterminado es NULL, que es equivalente a true.

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

-AsJob

Ejecución del cmdlet en segundo plano

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

-AssignIdentity

Genere y asigne una nueva identidad de cuenta de almacenamiento para esta cuenta de Storage para su uso con servicios de administración de claves como Azure KeyVault.

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

-Confirm

Le solicita su confirmación antes de ejecutar el cmdlet.

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

-CustomDomainName

Especifica el nombre del dominio personalizado.

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

-DefaultProfile

Credenciales, cuenta, inquilino y suscripción usados para la comunicación con Azure.

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

-DefaultSharePermission

Permiso de recurso compartido predeterminado para los usuarios que usan la autenticación Kerberos si no se asigna el rol RBAC.

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 Azure Files Dominio de Active Directory Service Authentication para la cuenta de almacenamiento.

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

-EnableAzureActiveDirectoryDomainServicesForFile

Habilite Azure Files Dominio de Active Directory Service Authentication para la cuenta de almacenamiento.

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

-EnableAzureActiveDirectoryKerberosForFile

Habilite la autenticación Kerberos del servicio Kerberos de Azure Files Dominio de Active Directory para la cuenta de almacenamiento.

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

-EnableHttpsTrafficOnly

Indica si la cuenta de almacenamiento solo habilita el tráfico HTTPS.

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

-EnableLargeFileShare

Indica si la cuenta de almacenamiento puede admitir recursos compartidos de archivos grandes con más de 5 TiB. Una vez habilitada la cuenta, la característica no se puede deshabilitar. Actualmente solo se admite para los tipos de replicación LRS y ZRS, por lo que no sería posible realizar conversiones de cuentas a cuentas con redundancia geográfica. Puede encontrar más información en 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 la característica de usuarios locales para la cuenta de almacenamiento.

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

-EnableSftp

Habilite el Protocolo de transferencia de archivos seguros para la cuenta de almacenamiento.

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

-Force

Obliga a escribir el cambio en la cuenta de almacenamiento.

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

-IdentityType

Establezca el nuevo tipo de identidad de cuenta de almacenamiento, el idenetity se usará con servicios de administración de claves como 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

Período de inmutabilidad para los blobs del contenedor desde la creación de la directiva en días. Esta propiedad solo se puede cambiar cuando se crea la cuenta con "-EnableAccountLevelImmutability".

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

-ImmutabilityPolicyState

Modo de la directiva. Entre los valores posibles se incluyen: "Desbloqueado", "Bloqueado", "Deshabilitado. El estado deshabilitado deshabilita la directiva. El estado desbloqueado permite aumentar y disminuir el tiempo de retención de inmutabilidad y también permite alternar la propiedad allowProtectedAppendWrites. El estado bloqueado solo permite el aumento del tiempo de retención de inmutabilidad. Una directiva solo se puede crear en un estado Deshabilitado o Desbloqueado y se puede alternar entre los dos estados. Solo una directiva en un estado Desbloqueado puede pasar a un estado Bloqueado que no se puede revertir. Esta propiedad solo se puede cambiar cuando se crea la cuenta con "-EnableAccountLevelImmutability".

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

-KeyExpirationPeriodInDay

El período de expiración de la clave de esta cuenta es preciso para los días.

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

-KeyName

Si usa -KeyvaultEncryption para habilitar el cifrado con Key Vault, especifique la propiedad Keyname con esta opción.

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

-KeyvaultEncryption

Indica si se va a usar Microsoft KeyVault para las claves de cifrado al usar Storage Service Encryption. Si se establecen KeyName, KeyVersion y KeyVaultUri, KeySource se establecerá en Microsoft.Keyvault si este parámetro está establecido o no.

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

-KeyVaultFederatedClientId

Establezca ClientId de la aplicación multiinquilino que se usará junto con la identidad asignada por el usuario para el cifrado del lado servidor de claves administradas por el cliente entre inquilinos en la cuenta de almacenamiento.

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

-KeyVaultUri

Al usar el cifrado de Key Vault especificando el parámetro -KeyvaultEncryption, use esta opción para especificar el URI en Key Vault.

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

-KeyVaultUserAssignedIdentityId

Establezca el identificador de recurso para la identidad asignada por el usuario que se usa para acceder a Azure KeyVault del cifrado de la cuenta de almacenamiento, el identificador debe estar en el userAssignIdentityId de la cuenta de almacenamiento.

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

-KeyVersion

Al usar el cifrado de Key Vault especificando el parámetro -KeyvaultEncryption, use esta opción para especificar el URI en la versión de clave.

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

-MinimumTlsVersion

Versión mínima de TLS que se va a permitir en las solicitudes al almacenamiento.

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 el nombre de la cuenta de almacenamiento que se va a modificar.

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

-NetworkRuleSet

NetworkRuleSet se usa para definir un conjunto de reglas de configuración para firewalls y redes virtuales, así como para establecer valores para propiedades de red como servicios que pueden omitir las reglas y cómo controlar las solicitudes que no coinciden con ninguna de las reglas definidas.

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

-PublicNetworkAccess

Permitir o no permitir el acceso de red pública a la cuenta de almacenamiento.Los valores posibles son: "Habilitado", "Deshabilitado".

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

-PublishInternetEndpoint

Indica si se van a publicar los puntos de conexión de almacenamiento de enrutamiento de Internet.

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

-PublishMicrosoftEndpoint

Indica si se van a publicar los puntos de conexión de almacenamiento de enrutamiento de Microsoft.

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

-ResourceGroupName

Especifica el nombre del grupo de recursos en el que se va a modificar la cuenta de almacenamiento.

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

-RoutingChoice

La opción de enrutamiento define el tipo de enrutamiento de red elegido por el usuario. Los valores posibles son: "MicrosoftRouting", "InternetRouting"

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

-SasExpirationPeriod

El período de expiración de SAS de esta cuenta, es un intervalo de tiempo y es preciso para segundos.

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

-SkuName

Especifica el nombre de la SKU de la cuenta de almacenamiento. Los valores permitidos para este parámetro son los siguientes:

  • Standard_LRS: almacenamiento con redundancia local.
  • Standard_ZRS: almacenamiento con redundancia de zona.
  • Standard_GRS: almacenamiento con redundancia geográfica.
  • Standard_RAGRS: almacenamiento con redundancia geográfica con acceso de lectura.
  • Premium_LRS: almacenamiento con redundancia local Premium.
  • Standard_GZRS: almacenamiento con redundancia geográfica con redundancia de zona.
  • Standard_RAGZRS: almacenamiento con redundancia de zona con redundancia geográfica con acceso de lectura. No puede cambiar Standard_ZRS y tipos de Premium_LRS a otros tipos de cuenta. No puede cambiar otros tipos de cuenta a Standard_ZRS o 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 si se va a establecer o no el cifrado de la cuenta de almacenamiento para usar claves administradas por Microsoft.

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

-Tag

Pares clave-valor en forma de tabla hash establecida como etiquetas en el servidor. Por ejemplo: @{key0="value0"; key1=$null; key2="value2"}

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

-UpgradeToStorageV2

Actualice el tipo de cuenta de almacenamiento de Storage o BlobStorage a StorageV2.

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

-UserAssignedIdentityId

Establezca los identificadores de recursos para la nueva identidad asignada por el usuario de la cuenta de almacenamiento, la identidad se usará con servicios de administración de claves como Azure KeyVault.

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

-UseSubDomain

Indica si se va a habilitar la validación indirecta de CName.

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

-WhatIf

Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.

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

Entradas

String

Hashtable

Salidas

PSStorageAccount