Update-AzSynapseWorkspace
Updates a Synapse Analytics workspace.
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
The Update-AzSynapseWorkspace cmdlet updates an Azure Synapse Analytics workspace.
Examples
Example 1
Update-AzSynapseWorkspace -Name ContosoWorkspace -Tag @{'key'='value'}
This commands updates tags for the specififed Azure Synapse Analytics workspace.
Example 2
$ws = Get-AzSynapseWorkspace -Name ContosoWorkspace
$ws | Update-AzSynapseWorkspace -Tag @{'key'='value1'}
This commands updates tags for the specififed Azure Synapse Analytics workspace through pipeline.
Example 3
Update-AzSynapseWorkspace -ResourceId /subscriptions/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1/resourceGroups/ContosoResourceGroup/providers/Microsoft.Synapse/workspaces/ContosoWorkspace -Tag @{'key'='value2'}
This commands updates tags for the specififed Azure Synapse Analytics workspace through pipeline with resource ID.
Example 4
$config = New-AzSynapseGitRepositoryConfig -RepositoryType GitHub -AccountName ContosoAccount -RepositoryName ContosoRepo -CollaborationBranch main
Update-AzSynapseWorkspace -Name ContosoWorkspace -GitRepository $config
This commands updates Git repository which workspace is conneceted to for the specififed Azure Synapse Analytics workspace.
Example 5
Update-AzSynapseWorkspace -Name ContosoWorkspace -EnablePublicNetworkAccess $True
This commands updates the specififed Azure Synapse Analytics workspace to enable public network access.
Example 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
This commands updates workspace to add user assigned managed identites in $uamilist.
Example 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]
This commands removes user assigned managed identites $uamilist[0] from workspace.
Example 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
This commands updates workspace with user assigned managed identites $uamilist that will cover current identities.
Example 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
This commands demonstrate how to rotate the encryption key of a Synapse workspace, and it is using System Assigned Managed Identity to access the Azure Key Vault.
Example 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
This commands updates workspace Encryption Managed Identity as User Assigned and specify an user assigned identity Id to access your customer-managed key stored in key vault. After updating, we can call Get-AzSynapseWorkspace
to get Encryption properties of workspace.
Parameters
-AsJob
Run cmdlet in the background
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultProfile
The credentials, account, tenant, and subscription used for communication with Azure.
Type: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EnablePublicNetworkAccess
Enable or Disable public network access to workspace. Possible values include: 'Enabled', 'Disabled'
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EncryptionKeyName
The workspace encryption key name.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-GitRepository
Git Repository Settings. Connect workspace to the repository for source control and collaboration for work on your workspace pipelines
Type: | PSWorkspaceRepositoryConfiguration |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
workspace input object, usually passed through the pipeline.
Type: | PSSynapseWorkspace |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ManagedVirtualNetwork
Managed Virtual Network Settings.
Type: | PSManagedVirtualNetworkSettings |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Name of Synapse workspace.
Type: | String |
Aliases: | WorkspaceName |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ResourceGroupName
Resource group name.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ResourceId
Resource identifier of Synapse workspace.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SqlAdministratorLoginPassword
The new SQL administrator password for the workspace.
Type: | SecureString |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Tag
A string,string dictionary of tags associated with the resource.
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UserAssignedIdentityAction
Action must be specified when you add/remove/set user assigned managed identities for workspace. The supported actions are: Add Remove Set Add means to add user assigned managed identities for workspace, Remove means to remove user assigned managed identities from workspace, Set can be used when you want to add and remove user assigned managed identities at the same time.
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
User assigned managed identity Id for workspace.
Type: | List<T>[String] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UserAssignedIdentityInEncryption
User assigned identity resource Id used in Workspace Encryption
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseSystemAssignedIdentityInEncryption
specifying whether to use system assigned identity in Workspace Encryption or not
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |