Set-AzStorageAccount

Storage 계정을 수정합니다.

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

Set-AzStorageAccount cmdlet은 Azure Storage 계정을 수정합니다. 이 cmdlet을 사용하여 계정 유형을 수정하거나, 고객 도메인을 업데이트하거나, Storage 계정에 태그를 설정할 수 있습니다.

예제

예제 1: Storage 계정 유형 설정

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

이 명령은 Storage 계정 유형을 Standard_RAGRS 설정합니다.

예제 2: Storage 계정에 대한 사용자 지정 작업기본 설정

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

이 명령은 Storage 계정에 대한 사용자 지정 do기본 설정합니다.

예제 3: 액세스 계층 값 설정

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

이 명령은 액세스 계층 값을 쿨로 설정합니다.

예제 4: 사용자 지정 do기본 및 태그 설정

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

이 명령은 Storage 계정에 대한 사용자 지정 작업기본 및 태그를 설정합니다.

예제 5: 암호화 KeySource를 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

이 명령은 새로 만든 Keyvault를 사용하여 Encryption KeySource를 설정합니다. 키 자동 회전을 사용하도록 설정하려면 Keyvault 속성을 처음으로 설정할 때 키 변환을 설정하거나 키 변환이 비어 있는 키 서버 속성을 다시 설정하여 클린 않습니다.

예제 6: 암호화 KeySource를 "Microsoft.Storage"로 설정

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

이 명령은 Encryption KeySource를 "Microsoft.Storage"로 설정합니다.

예제 7: JSON을 사용하여 Storage 계정의 NetworkRuleSet 속성 설정

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"})

이 명령은 JSON을 사용하여 Storage 계정의 NetworkRuleSet 속성을 설정합니다.

예제 8: Storage 계정에서 NetworkRuleSet 속성을 가져와서 다른 Storage 계정으로 설정

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

이 첫 번째 명령은 Storage 계정에서 NetworkRuleSet 속성을 가져오고 두 번째 명령은 이를 다른 Storage 계정으로 설정합니다.

예제 9: 종류가 "Storage" 또는 "BlobStorage"인 Storage 계정을 "StorageV2" 종류 스토리지 계정으로 업그레이드

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

이 명령은 종류가 "Storage" 또는 "BlobStorage"인 Storage 계정을 "StorageV2" 종류의 Storage 계정으로 업그레이드합니다.

예제 10: Azure Files Microsoft Entra Do기본 Services 인증을 사용하도록 설정하여 Storage 계정을 업데이트하고 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

이 명령은 Azure Files Microsoft Entra Do기본 Services 인증을 사용하도록 설정하여 Storage 계정을 업데이트합니다.

예제 11: 파일 Active Directory 도메인 서비스 인증을 사용하도록 설정하여 스토리지 계정을 업데이트한 다음 파일 ID 기반 인증 설정을 표시합니다.

$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

이 명령은 Azure Files Active Directory 도메인 Service 인증을 사용하도록 설정하여 Storage 계정을 업데이트한 다음 파일 ID 기반 인증 설정을 표시합니다.

예제 12: MinimumTlsVersion, AllowBlobPublicAccess 및 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

이 명령은 MinimumTlsVersion, AllowBlobPublicAccess 및 AllowSharedKeyAccess를 설정한 다음 계정의 3개 속성을 표시합니다.

예제 13: 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/"}

이 명령은 RoutingPreference 설정인 PublishMicrosoftEndpoint를 false로, PublishInternetEndpoint를 true로, RoutingChoice를 MicrosoftRouting으로 업데이트하여 스토리지 계정을 업데이트합니다.

예제 14: KeyExpirationPeriod 및 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

이 명령은 KeyExpirationPeriod 및 SasExpirationPeriod를 사용하여 Storage 계정을 업데이트한 다음 업데이트된 계정 관련 속성을 표시합니다.

예제 15: 스토리지 계정을 Keyvault 암호화로 업데이트하고 사용자 할당 ID를 사용하여 Keyvault에 액세스

# 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

이 명령은 먼저 keyvault 및 사용자 할당 ID를 만든 다음, 키 자격 증명 모음 암호화를 사용하여 스토리지 계정을 업데이트하고, 사용자가 할당한 ID를 사용하여 스토리지 액세스 keyvault를 업데이트합니다.

예제 16: 사용자가 할당한 ID를 사용하여 Keyvault에 액세스하여 시스템 할당 ID를 사용하여 Keyvault에 액세스하도록 Keyvault 암호화된 스토리지 계정 업데이트

# 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

이 명령은 먼저 계정에 시스템 ID를 할당하고 시스템 할당 ID에 keyvault에 대한 액세스 권한을 부여합니다. 그런 다음 시스템 할당 ID를 사용하여 Keyvault에 액세스하도록 Storage 계정을 업데이트합니다.

