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
O comando define o domínio personalizado e as marcas de uma conta de Armazenamento.
Exemplo 5: Definir a Chave de Criptografia 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 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
Este comando define o Encryption KeySource com um novo Keyvault criado.
Se quiser habilitar a rotação automática de chaves, não defina a keyversion quando definir as propriedades do Keyvault pela primeira vez ou limpe-a definindo as propriedades de keyvault novamente com keyversion como vazias.
Exemplo 6: Definir a Chave de Criptografia como "Microsoft.Storage"
O comando atualiza uma conta de armazenamento com o tipo "Armazenamento" ou "BlobStorage" para a conta de armazenamento do tipo "StorageV2".
Exemplo 10: atualize uma conta de armazenamento habilitando a Autenticação do Microsoft Entra Domain Services dos Arquivos do Azure e defina DefaultSharePermission.
O comando atualiza uma conta de Armazenamento habilitando a Autenticação do Microsoft Entra Domain Services dos Arquivos do Azure.
Exemplo 11: Atualizar uma conta de armazenamento habilitando a Autenticação do Serviço de Domínio do Active Directory de Arquivos e, em seguida, mostrar a configuração de autenticação baseada em identidade de arquivo
O comando atualiza uma conta de Armazenamento habilitando a Autenticação do Serviço de Domínio do Active Directory dos Arquivos do Azure e mostra a configuração de autenticação baseada em identidade de arquivo
Exemplo 12: Definir MinimumTlsVersion, AllowBlobPublicAccess e AllowSharedKeyAccess
Esse 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 com SasExpirationAction
Esse comando atualiza uma conta de armazenamento com KeyExpirationPeriod e SasExpirationPeriod com SasExpirationAction e, em seguida, mostra as propriedades relacionadas à conta atualizada.
Exemplo 15: atualizar uma conta de armazenamento para criptografia Keyvault e acessar o Keyvault com a 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 keyvault e uma identidade atribuída pelo usuário e, em seguida, atualiza uma conta de armazenamento com criptografia keyvault, o keyvault de acesso de armazenamento com a identidade atribuída pelo usuário.
Exemplo 16: Atualizar uma conta de Armazenamento criptografada do Keyvault, do acesso ao Keyvault com a 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 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
Esse comando primeiro atribui a identidade do sistema à conta e fornece ao sistema acesso de identidade atribuído ao keyvault; em seguida, atualiza a conta de armazenamento para acessar o Keyvault com a identidade atribuída pelo sistema.
Exemplo 17: Atualizar o Keyvault e a identidade atribuída pelo 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
Esse comando primeiro atualiza a identidade atribuída pelo usuário para acessar o keyvault e, em seguida, atualiza o keyvault para criptografia.
Para atualizar o Keyvault e a identidade atribuída pelo usuário, precisamos atualizar com as duas etapas acima.
Exemplo 18: Atualizar uma conta de armazenamento com AllowCrossTenantReplication
Esse comando atualiza uma conta de Armazenamento definindo AllowCrossTenantReplication como false e, em seguida, mostra as propriedades relacionadas à conta atualizada.
Exemplo 18: Atualizar uma conta de armazenamento habilitando PublicNetworkAccess
O comando atualiza as propriedades da política de imutabilidade no nível da conta em uma conta de armazenamento existente e mostra o resultado.
A conta de armazenamento deve ser criada com a imutabilidade de nível de conta habilitada com controle de versão.
A política de imutabilidade no nível da conta será herdada e aplicada a objetos que não possuem uma política de imutabilidade explícita no nível do objeto.
Exemplo 20: Atualizar uma conta de armazenamento habilitando sftp e localuser
Esse comando atualiza uma conta de Armazenamento habilitando 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 Keyvault de outro locatário (acessar Keyvault com FederatedClientId)
Esse comando atualiza uma conta de Armazenamento definindo EnableSmbOAuth como true e, em seguida, mostra as propriedades relacionadas à conta atualizada.
Exemplo 23: Atualizar uma conta de armazenamento com a política de posicionamento de zona
Esse comando atualiza uma conta de Armazenamento definindo Zone como 1 e ZonePlacementPolicy como Any e mostra as propriedades relacionadas à conta atualizada.
Exemplo 24: habilitar a replicação de prioridade geográfica de blob em uma conta de armazenamento
Esse comando habilita a Replicação de Prioridade Geográfica de Blob em uma conta de Armazenamento.
Parâmetros
-AccessTier
Especifica a camada de acesso da conta de armazenamento que este cmdlet modifica.
Os valores aceitáveis para esse parâmetro são: Hot e Cool.
Se você alterar a camada de acesso, isso poderá resultar em encargos adicionais. Para obter mais informações, consulte o Armazenamento de Blobs do Azure: camadas de armazenamento frequentes e esporádicas.
Se a conta de armazenamento tiver Kind as 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 .
Especifica o SID (identificador de segurança) para o Armazenamento do Azure. Esse parâmetro deve ser definido quando -EnableActiveDirectoryDomainServicesForFile é definido como true.
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.
Especifica o SID (identificador de segurança). Esse parâmetro deve ser definido quando -EnableActiveDirectoryDomainServicesForFile é definido como true.
Especifica a floresta do Active Directory a ser obtida. Esse parâmetro deve ser definido quando -EnableActiveDirectoryDomainServicesForFile é definido como true.
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'
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 for falso, todas as solicitações, incluindo assinaturas de acesso compartilhado, deverão ser autorizadas com a ID do Microsoft Entra. O valor padrão é nulo, que é equivalente a true.
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.
Indica se a Replicação de Prioridade Geográfica de Blob está habilitada para a conta de armazenamento.
Esse recurso fornece replicação geográfica aprimorada com contrato de nível de serviço para replicação de prioridade para melhorar os RTO (objetivos de tempo de recuperação).
Disponível apenas para tipos de conta de armazenamento com redundância geográfica (GRS, GZRS, RAGRS, RAGZRS).
Indica se a conta de armazenamento pode ou não dar 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 desabilitado.
Atualmente, há suporte apenas para tipos de replicação LRS e ZRS, portanto, conversões de conta em contas com redundância geográfica não seriam possíveis.
Saiba mais em https://go.microsoft.com/fwlink/?linkid=2086047
O período de imutabilidade dos 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'.
O modo da política. Os valores possíveis incluem: 'Desbloqueado', 'Bloqueado', 'Desabilitado.
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 a agregação da propriedade allowProtectedAppendWrites.
O estado bloqueado permite apenas o aumento do tempo de retenção de 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'.
Indica se o Microsoft KeyVault deve ou não usar 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.
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.
Defina a ID do recurso para a Identidade atribuída pelo usuário usada para acessar o Azure KeyVault da Criptografia da Conta de Armazenamento, a id deve estar no UserAssignIdentityId da conta de armazenamento.
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.
A ação a ser executada quando SasExpirationPeriod é violada. A ação 'Log' pode ser usada para fins de auditoria e a ação 'Bloquear' pode ser usada para bloquear e negar o uso de tokens SAS que não aderem ao período de expiração da política sas.
Especifica o nome da SKU da conta de Armazenamento.
Os valores aceitáveis para este parâmetro são:
Standard_LRS – armazenamento com redundância local.
Standard_ZRS – Armazenamento com redundância de zona.
Standard_GRS – armazenamento com redundância geográfica.
Standard_RAGRS – Ler o armazenamento com redundância geográfica de acesso.
Premium_LRS – Armazenamento com redundância local Premium.
Standard_GZRS – armazenamento com redundância de zona com redundância geográfica.
Standard_RAGZRS – Ler o armazenamento com redundância de zona com redundância geográfica de acesso.
StandardV2_LRS – armazenamento com redundância local para Provisionamento de Arquivos v2.
StandardV2_GRS – armazenamento com redundância geográfica para Provisionamento de Arquivos v2.
StandardV2_ZRS – Armazenamento com redundância de zona para Provisionamento de Arquivos v2.
StandardV2_GZRS – armazenamento com redundância de zona com redundância geográfica para Provisionamento de Arquivos v2.
PremiumV2_LRS – Armazenamento com redundância local Premium para Provisionamento de Arquivos v2.
PremiumV2_ZRS – Armazenamento com redundância de zona Premium para Provisionamento de Arquivos v2.
Você não pode alterar Standard_ZRS e Premium_LRS tipos para outros tipos de conta.
Não é possível alterar outros tipos de conta para Standard_ZRS ou Premium_LRS.
Defina ids de recurso para a nova Identidade atribuída pelo usuário da Conta de Armazenamento, a identidade será usada com serviços de gerenciamento de chaves, como o Azure KeyVault.
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
A fonte deste conteúdo pode ser encontrada no GitHub, onde você também pode criar e revisar problemas e solicitações de pull. Para obter mais informações, confira o nosso guia para colaboradores.