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
resourceGroupName
path True

string

The name of the resource group. The name is case insensitive.

subscriptionId
path True

string

The ID of the target subscription.

workspaceName
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

ManagedIdentity

Identity of the workspace

properties.azureADOnlyAuthentication

boolean

Enable or Disable AzureADOnlyAuthentication on All Workspace subresource

properties.cspWorkspaceAdminProperties

CspWorkspaceAdminProperties

Initial workspace AAD admin properties for a CSP subscription

properties.defaultDataLakeStorage

DataLakeStorageAccountDetails

Workspace default data lake storage account details

properties.encryption

EncryptionDetails

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

ManagedVirtualNetworkSettings

Managed Virtual Network Settings

properties.privateEndpointConnections

PrivateEndpointConnection[]

Private endpoint connections to the workspace

properties.publicNetworkAccess

WorkspacePublicNetworkAccess

Enable or Disable public network access to workspace

properties.purviewConfiguration

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

VirtualNetworkProfile

Virtual Network profile

properties.workspaceRepositoryConfiguration

WorkspaceRepositoryConfiguration

Git integration settings

tags

object

Resource tags.

Responses

Name Type Description
200 OK

Workspace

201 Created

Workspace

Other Status Codes

ErrorResponse

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
CspWorkspaceAdminProperties

Initial workspace AAD admin properties for a CSP subscription

CustomerManagedKeyDetails

Details of the customer managed key associated with the workspace

DataLakeStorageAccountDetails

Details of the data lake storage account associated with the workspace

EncryptionDetails

Details of the encryption associated with the workspace

ErrorAdditionalInfo

The resource management error additional info.

ErrorDetail

The error detail.

ErrorResponse

Error response

KekIdentityProperties

Key encryption key properties

ManagedIdentity

The workspace managed identity

ManagedVirtualNetworkSettings

Managed Virtual Network Settings

PrivateEndpoint

Private endpoint details

PrivateEndpointConnection

A private endpoint connection

PrivateLinkServiceConnectionState

Connection state details of the private endpoint

PurviewConfiguration

Purview Configuration

ResourceIdentityType

The type of managed identity for the workspace

UserAssignedManagedIdentity

User Assigned Managed Identity

VirtualNetworkProfile

Virtual Network Profile

Workspace

A workspace

WorkspaceKeyDetails

Details of the customer managed key associated with the workspace

WorkspacePublicNetworkAccess

Enable or Disable public network access to workspace

WorkspaceRepositoryConfiguration

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

KekIdentityProperties

Key encryption key

key

WorkspaceKeyDetails

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

CustomerManagedKeyDetails

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

ErrorAdditionalInfo[]

The error additional info.

code

string

The error code.

details

ErrorDetail[]

The error details.

message

string

The error message.

target

string

The error target.

ErrorResponse

Error response

Name Type Description
error

ErrorDetail

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

ResourceIdentityType

The type of managed identity for the workspace

userAssignedIdentities

<string,  UserAssignedManagedIdentity>

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

PrivateEndpoint

The private endpoint which the connection belongs to.

properties.privateLinkServiceConnectionState

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

ManagedIdentity

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

CspWorkspaceAdminProperties

Initial workspace AAD admin properties for a CSP subscription

properties.defaultDataLakeStorage

DataLakeStorageAccountDetails

Workspace default data lake storage account details

properties.encryption

EncryptionDetails

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

ManagedVirtualNetworkSettings

Managed Virtual Network Settings

properties.privateEndpointConnections

PrivateEndpointConnection[]

Private endpoint connections to the workspace

properties.provisioningState

string

Resource provisioning state

properties.publicNetworkAccess

WorkspacePublicNetworkAccess

Enabled

Enable or Disable public network access to workspace

properties.purviewConfiguration

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

VirtualNetworkProfile

Virtual Network profile

properties.workspaceRepositoryConfiguration

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: https://github.mydomain.com

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