예제 17: Keyvault에 액세스하도록 Keyvault 및 사용자 할당 ID를 모두 업데이트합니다.

# 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

이 명령은 먼저 keyvault에 액세스하도록 사용자 할당 ID를 업데이트한 다음 암호화를 위해 keyvault를 업데이트합니다. Keyvault와 사용자 할당 ID를 모두 업데이트하려면 위의 2단계로 업데이트해야 합니다.

예제 18: AllowCrossTenantReplication을 사용하여 스토리지 계정 업데이트

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

$account.AllowCrossTenantReplication

False

이 명령은 AllowCrossTenantReplication을 false로 설정하여 Storage 계정을 업데이트한 다음 업데이트된 계정 관련 속성을 표시합니다.

예제 18: PublicNetworkAccess를 사용하도록 설정하여 스토리지 계정 업데이트

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

$account.PublicNetworkAccess

Enabled

이 명령은 PublicNetworkAccess를 사용하도록 설정하여 Storage 계정을 업데이트합니다.

예제 19: 계정 수준 불변성 정책 업데이트

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

$account.ImmutableStorageWithVersioning.Enabled
True

$account.ImmutableStorageWithVersioning.ImmutabilityPolicy

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

이 명령은 기존 스토리지 계정의 계정 수준 불변성 정책 속성을 업데이트하고 결과를 표시합니다. 스토리지 계정은 버전 관리에서 계정 수준 불변성을 사용하도록 설정하여 만들어야 합니다. 계정 수준 불변성 정책은 개체 수준에서 명시적 불변성 정책을 가지고 있지 않은 개체에 상속되고 적용됩니다.

예제 20: Sftp 및 localuser를 사용하도록 설정하여 Storage 계정 업데이트

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

$account.EnableSftp
True

$account.EnableLocalUser
True

이 명령은 Sftp 및 localuser를 사용하도록 설정하여 Storage 계정을 업데이트합니다. 명령을 정상적으로 실행하려면 Storage 계정이 이미 계층 구조 네임스페이스를 사용하도록 설정해야 합니다.

예제 21: 다른 테넌트의 Keyvault를 사용하여 Storage 계정 업데이트(FederatedClientId를 사용하여 Keyvault에 액세스)

# 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

이 명령은 다른 테넌트의 Keyvault를 사용하여 스토리지 계정을 업데이트합니다(FederatedClientId를 사용하여 Keyvault에 액세스).

매개 변수

-AccessTier

이 cmdlet이 수정하는 Storage 계정의 액세스 계층을 지정합니다. 이 매개 변수에 허용되는 값은 핫 및 쿨입니다. 액세스 계층을 변경하면 추가 요금이 발생할 수 있습니다. 자세한 내용은 Azure Blob Storage: 핫 및 쿨 스토리지 계층을 참조 하세요. Storage 계정에 Kind as StorageV2 또는 BlobStorage가 있는 경우 AccessTier 매개 변수를 지정할 수 있습니다. Storage 계정에 Kind as Storage가 있는 경우 AccessTier 매개 변수를 지정하지 마세요.

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

-ActiveDirectoryAccountType

Azure Storage에 대한 Active Directory 계정 유형을 지정합니다. 가능한 값은 'User', 'Computer'입니다.

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

-ActiveDirectoryAzureStorageSid

Azure Storage의 SID(보안 식별자)를 지정합니다. -EnableActiveDirectoryDo기본ServicesForFile이 true로 설정된 경우 이 매개 변수를 설정해야 합니다.

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

-ActiveDirectoryDomainGuid

do기본 GUID를 지정합니다. -EnableActiveDirectoryDo기본ServicesForFile이 true로 설정된 경우 이 매개 변수를 설정해야 합니다.

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

-ActiveDirectoryDomainName

AD DNS 서버가 신뢰할 수 있는 기본 작업기본 지정합니다. -EnableActiveDirectoryDo기본ServicesForFile이 true로 설정된 경우 이 매개 변수를 설정해야 합니다.

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

-ActiveDirectoryDomainSid

SID(보안 식별자)를 지정합니다. -EnableActiveDirectoryDo기본ServicesForFile이 true로 설정된 경우 이 매개 변수를 설정해야 합니다.

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

-ActiveDirectoryForestName

가져올 Active Directory 포리스트를 지정합니다. -EnableActiveDirectoryDo기본ServicesForFile이 true로 설정된 경우 이 매개 변수를 설정해야 합니다.

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

-ActiveDirectoryNetBiosDomainName

NetBIOS do기본 이름을 지정합니다. -EnableActiveDirectoryDo기본ServicesForFile이 true로 설정된 경우 이 매개 변수를 설정해야 합니다.

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

