You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/machine-learning/concept-enterprise-security.md
+44-4Lines changed: 44 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ ms.topic: conceptual
9
9
ms.author: aashishb
10
10
author: aashishb
11
11
ms.reviewer: larryfr
12
-
ms.date: 01/09/2020
12
+
ms.date: 03/13/2020
13
13
---
14
14
15
15
# Enterprise security for Azure Machine Learning
@@ -102,6 +102,28 @@ Azure Machine Learning relies on other Azure services for compute resources. Com
102
102
103
103
For more information, see [How to run experiments and inference in a virtual network](how-to-enable-virtual-network.md).
104
104
105
+
You can also enable Azure Private Link for your workspace. Private Link allows you to restrict communications to your workspace from an Azure Virtual Network. For more information, see [How to configure Private Link](how-to-configure-private-link.md).
106
+
107
+
> [!TIP]
108
+
> You can combine virtual network and Private Link together to protect communication between your workspace and other Azure resources. However, some combinations require an Enterprise edition workspace. Use the following table to understand what scenarios require Enterprise edition:
> | Workspace without Private Link. Other resources (except Azure Container Registry) in a virtual network | ✔ | ✔ |
114
+
> | Workspace without Private Link. Other resources with Private Link | ✔ ||
115
+
> | Workspace with Private Link. Other resources (except Azure Container Registry) in a virtual network | ✔ | ✔ |
116
+
> | Workspace and any other resource with Private Link | ✔ ||
117
+
> | Workspace with Private Link. Other resources without Private Link or virtual network | ✔ | ✔ |
118
+
> | Azure Container Registry in a virtual network | ✔ ||
119
+
> | Customer Managed Keys for workspace | ✔ ||
120
+
>
121
+
122
+
> [!WARNING]
123
+
> Azure Machine Learning compute instances preview is not supported in a workspace where Private Link is enabled.
124
+
>
125
+
> Azure Machine Learning does not support using an Azure Kubernetes Service that has private link enabled. Instead, you can use Azure Kubernetes Service in a virtual network. For more information, see [Secure Azure ML experimentation and inference jobs within an Azure Virtual Network](how-to-enable-virtual-network.md).
126
+
105
127
## Data encryption
106
128
107
129
### Encryption at rest
@@ -119,6 +141,8 @@ For information on how to use your own keys for data stored in Azure Blob storag
119
141
120
142
Training data is typically also stored in Azure Blob storage so that it's accessible to training compute targets. This storage isn't managed by Azure Machine Learning but mounted to compute targets as a remote file system.
121
143
144
+
If you need to __rotate or revoke__ your key, you can do so at any time. When rotating a key, the storage account will start using the new key (latest version) to encrypt data at rest. When revoking (disabling) a key, the storage account takes care of failing requests. It usually takes an hour for the rotation or revocation to be effective.
145
+
122
146
For information on regenerating the access keys, see [Regenerate storage access keys](how-to-change-storage-access-key.md).
123
147
124
148
#### Azure Cosmos DB
@@ -152,6 +176,8 @@ This Cosmos DB instance is created in a Microsoft-managed resource group in your
152
176
> * If you need to delete this Cosmos DB instance, you must delete the Azure Machine Learning workspace that uses it.
153
177
> * The default [__Request Units__](../cosmos-db/request-units.md) for this Cosmos DB account is set at __8000__. Changing this value is unsupported.
154
178
179
+
If you need to __rotate or revoke__ your key, you can do so at any time. When rotating a key, Cosmos DB will start using the new key (latest version) to encrypt data at rest. When revoking (disabling) a key, Cosmos DB takes care of failing requests. It usually takes an hour for the rotation or revocation to be effective.
180
+
155
181
For more information on customer-managed keys with Cosmos DB, see [Configure customer-managed keys for your Azure Cosmos DB account](../cosmos-db/how-to-setup-cmk.md).
156
182
157
183
#### Azure Container Registry
@@ -167,7 +193,21 @@ For an example of creating a workspace using an existing Azure Container Registr
167
193
168
194
#### Azure Container Instance
169
195
170
-
Azure Container Instance does not support disk encryption. If you need disk encryption, we recommend [deploying to an Azure Kubernetes Service instance](how-to-deploy-azure-kubernetes-service.md) instead. In this case, you may also want to use Azure Machine Learning’s support for role-based access controls to prevent deployments to an Azure Container Instance in your subscription.
196
+
You may encrypt a deployed Azure Container Instance (ACI) resource using customer-managed keys. The customer-managed key used for ACI can be stored in the Azure Key Vault for your workspace. For information on generating a key, see [Encrypt data with a customer-managed key](../container-instances/container-instances-encrypt-data.md#generate-a-new-key).
197
+
198
+
To use the key when deploying a model to Azure Container Instance, create a new deployment configuration using `AciWebservice.deploy_configuration()`. Provide the key information using the following parameters:
199
+
200
+
*`cmk_vault_base_url`: The URL of the key vault that contains the key.
201
+
*`cmk_key_name`: The name of the key.
202
+
*`cmk_key_version`: The version of the key.
203
+
204
+
For more information on creating and using a deployment configuration, see the following articles:
*[Where and how to deploy](how-to-deploy-and-where.md)
208
+
*[Deploy a model to Azure Container Instances](how-to-deploy-azure-container-instance.md)
209
+
210
+
For more information on using a customer-managed key with ACI, see [Encrypt data with a customer-managed key](../container-instances/container-instances-encrypt-data.md#encrypt-data-with-a-customer-managed-key).
171
211
172
212
#### Azure Kubernetes Service
173
213
@@ -210,7 +250,7 @@ Each workspace has an associated system-assigned managed identity that has the s
210
250
211
251
### Microsoft collected data
212
252
213
-
Microsoft may collect non-user identifying information like resource names (for example the dataset name, or the machine learning experiment name), or job environment variables for diagnostic purposes. All such data is stored using Microsoft-managed keys in storage hosted in Microsoft owned subscriptions and follows [Microsoft’s standard Privacy policy and data handling standards](https://privacy.microsoft.com/privacystatement).
253
+
Microsoft may collect non-user identifying information like resource names (for example the dataset name, or the machine learning experiment name), or job environment variables for diagnostic purposes. All such data is stored using Microsoft-managed keys in storage hosted in Microsoft owned subscriptions and follows [Microsoft's standard Privacy policy and data handling standards](https://privacy.microsoft.com/privacystatement).
214
254
215
255
Microsoft also recommends not storing sensitive information (such as account key secrets) in environment variables. Environment variables are logged, encrypted, and stored by us. Similarly when naming [runid](https://docs.microsoft.com/python/api/azureml-core/azureml.core.run%28class%29?view=azure-ml-py), avoid including sensitive information such as user names or secret project names. This information may appear in telemetry logs accessible to Microsoft Support engineers.
216
256
@@ -323,7 +363,7 @@ Here are the details:
323
363
* The user creates an image by using a model, a score file, and other model dependencies.
324
364
* The Docker image is created and stored in Azure Container Registry.
325
365
* The web service is deployed to the compute target (Container Instances/AKS) using the image created in the previous step.
326
-
* Scoring request details are stored in Application Insights, which is in the user’s subscription.
366
+
* Scoring request details are stored in Application Insights, which is in the user's subscription.
327
367
* Telemetry is also pushed to the Microsoft/Azure subscription.
0 commit comments