Skip to content

Commit e993e0e

Browse files
authored
Merge pull request #239211 from dileepraotv-github/NEW_TLS_UPDATES
Closed old PR and combined all changes into this new PR.
2 parents d1987ca + 108e8f6 commit e993e0e

File tree

8 files changed

+60
-7
lines changed

8 files changed

+60
-7
lines changed

articles/cosmos-db/database-security.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ Let's dig into each one in detail.
7272
|Respond to attacks|Once you have contacted Azure support to report a potential attack, a five-step incident response process is kicked off. The goal of the five-step process is to restore normal service security and operations. The five-step process restores services as quickly as possible after an issue is detected and an investigation is started.<br><br>Learn more in [Microsoft Azure Security Response in the Cloud](https://azure.microsoft.com/resources/shared-responsibilities-for-cloud-computing/).|
7373
|Geo-fencing|Azure Cosmos DB ensures data governance for sovereign regions (for example, Germany, China, US Gov).|
7474
|Protected facilities|Data in Azure Cosmos DB is stored on SSDs in Azure's protected data centers.<br><br>Learn more in [Microsoft global datacenters](https://www.microsoft.com/en-us/cloud-platform/global-datacenters)|
75-
|HTTPS/SSL/TLS encryption|All connections to Azure Cosmos DB support HTTPS. Azure Cosmos DB supports TLS levels up to 1.3 (included).<br>It's possible to enforce a minimum TLS level server-side. To do so, open an [Azure support ticket](https://azure.microsoft.com/support/options/).|
75+
|HTTPS/SSL/TLS encryption|All connections to Azure Cosmos DB support HTTPS. Azure Cosmos DB supports TLS levels up to 1.2 (included).<br>It's possible to enforce a minimum TLS level on server-side. To do so, refer to self service guide [Self-serve minimum TLS version enforcement in Azure Cosmos DB](./self-serve-minimum-tls-enforcement.md).|
7676
|Encryption at rest|All data stored into Azure Cosmos DB is encrypted at rest. Learn more in [Azure Cosmos DB encryption at rest](./database-encryption-at-rest.md)|
7777
|Patched servers|As a managed database, Azure Cosmos DB eliminates the need to manage and patch servers, that's done for you, automatically.|
7878
|Administrative accounts with strong passwords|It's hard to believe we even need to mention this requirement, but unlike some of our competitors, it's impossible to have an administrative account with no password in Azure Cosmos DB.<br><br> Security via TLS and HMAC secret based authentication is baked in by default.|
33.1 KB
Loading
12.2 KB
Loading
7.31 KB
Loading
5.13 KB
Loading
51.7 KB
Loading
51.5 KB
Loading

articles/cosmos-db/self-serve-minimum-tls-enforcement.md

Lines changed: 59 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ This article discusses how to enforce a minimum version of the TLS protocol for
1919

2020
Because of the multi-tenant nature of Cosmos DB, the service is required to meet the access and security needs of every user. To achieve this, **Cosmos DB enforces minimum TLS protocols at the application layer**, and not lower layers in the network stack where TLS operates. This enforcement occurs on any authenticated request to a specific database account, according to the settings set on that account by the customer.
2121

22-
The **minimum service-wide accepted version is TLS 1.0**. This can be changed on a per account basis, as discussed in the following section.
22+
The **minimum service-wide accepted version is TLS 1.0**. This selection can be changed on a per account basis, as discussed in the following section.
2323

2424
## How to set the minimum TLS version for my Cosmos DB database account
2525

@@ -33,9 +33,62 @@ The **default value for new and existing accounts is `Tls`**.
3333
> [!IMPORTANT]
3434
> Staring on April 1st, 2023, the **default value for new accounts will be switched to `Tls12`**.
3535
36+
### Set Minimal TLS Protocol in Azure Cosmos DB using the Portal
37+
38+
This self-serve feature is available in the Portal while creating and editing an account. Azure Cosmos DB Accounts enforce the TLS 1.2 protocol. However, Azure Cosmos DB also supports the following TLS protocols depending on the API kind selected.
39+
40+
- **MongoDB:** TLS 1.2
41+
42+
- **Cassandra:** TLS 1.2
43+
44+
- **Table, SQL and Graph:** TLS 1.0, TLS 1.1 and TLS 1.2
45+
46+
47+
48+
### Steps to set Minimal TLS Protocol while creating an account
49+
50+
If you're using an API Kind that only supports TLS 1.2, you'll notice in the Networking tab at the bottom the TLS protocol disabled.
51+
52+
:::image type="content" source="media/self-serve-minimum-tls-enforcement/tls-create-account.png" alt-text="Screenshot of API Kind that only supports TLS 1.2.":::
53+
54+
55+
56+
If you're using an API Kind that accepts multiple TLS protocols, then you can navigate to the Networking tab and the Minimum Transport Layer Security Protocol option is available. You can change the selected protocol by just clicking on the dropdown and selecting the desired protocol.
57+
58+
:::image type="content" source="media/self-serve-minimum-tls-enforcement/tls-select-account.png" alt-text="Screenshot of API Kind that accepts multiple TLS protocols.":::
59+
60+
61+
After setting up your account, you can review in the Review + create tab, at the bottom inside the Networking section, that the selected TLS Protocol is set as you specified.
62+
63+
:::image type="content" source="media/self-serve-minimum-tls-enforcement/summary.png" alt-text="Screenshot of selected TLS Protocol is set as you specified.":::
64+
65+
66+
### Steps to set the Minimal TLS Protocol while editing an account
67+
68+
1. Navigate to your Azure Cosmos DB account on the Azure portal.
69+
70+
2. Select Networking from the left menu, then select the Connectivity tab.
71+
72+
3. You'll find the Minimum Transport Layer Security Protocol option. If you're using an API Kind that only supports TLS 1.2, you'll notice this option disabled. Otherwise, you'll be able to select the desired TLS Protocol by just clicking on it.
73+
74+
75+
:::image type="content" source="media/self-serve-minimum-tls-enforcement/edit.png" alt-text="Screenshot of minimum transport layer security protocol option.":::
76+
77+
78+
4. Click Save once you changed the TLS protocol.
79+
80+
:::image type="content" source="media/self-serve-minimum-tls-enforcement/save.png" alt-text="Screenshot of save after change.":::
81+
82+
83+
5. Once it is saved, you'll receive a success notification. Still, this change can take up to 15 minutes to take effect after the configuration update is completed.
84+
85+
:::image type="content" source="media/self-serve-minimum-tls-enforcement/notification-success.png" alt-text="Screenshot of success notification.":::
86+
87+
88+
3689
### Set via Azure CLI
3790

38-
To set using Azure CLI, use the command below:
91+
To set using Azure CLI, use the command:
3992

4093
```azurecli-interactive
4194
subId=$(az account show --query id -o tsv)
@@ -47,7 +100,7 @@ az rest --uri "/subscriptions/$subId/resourceGroups/$rg/providers/Microsoft.Docu
47100

48101
### Set via Azure PowerShell
49102

50-
To set using Azure PowerShell, use the command below:
103+
To set using Azure PowerShell, use the command:
51104

52105
```azurepowershell-interactive
53106
$minimalTlsVersion = 'Tls12'
@@ -67,7 +120,7 @@ Invoke-AzRestMethod @patchParameters
67120

68121
### Set via ARM template
69122

70-
To set this property using an ARM template, update your existing template or export a new template for your current deployment, then add `"minimalTlsVersion"` to the properties for the `databaseAccounts` resources, with the desired minimum TLS version value. Below is a basic example of an Azure Resource Manager template with this property setting, using a parameter.
123+
To set this property using an ARM template, update your existing template or export a new template for your current deployment, then add `"minimalTlsVersion"` to the properties for the `databaseAccounts` resources, with the desired minimum TLS version value. Provided here is a basic example of an Azure Resource Manager template with this property setting, using a parameter.
71124

72125
```json
73126
{
@@ -115,7 +168,7 @@ You can also get the current value of the `minimalTlsVersion` property by using
115168

116169
### Get current value via Azure CLI
117170

118-
To get the current value of the property using Azure CLI, run the command below:
171+
To get the current value of the property using Azure CLI, run the command:
119172

120173
```azurecli-interactive
121174
subId=$(az account show --query id -o tsv)
@@ -126,7 +179,7 @@ az rest --uri "/subscriptions/$subId/resourceGroups/$rg/providers/Microsoft.Docu
126179

127180
### Get current value via Azure PowerShell
128181

129-
To get the current value of the property using Azure PowerShell, run the command below:
182+
To get the current value of the property using Azure PowerShell, run the command:
130183

131184
```azurepowershell-interactive
132185
$getParameters = @{

0 commit comments

Comments
 (0)