-ActiveDirectorySamAccountName

Azure Storage에 대한 Active Directory SAMAccountName을 지정합니다.

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

-AllowBlobPublicAccess

스토리지 계정의 모든 Blob 또는 컨테이너에 대한 익명 액세스를 허용하거나 허용하지 않습니다.

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

-AllowCrossTenantReplication

교차 Microsoft Entra 테넌트 개체 복제본(replica)tion을 가져오거나 설정합니다. 이 속성에 대한 기본 해석은 true입니다.

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

-AllowedCopyScope

Microsoft Entra 테넌트 내에서 또는 프라이빗 링크를 사용하여 동일한 VNet에 대한 스토리지 계정과의 복사 제한 설정을 설정합니다. 가능한 값은 'PrivateLink', 'AAD'입니다.

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

-AllowSharedKeyAccess

스토리지 계정이 공유 키를 통해 계정 액세스 키로 요청을 승인하도록 허용하는지 여부를 나타냅니다. false이면 공유 액세스 서명을 포함한 모든 요청에 Microsoft Entra ID를 사용하여 권한을 부여해야 합니다. 기본값은 null이며 true와 동일합니다.

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

-AsJob

백그라운드에서 cmdlet 실행

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

-AssignIdentity

Azure KeyVault와 같은 키 관리 서비스에서 사용할 이 Storage 계정에 대한 새 Storage 계정 ID를 생성하고 할당합니다.

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

-Confirm

cmdlet을 실행하기 전에 확인 메시지가 표시됩니다.

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

-CustomDomainName

사용자 지정 do기본 이름을 지정합니다.

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

-DefaultProfile

Azure와의 통신에 사용되는 자격 증명, 계정, 테넌트 및 구독입니다.

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

-DefaultSharePermission

RBAC 역할이 할당되지 않은 경우 Kerberos 인증을 사용하는 사용자의 기본 공유 권한입니다.

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

-EnableActiveDirectoryDomainServicesForFile

스토리지 계정에 대해 Azure Files Active Directory 도메인 서비스 인증을 사용하도록 설정합니다.

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

-EnableAzureActiveDirectoryDomainServicesForFile

스토리지 계정에 대해 Azure Files Active Directory 도메인 서비스 인증을 사용하도록 설정합니다.

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

-EnableAzureActiveDirectoryKerberosForFile

스토리지 계정에 대해 Azure Files Active Directory 도메인 Service Kerberos 인증을 사용하도록 설정합니다.

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

-EnableHttpsTrafficOnly

Storage 계정에서 HTTPS 트래픽만 사용할 수 있는지 여부를 나타냅니다.

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

-EnableLargeFileShare

스토리지 계정이 5TiB 이상의 용량을 가진 대용량 파일 공유를 지원할 수 있는지 여부를 나타냅니다. 계정을 사용하도록 설정하면 기능을 사용하지 않도록 설정할 수 없습니다. 현재 LRS 및 ZRS 복제본(replica)tion 유형에 대해서만 지원되므로 지역 중복 계정으로의 계정 변환은 불가능합니다. 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

Storage 계정에 대한 로컬 사용자 기능을 사용하도록 설정합니다.

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

-EnableSftp

스토리지 계정에 보안 파일 전송 프로토콜을 사용하도록 설정합니다.

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

-Force

변경 내용이 스토리지 계정에 기록되도록 합니다.

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

-IdentityType

새 Storage 계정 ID 유형을 설정합니다. 이 idnetity는 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

며칠 만에 정책을 만든 이후 컨테이너의 Blob에 대한 불변성 기간입니다. 이 속성은 '-EnableAccountLevelImmutability'를 사용하여 계정을 만들 때만 변경할 수 있습니다.

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

-ImmutabilityPolicyState

정책의 모드입니다. 가능한 값은 'Unlocked', 'Locked', 'Disabled입니다. 사용 안 함 상태는 정책을 사용하지 않도록 설정합니다. 잠금 해제된 상태를 사용하면 불변성 보존 시간을 늘리거나 줄일 수 있으며 allowProtectedAppendWrites 속성을 토글할 수도 있습니다. 잠긴 상태에서는 불변성 보존 시간만 늘릴 수 있습니다. 정책은 사용 안 함 또는 잠금 해제 상태에서만 만들 수 있으며 두 상태 간에 전환할 수 있습니다. 잠금 해제 상태의 정책만 되돌리기 수 없는 잠긴 상태로 전환할 수 있습니다. 이 속성은 '-EnableAccountLevelImmutability'를 사용하여 계정을 만들 때만 변경할 수 있습니다.

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

-KeyExpirationPeriodInDay

이 계정의 키 만료 기간은 일 단위로 정확합니다.

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

-KeyName

-KeyvaultEncryption을 사용하여 Key Vault로 암호화를 사용하도록 설정하는 경우 이 옵션을 사용하여 Keyname 속성을 지정합니다.

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

-KeyvaultEncryption

Storage 서비스 암호화를 사용할 때 암호화 키에 Microsoft KeyVault를 사용할지 여부를 나타냅니다. KeyName, KeyVersion 및 KeyVaultUri가 모두 설정된 경우 이 매개 변수가 설정되었는지 여부에 관계없이 KeySource가 Microsoft.Keyvault로 설정됩니다.

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

-KeyVaultFederatedClientId

스토리지 계정에서 테넌트 간 고객 관리형 키 서버 쪽 암호화를 위해 사용자 할당 ID와 함께 사용할 다중 테넌트 애플리케이션의 ClientId를 설정합니다.

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

-KeyVaultUri

-KeyvaultEncryption 매개 변수를 지정하여 Key Vault 암호화를 사용하는 경우 이 옵션을 사용하여 Key Vault에 대한 URI를 지정합니다.

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

-KeyVaultUserAssignedIdentityId

스토리지 계정 암호화의 Azure KeyVault에 액세스하는 데 사용되는 사용자 할당 ID의 리소스 ID를 설정합니다. ID는 스토리지 계정의 UserAssignIdentityId에 있어야 합니다.

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

-KeyVersion

-KeyvaultEncryption 매개 변수를 지정하여 Key Vault 암호화를 사용하는 경우 이 옵션을 사용하여 키 버전에 대한 URI를 지정합니다.

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

-MinimumTlsVersion

스토리지 요청에 허용되는 최소 TLS 버전입니다.

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

수정할 Storage 계정의 이름을 지정합니다.

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

-NetworkRuleSet

NetworkRuleSet은 방화벽 및 가상 네트워크에 대한 구성 규칙 집합을 정의하고 규칙을 무시할 수 있는 서비스와 같은 네트워크 속성에 대한 값을 설정하고 정의된 규칙과 일치하지 않는 요청을 처리하는 방법에 사용됩니다.

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

-PublicNetworkAccess

스토리지 계정에 대한 공용 네트워크 액세스를 허용하거나 허용하지 않습니다.가능한 값에는 '사용', '사용 안 함'이 포함됩니다.

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

-PublishInternetEndpoint

인터넷 라우팅 스토리지 엔드포인트를 게시할지 여부를 나타냅니다.

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

-PublishMicrosoftEndpoint

Microsoft 라우팅 스토리지 엔드포인트를 게시할지 여부를 나타냅니다.

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

-ResourceGroupName

Storage 계정을 수정할 리소스 그룹의 이름을 지정합니다.

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

-RoutingChoice

라우팅 선택은 사용자가 선택한 네트워크 라우팅의 종류를 정의합니다. 가능한 값은 'MicrosoftRouting', 'InternetRouting'입니다.

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

-SasExpirationPeriod

이 계정의 SAS 만료 기간은 시간 범위이며 초 단위로 정확합니다.

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

-SkuName

Storage 계정의 SKU 이름을 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • Standard_LRS - 로컬 중복 스토리지입니다.
  • Standard_ZRS - 영역 중복 스토리지.
  • Standard_GRS - 지역 중복 스토리지.
  • Standard_RAGRS - 읽기 액세스 지역 중복 스토리지입니다.
  • Premium_LRS - 프리미엄 로컬 중복 스토리지.
  • Standard_GZRS - 지역 중복 영역 중복 스토리지.
  • Standard_RAGZRS - 읽기 액세스 지역 중복 영역 중복 스토리지입니다. Standard_ZRS 및 Premium_LRS 유형을 다른 계정 유형으로 변경할 수 없습니다. 다른 계정 유형을 Standard_ZRS 또는 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

Microsoft 관리형 키를 사용하도록 Storage 계정 암호화를 설정할지 여부를 나타냅니다.

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

-Tag

서버에서 태그로 설정된 해시 테이블 형식의 키-값 쌍입니다. 예: @{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

Storage 계정 Kind를 Storage 또는 BlobStorage에서 StorageV2로 업그레이드합니다.

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

-UserAssignedIdentityId

새 Storage 계정 사용자가 할당한 ID에 대한 리소스 ID를 설정하면 ID가 Azure KeyVault와 같은 키 관리 서비스와 함께 사용됩니다.

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

-UseSubDomain

간접 CName 유효성 검사를 사용할지 여부를 나타냅니다.

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

-WhatIf

cmdlet이 실행될 경우 결과 동작을 표시합니다. cmdlet이 실행되지 않습니다.

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

입력

String

Hashtable

출력

PSStorageAccount