Workspaces - Create Or Update
Creates or updates a workspace
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}?api-version=2021-06-01
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
resource
|
path | True |
string |
The name of the resource group. The name is case insensitive. |
subscription
|
path | True |
string |
The ID of the target subscription. |
workspace
|
path | True |
string |
The name of the workspace. |
api-version
|
query | True |
string |
The API version to use for this operation. |
Request Body
Name | Required | Type | Description |
---|---|---|---|
location | True |
string |
The geo-location where the resource lives |
identity |
Identity of the workspace |
||
properties.azureADOnlyAuthentication |
boolean |
Enable or Disable AzureADOnlyAuthentication on All Workspace subresource |
|
properties.cspWorkspaceAdminProperties |
Initial workspace AAD admin properties for a CSP subscription |
||
properties.defaultDataLakeStorage |
Workspace default data lake storage account details |
||
properties.encryption |
The encryption details of the workspace |
||
properties.managedResourceGroupName |
string |
Workspace managed resource group. The resource group name uniquely identifies the resource group within the user subscriptionId. The resource group name must be no longer than 90 characters long, and must be alphanumeric characters (Char.IsLetterOrDigit()) and '-', '_', '(', ')' and'.'. Note that the name cannot end with '.' |
|
properties.managedVirtualNetwork |
string |
Setting this to 'default' will ensure that all compute for this workspace is in a virtual network managed on behalf of the user. |
|
properties.managedVirtualNetworkSettings |
Managed Virtual Network Settings |
||
properties.privateEndpointConnections |
Private endpoint connections to the workspace |
||
properties.publicNetworkAccess |
Enable or Disable public network access to workspace |
||
properties.purviewConfiguration |
Purview Configuration |
||
properties.sqlAdministratorLogin |
string |
Login for workspace SQL active directory administrator |
|
properties.sqlAdministratorLoginPassword |
string |
SQL administrator login password |
|
properties.trustedServiceBypassEnabled |
boolean |
Is trustedServiceBypassEnabled for the workspace |
|
properties.virtualNetworkProfile |
Virtual Network profile |
||
properties.workspaceRepositoryConfiguration |
Git integration settings |
||
tags |
object |
Resource tags. |
Responses
Name | Type | Description |
---|---|---|
200 OK | ||
201 Created | ||
Other Status Codes |
Examples
Create or update a workspace
Sample request
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup1/providers/Microsoft.Synapse/workspaces/workspace1?api-version=2021-06-01
{
"identity": {
"type": "SystemAssigned,UserAssigned",
"userAssignedIdentities": {
"/subscriptions/00000000-1111-2222-3333-444444444444/resourcegroups/resourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uami1": {}
}
},
"properties": {
"defaultDataLakeStorage": {
"accountUrl": "https://accountname.dfs.core.windows.net",
"filesystem": "default"
},
"managedVirtualNetworkSettings": {
"preventDataExfiltration": false,
"linkedAccessCheckOnTargetResource": false,
"allowedAadTenantIdsForLinking": [
"740239CE-A25B-485B-86A0-262F29F6EBDB"
]
},
"purviewConfiguration": {
"purviewResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup1/providers/Microsoft.ProjectPurview/accounts/accountname1"
},
"sqlAdministratorLogin": "login",
"sqlAdministratorLoginPassword": "password",
"managedVirtualNetwork": "default",
"managedResourceGroupName": "workspaceManagedResourceGroupUnique",
"workspaceRepositoryConfiguration": {
"type": "FactoryGitHubConfiguration",
"hostName": "",
"accountName": "mygithubaccount",
"projectName": "myproject",
"repositoryName": "myrepository",
"collaborationBranch": "master",
"rootFolder": "/"
},
"encryption": {
"cmk": {
"kekIdentity": {
"userAssignedIdentity": "/subscriptions/b64d7b94-73e7-4d36-94b2-7764ea3fd74a/resourcegroups/SynapseCI/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uami1",
"useSystemAssignedIdentity": false
},
"key": {
"name": "default",
"keyVaultUrl": "https://vault.azure.net/keys/key1"
}
}
},
"publicNetworkAccess": "Enabled",
"cspWorkspaceAdminProperties": {
"initialWorkspaceAdminObjectId": "6c20646f-8050-49ec-b3b1-80a0e58e454d"
}
},
"location": "East US",
"tags": {
"key": "value"
}
}
Sample response
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup1/providers/Microsoft.Synapse/workspaces/workspace1",
"name": "workspace1",
"type": "Microsoft.Synapse/workspaces",
"location": "East US",
"identity": {
"type": "SystemAssigned,UserAssigned",
"userAssignedIdentities": {
"/subscriptions/00000000-1111-2222-3333-444444444444/resourcegroups/resourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uami1": {
"clientId": "ffffffff-8888-4444-8888-333333333333",
"principalId": "eeeeeeee-9999-4444-8888-333333333333"
}
},
"principalId": "00000000-1111-2222-3333-444444444444",
"tenantId": "00000000-1111-2222-3333-444444444444"
},
"properties": {
"defaultDataLakeStorage": {
"accountUrl": "https://accountname.dfs.core.windows.net",
"filesystem": "default"
},
"connectivityEndpoints": {
"dev": "workspace1.dev.projectarcadia.net",
"sql": "workspace1.sql.projectarcadia.net"
},
"managedVirtualNetworkSettings": {
"preventDataExfiltration": false,
"linkedAccessCheckOnTargetResource": false,
"allowedAadTenantIdsForLinking": [
"740239CE-A25B-485B-86A0-262F29F6EBDB"
]
},
"purviewConfiguration": {
"purviewResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup1/providers/Microsoft.ProjectPurview/accounts/accountname1"
},
"sqlAdministratorLogin": "login",
"managedResourceGroupName": "workspaceManagedResourceGroupUnique",
"managedVirtualNetwork": "default",
"provisioningState": "Succeeded",
"privateEndpointConnections": [
{
"id": "/subscriptions/01234567-89ab-4def-0123-456789abcdef/resourceGroups/ExampleResourceGroup/providers/Microsoft.Synapse/workspaces/ExampleWorkspace/privateEndpointConnections/ExamplePrivateEndpointConnection",
"name": "sql",
"type": "Microsoft.Synapse/workspaces/privateEndpointConnections",
"properties": {
"provisioningState": "Succeeded",
"privateEndpoint": {
"id": "/subscriptions/01234567-89ab-4def-0123-456789abcdef/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/privateEndpoints/ExamplePrivateEndpoint"
},
"privateLinkServiceConnectionState": {
"status": "Approved",
"description": "Auto-approved",
"actionsRequired": "None"
}
}
}
],
"workspaceUID": "00000000-1111-2222-3333-444444444444",
"encryption": {
"doubleEncryptionEnabled": true,
"cmk": {
"kekIdentity": {
"userAssignedIdentity": "/subscriptions/00000000-1111-2222-3333-444444444444/resourcegroups/resourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uami1",
"useSystemAssignedIdentity": false
},
"status": "Consistent",
"key": {
"name": "default",
"keyVaultUrl": "https://vault.azure.net/keys/key1"
}
}
},
"publicNetworkAccess": "Enabled"
},
"tags": {
"key": "value"
}
}
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup1/providers/Microsoft.Synapse/workspaces/workspace1",
"name": "workspace1",
"type": "Microsoft.Synapse/workspaces",
"location": "East US",
"identity": {
"type": "SystemAssigned,UserAssigned",
"userAssignedIdentities": {
"/subscriptions/00000000-1111-2222-3333-444444444444/resourcegroups/resourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uami1": {
"clientId": "ffffffff-8888-4444-8888-333333333333",
"principalId": "eeeeeeee-9999-4444-8888-333333333333"
}
},
"principalId": "00000000-1111-2222-3333-444444444444",
"tenantId": "00000000-1111-2222-3333-444444444444"
},
"properties": {
"defaultDataLakeStorage": {
"accountUrl": "https://accountname.dfs.core.windows.net",
"filesystem": "default"
},
"managedVirtualNetworkSettings": {
"preventDataExfiltration": false,
"linkedAccessCheckOnTargetResource": false,
"allowedAadTenantIdsForLinking": [
"740239CE-A25B-485B-86A0-262F29F6EBDB"
]
},
"purviewConfiguration": {
"purviewResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup1/providers/Microsoft.ProjectPurview/accounts/accountname1"
},
"connectivityEndpoints": {
"dev": "workspace1.dev.projectarcadia.net",
"sql": "workspace1.sql.projectarcadia.net"
},
"sqlAdministratorLogin": "login",
"managedResourceGroupName": "workspaceManagedResourceGroupUnique",
"managedVirtualNetwork": "default",
"provisioningState": "Provisioning",
"workspaceUID": "86984b43-b873-4b91-bacd-2ca083a104c7",
"encryption": {
"doubleEncryptionEnabled": true,
"cmk": {
"kekIdentity": {
"userAssignedIdentity": "/subscriptions/00000000-1111-2222-3333-444444444444/resourcegroups/resourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uami1",
"useSystemAssignedIdentity": false
},
"status": "Consistent",
"key": {
"name": "default",
"keyVaultUrl": "https://vault.azure.net/keys/key1"
}
}
},
"publicNetworkAccess": "Enabled"
},
"tags": {
"key": "value"
}
}
{
"error": {
"code": "Error code",
"message": "Error message"
}
}
Definitions
Name | Description |
---|---|
Csp |
Initial workspace AAD admin properties for a CSP subscription |
Customer |
Details of the customer managed key associated with the workspace |
Data |
Details of the data lake storage account associated with the workspace |
Encryption |
Details of the encryption associated with the workspace |
Error |
The resource management error additional info. |
Error |
The error detail. |
Error |
Error response |
Kek |
Key encryption key properties |
Managed |
The workspace managed identity |
Managed |
Managed Virtual Network Settings |
Private |
Private endpoint details |
Private |
A private endpoint connection |
Private |
Connection state details of the private endpoint |
Purview |
Purview Configuration |
Resource |
The type of managed identity for the workspace |
User |
User Assigned Managed Identity |
Virtual |
Virtual Network Profile |
Workspace |
A workspace |
Workspace |
Details of the customer managed key associated with the workspace |
Workspace |
Enable or Disable public network access to workspace |
Workspace |
Git integration settings |
CspWorkspaceAdminProperties
Initial workspace AAD admin properties for a CSP subscription
Name | Type | Description |
---|---|---|
initialWorkspaceAdminObjectId |
string |
AAD object ID of initial workspace admin |
CustomerManagedKeyDetails
Details of the customer managed key associated with the workspace
Name | Type | Description |
---|---|---|
kekIdentity |
Key encryption key |
|
key |
The key object of the workspace |
|
status |
string |
The customer managed key status on the workspace |
DataLakeStorageAccountDetails
Details of the data lake storage account associated with the workspace
Name | Type | Description |
---|---|---|
accountUrl |
string |
Account URL |
createManagedPrivateEndpoint |
boolean |
Create managed private endpoint to this storage account or not |
filesystem |
string |
Filesystem name |
resourceId |
string |
ARM resource Id of this storage account |
EncryptionDetails
Details of the encryption associated with the workspace
Name | Type | Description |
---|---|---|
cmk |
Customer Managed Key Details |
|
doubleEncryptionEnabled |
boolean |
Double Encryption enabled |
ErrorAdditionalInfo
The resource management error additional info.
Name | Type | Description |
---|---|---|
info |
object |
The additional info. |
type |
string |
The additional info type. |
ErrorDetail
The error detail.
Name | Type | Description |
---|---|---|
additionalInfo |
The error additional info. |
|
code |
string |
The error code. |
details |
The error details. |
|
message |
string |
The error message. |
target |
string |
The error target. |
ErrorResponse
Error response
Name | Type | Description |
---|---|---|
error |
The error object. |
KekIdentityProperties
Key encryption key properties
Name | Type | Description |
---|---|---|
useSystemAssignedIdentity |
|
Boolean specifying whether to use system assigned identity or not |
userAssignedIdentity |
string |
User assigned identity resource Id |
ManagedIdentity
The workspace managed identity
Name | Type | Description |
---|---|---|
principalId |
string |
The principal ID of the workspace managed identity |
tenantId |
string |
The tenant ID of the workspace managed identity |
type |
The type of managed identity for the workspace |
|
userAssignedIdentities |
<string,
User |
The user assigned managed identities. |
ManagedVirtualNetworkSettings
Managed Virtual Network Settings
Name | Type | Description |
---|---|---|
allowedAadTenantIdsForLinking |
string[] |
Allowed Aad Tenant Ids For Linking |
linkedAccessCheckOnTargetResource |
boolean |
Linked Access Check On Target Resource |
preventDataExfiltration |
boolean |
Prevent Data Exfiltration |
PrivateEndpoint
Private endpoint details
Name | Type | Description |
---|---|---|
id |
string |
Resource id of the private endpoint. |
PrivateEndpointConnection
A private endpoint connection
Name | Type | Description |
---|---|---|
id |
string |
Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} |
name |
string |
The name of the resource |
properties.privateEndpoint |
The private endpoint which the connection belongs to. |
|
properties.privateLinkServiceConnectionState |
Connection state of the private endpoint connection. |
|
properties.provisioningState |
string |
Provisioning state of the private endpoint connection. |
type |
string |
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" |
PrivateLinkServiceConnectionState
Connection state details of the private endpoint
Name | Type | Description |
---|---|---|
actionsRequired |
string |
The actions required for private link service connection. |
description |
string |
The private link service connection description. |
status |
string |
The private link service connection status. |
PurviewConfiguration
Purview Configuration
Name | Type | Description |
---|---|---|
purviewResourceId |
string |
Purview Resource ID |
ResourceIdentityType
The type of managed identity for the workspace
Name | Type | Description |
---|---|---|
None |
string |
|
SystemAssigned |
string |
|
SystemAssigned,UserAssigned |
string |
UserAssignedManagedIdentity
User Assigned Managed Identity
Name | Type | Description |
---|---|---|
clientId |
string |
The client ID. |
principalId |
string |
The principal ID. |
VirtualNetworkProfile
Virtual Network Profile
Name | Type | Description |
---|---|---|
computeSubnetId |
string |
Subnet ID used for computes in workspace |
Workspace
A workspace
Name | Type | Default value | Description |
---|---|---|---|
id |
string |
Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} |
|
identity |
Identity of the workspace |
||
location |
string |
The geo-location where the resource lives |
|
name |
string |
The name of the resource |
|
properties.adlaResourceId |
string |
The ADLA resource ID. |
|
properties.azureADOnlyAuthentication |
boolean |
Enable or Disable AzureADOnlyAuthentication on All Workspace subresource |
|
properties.connectivityEndpoints |
object |
Connectivity endpoints |
|
properties.cspWorkspaceAdminProperties |
Initial workspace AAD admin properties for a CSP subscription |
||
properties.defaultDataLakeStorage |
Workspace default data lake storage account details |
||
properties.encryption |
The encryption details of the workspace |
||
properties.extraProperties |
object |
Workspace level configs and feature flags |
|
properties.managedResourceGroupName |
string |
Workspace managed resource group. The resource group name uniquely identifies the resource group within the user subscriptionId. The resource group name must be no longer than 90 characters long, and must be alphanumeric characters (Char.IsLetterOrDigit()) and '-', '_', '(', ')' and'.'. Note that the name cannot end with '.' |
|
properties.managedVirtualNetwork |
string |
Setting this to 'default' will ensure that all compute for this workspace is in a virtual network managed on behalf of the user. |
|
properties.managedVirtualNetworkSettings |
Managed Virtual Network Settings |
||
properties.privateEndpointConnections |
Private endpoint connections to the workspace |
||
properties.provisioningState |
string |
Resource provisioning state |
|
properties.publicNetworkAccess | Enabled |
Enable or Disable public network access to workspace |
|
properties.purviewConfiguration |
Purview Configuration |
||
properties.settings |
object |
Workspace settings |
|
properties.sqlAdministratorLogin |
string |
Login for workspace SQL active directory administrator |
|
properties.sqlAdministratorLoginPassword |
string |
SQL administrator login password |
|
properties.trustedServiceBypassEnabled |
boolean |
False |
Is trustedServiceBypassEnabled for the workspace |
properties.virtualNetworkProfile |
Virtual Network profile |
||
properties.workspaceRepositoryConfiguration |
Git integration settings |
||
properties.workspaceUID |
string |
The workspace unique identifier |
|
tags |
object |
Resource tags. |
|
type |
string |
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" |
WorkspaceKeyDetails
Details of the customer managed key associated with the workspace
Name | Type | Description |
---|---|---|
keyVaultUrl |
string |
Workspace Key sub-resource key vault url |
name |
string |
Workspace Key sub-resource name |
WorkspacePublicNetworkAccess
Enable or Disable public network access to workspace
Name | Type | Description |
---|---|---|
Disabled |
string |
|
Enabled |
string |
WorkspaceRepositoryConfiguration
Git integration settings
Name | Type | Description |
---|---|---|
accountName |
string |
Account name |
collaborationBranch |
string |
Collaboration branch |
hostName |
string |
GitHub Enterprise host name. For example: |
lastCommitId |
string |
The last commit ID |
projectName |
string |
VSTS project name |
repositoryName |
string |
Repository name |
rootFolder |
string |
Root folder to use in the repository |
tenantId |
string |
The VSTS tenant ID |
type |
string |
Type of workspace repositoryID configuration. Example WorkspaceVSTSConfiguration, WorkspaceGitHubConfiguration |