Share via


Update-AzSynapseWorkspace

更新 Synapse Analytics 工作區。

Syntax

Update-AzSynapseWorkspace
      [-ResourceGroupName <String>]
      -Name <String>
      [-Tag <Hashtable>]
      [-SqlAdministratorLoginPassword <SecureString>]
      [-ManagedVirtualNetwork <PSManagedVirtualNetworkSettings>]
      [-EncryptionKeyName <String>]
      [-UserAssignedIdentityInEncryption <String>]
      [-UseSystemAssignedIdentityInEncryption <Object>]
      [-GitRepository <PSWorkspaceRepositoryConfiguration>]
      [-UserAssignedIdentityAction <UserAssignedManagedIdentityActionType>]
      [-UserAssignedIdentityId <System.Collections.Generic.List`1[System.String]>]
      [-EnablePublicNetworkAccess <Boolean>]
      [-AsJob]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzSynapseWorkspace
      -InputObject <PSSynapseWorkspace>
      [-Tag <Hashtable>]
      [-SqlAdministratorLoginPassword <SecureString>]
      [-ManagedVirtualNetwork <PSManagedVirtualNetworkSettings>]
      [-EncryptionKeyName <String>]
      [-UserAssignedIdentityInEncryption <String>]
      [-UseSystemAssignedIdentityInEncryption <Object>]
      [-GitRepository <PSWorkspaceRepositoryConfiguration>]
      [-UserAssignedIdentityAction <UserAssignedManagedIdentityActionType>]
      [-UserAssignedIdentityId <System.Collections.Generic.List`1[System.String]>]
      [-EnablePublicNetworkAccess <Boolean>]
      [-AsJob]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzSynapseWorkspace
      -ResourceId <String>
      [-Tag <Hashtable>]
      [-SqlAdministratorLoginPassword <SecureString>]
      [-ManagedVirtualNetwork <PSManagedVirtualNetworkSettings>]
      [-EncryptionKeyName <String>]
      [-UserAssignedIdentityInEncryption <String>]
      [-UseSystemAssignedIdentityInEncryption <Object>]
      [-GitRepository <PSWorkspaceRepositoryConfiguration>]
      [-UserAssignedIdentityAction <UserAssignedManagedIdentityActionType>]
      [-UserAssignedIdentityId <System.Collections.Generic.List`1[System.String]>]
      [-EnablePublicNetworkAccess <Boolean>]
      [-AsJob]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

Update-AzSynapseWorkspace Cmdlet 會更新 Azure Synapse Analytics 工作區。

範例

範例 1

Update-AzSynapseWorkspace -Name ContosoWorkspace -Tag @{'key'='value'}

此命令會更新所指定 Azure Synapse Analytics 工作區的標籤。

範例 2

$ws = Get-AzSynapseWorkspace -Name ContosoWorkspace
$ws | Update-AzSynapseWorkspace -Tag @{'key'='value1'}

此命令會透過管線更新所指定 Azure Synapse Analytics 工作區的標籤。

範例 3

Update-AzSynapseWorkspace -ResourceId /subscriptions/21686af7-58ec-4f4d-9c68-f431f4db4edd/resourceGroups/ContosoResourceGroup/providers/Microsoft.Synapse/workspaces/ContosoWorkspace -Tag @{'key'='value2'}

此命令會透過具有資源標識符的管線,更新所指定 Azure Synapse Analytics 工作區的標籤。

範例 4

$config = New-AzSynapseGitRepositoryConfig -RepositoryType GitHub -AccountName ContosoAccount -RepositoryName ContosoRepo -CollaborationBranch main
Update-AzSynapseWorkspace -Name ContosoWorkspace -GitRepository $config

此命令會針對指定的 Azure Synapse Analytics 工作區,更新 Git 存放庫所承認的工作區。

範例 5

Update-AzSynapseWorkspace -Name ContosoWorkspace -EnablePublicNetworkAccess $True

此命令會更新指定的 Azure Synapse Analytics 工作區,以啟用公用網路存取。

範例 6

$uamis = Get-AzUserAssignedIdentity -ResourceGroupName ContosoResourceGroup
$uamilist = New-Object System.Collections.Generic.List[string]
foreach($uami in $uamis){
	$uamilist.Add($uami.Id)
}

Update-AzSynapseWorkspace -Name ContosoWorkspace -UserAssignedIdentityAction Add -UserAssignedIdentityId $uamilist

此命令會更新工作區,以在 $uamilist 中新增使用者指派的受控識別。

範例 7

$uamis = Get-AzUserAssignedIdentity -ResourceGroupName ContosoResourceGroup
$uamilist = New-Object System.Collections.Generic.List[string]
foreach($uami in $uamis){
	$uamilist.Add($uami.Id)
}

Update-AzSynapseWorkspace -Name ContosoWorkspace -UserAssignedIdentityAction Remove -UserAssignedIdentityId $uamilist[0]

此命令會從工作區中移除使用者指派的受控識別$uamilist[0]。

範例 8

$uamis = Get-AzUserAssignedIdentity -ResourceGroupName ContosoResourceGroup
$uamilist = New-Object System.Collections.Generic.List[string]
foreach($uami in $uamis){
	$uamilist.Add($uami.Id)
}

Update-AzSynapseWorkspace -Name ContosoWorkspace -UserAssignedIdentityAction Set -UserAssignedIdentityId $uamilist

此命令會使用使用者指派的受控識別來更新工作區,$uamilist涵蓋目前身分識別。

範例 9

##Add a temp key to the workspace
New-AzSynapseWorkspaceKey -ResourceGroupName ContosoResourceGroup -WorkspaceName ContosoWorkspace -Name TempKey -EncryptionKeyIdentifier https://contosoKeyVault.vault.azure.net/keys/TempKey

##Update the workspace and set the temp key as the TDE protector
Update-AzSynapseWorkspace -WorkspaceName ContosoWorkspace -EncryptionKeyName TempKey -UseSystemAssignedIdentityInEncryption $true

##Note, we need to create a new key version for the original encrytion key of the Azure key vault before moving to next steps. 

##Update the workspace and set the encryption key back after we created a new key version. 
Update-AzSynapseWorkspace -WorkspaceName ContosoWorkspace -EncryptionKeyName default -UseSystemAssignedIdentityInEncryption $true

##Remove the temp key
Remove-AzSynapseWorkspaceKey -WorkspaceName ContosoWorkspace -Name TempKey

此命令示範如何輪替 Synapse 工作區的加密金鑰,並使用系統指派的受控識別來存取 Azure 金鑰保存庫。

範例 10

$uamis = Get-AzUserAssignedIdentity -ResourceGroupName ContosoResourceGroup
$identityId = $uamis[0].Id
$ws = Get-AzSynapseWorkspace -Name ContosoWorkspace
$ws | Update-AzSynapseWorkspace -UseSystemAssignedIdentityInEncryption $false -UserAssignedIdentityInEncryption $identityId
$ws = Get-AzSynapseWorkspace -Name ContosoWorkspace
$ws.Encryption.CustomerManagedKeyDetails.Key

Name    KeyVaultUrl
----    -----------
default https://contosoKeyValut.vault.azure.net/keys/testkey

$ws = Get-AzSynapseWorkspace -name ContosoWorkspace
$ws.Encryption.CustomerManagedKeyDetails.KekIdentity

UserAssignedIdentity                                                                                                                                        UseSystemAssignedIdentity
--------------------                                                                                                                                        -------------------------
/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/ContosoResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uaminame                     False

此命令會將工作區加密受控識別更新為使用者指派,並指定使用者指派的身分識別識別碼,以存取儲存在密鑰保存庫中的客戶受控密鑰。 更新之後,我們可以呼叫 Get-AzSynapseWorkspace 以取得工作區的加密屬性。

參數

-AsJob

在背景執行 Cmdlet

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: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

-EnablePublicNetworkAccess

啟用或停用工作區的公用網路存取。 可能的值包括:'Enabled'、'Disabled'

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

-EncryptionKeyName

工作區加密金鑰名稱。

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

-GitRepository

Git 存放庫 設定。 將工作區 連線 至原始檔控制與共同作業的存放庫,以在工作區管線上工作

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

-InputObject

工作區輸入物件,通常是透過管線傳遞。

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

-ManagedVirtualNetwork

受控 虛擬網絡 設定。

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

-Name

Synapse 工作區的名稱。

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

-ResourceGroupName

資源組名。

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

-ResourceId

Synapse 工作區的資源標識碼。

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

-SqlAdministratorLoginPassword

工作區的新 SQL 系統管理員密碼。

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

-Tag

與資源相關聯之標籤的字串、字串字典。

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

-UserAssignedIdentityAction

當您為工作區新增/移除/設定使用者指派的受控識別時,必須指定動作。 支持的動作包括:新增 [移除集新增] 表示新增工作區的使用者指派受控識別,[移除] 方法可從工作區移除使用者指派的受控識別,當您想要同時新增和移除使用者指派的受控識別時,可以使用 Set。

Type:Microsoft.Azure.Commands.Synapse.Models.SynapseConstants+UserAssignedManagedIdentityActionType
Accepted values:Add, Remove, Set
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UserAssignedIdentityId

使用者指派的工作區受控識別標識碼。

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

-UserAssignedIdentityInEncryption

工作區加密中使用的使用者指派身分識別資源標識碼

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

-UseSystemAssignedIdentityInEncryption

指定是否要在工作區加密中使用系統指派的身分識別

Type:Object
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:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

PSSynapseWorkspace

輸出

PSSynapseWorkspace