Skip to content

Commit d5f9ee4

Browse files
authored
Merge branch 'MicrosoftDocs:main' into akiohose_49614
2 parents b3e3a29 + cc7bca7 commit d5f9ee4

729 files changed

Lines changed: 69696 additions & 18856 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.openpublishing.redirection.azure-sql.json

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -480,6 +480,11 @@
480480
"redirect_url": "/azure/security-center/defender-for-sql-on-machines-vulnerability-assessment",
481481
"redirect_document_id": false
482482
},
483+
{
484+
"source_path_from_root": "/azure-sql/database/always-encrypted-enclaves-enable-sgx.md",
485+
"redirect_url": "/azure/azure-sql/database/always-encrypted-enclaves-enable",
486+
"redirect_document_id": false
487+
},
483488
{
484489
"source_path_from_root": "/azure-sql/database/machine-learning-services-add-r-packages.md",
485490
"redirect_url": "/sql/machine-learning/package-management/install-additional-r-packages-on-sql-server?context=/azure/azure-sql/managed-instance/context/ml-context&view=azuresqldb-mi-current",
@@ -575,6 +580,21 @@
575580
"redirect_url": "/azure/azure-sql/managed-instance/connectivity-architecture-overview",
576581
"redirect_document_id": false
577582
},
583+
{
584+
"source_path_from_root": "/azure-sql/database/service-tier-general-purpose.md",
585+
"redirect_url": "/azure/azure-sql/database/service-tiers-sql-database-vcore",
586+
"redirect_document_id": false
587+
},
588+
{
589+
"source_path_from_root": "/azure-sql/database/service-tier-business-critical.md",
590+
"redirect_url": "/azure/azure-sql/database/service-tiers-sql-database-vcore",
591+
"redirect_document_id": false
592+
},
593+
{
594+
"source_path_from_root": "/azure-sql/database/service-tiers-vcore.md",
595+
"redirect_url": "/azure/azure-sql/database/service-tiers-sql-database-vcore",
596+
"redirect_document_id": false
597+
},
578598
{
579599
"source_path_from_root": "/azure-sql/managed-instance/management-endpoint-verify-built-in-firewall.md",
580600
"redirect_url": "/azure/azure-sql/managed-instance/connectivity-architecture-overview",
@@ -584,7 +604,12 @@
584604
"source_path_from_root": "/azure-sql/managed-instance/scripts/restore-geo-backup-cli.md",
585605
"redirect_url": "/azure/azure-sql/managed-instance/scripts/restore-geo-backup",
586606
"redirect_document_id": false
587-
},
607+
},
608+
{
609+
"source_path_from_root": "/azure-sql/database/elastic-jobs-migrate.md",
610+
"redirect_url": "/azure/azure-sql/database/job-automation-overview",
611+
"redirect_document_id": false
612+
},
588613
{
589614
"source_path_from_root": "/azure-sql/database/sql-database-vulnerability-assessment-rules.md",
590615
"redirect_url": "/azure/defender-for-cloud/sql-azure-vulnerability-assessment-rules",
@@ -596,4 +621,4 @@
596621
"redirect_document_id": false
597622
}
598623
]
599-
}
624+
}

.openpublishing.redirection.json

Lines changed: 73 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41310,6 +41310,16 @@
4131041310
"redirect_url": "/sql/dma/dma-consolidatereports",
4131141311
"redirect_document_id": false
4131241312
},
41313+
{
41314+
"source_path": "docs/sql-server/azure-arc/billing.md",
41315+
"redirect_url": "/sql/sql-server/azure-arc/manage-license-type",
41316+
"redirect_document_id": false
41317+
},
41318+
{
41319+
"source_path": "docs/sql-server/azure-arc/connect-at-scale.md",
41320+
"redirect_url": "/sql/sql-server/azure-arc/connect-at-scale-script",
41321+
"redirect_document_id": false
41322+
},
4131341323
{
4131441324
"source_path": "docs/azdata/reference/reference-azdata-arc.md",
4131541325
"redirect_url": "/azure/azure-arc/data/reference/overview",
@@ -41400,6 +41410,16 @@
4140041410
"redirect_url": "/azure/azure-arc/data/reference/reference-az-sql-mi-arc",
4140141411
"redirect_document_id": false
4140241412
},
41413+
{
41414+
"source_path": "docs/ssms/download-sql-server-management-studio-ssms-19.md",
41415+
"redirect_url": "/sql/ssms/download-sql-server-management-studio-ssms",
41416+
"redirect_document_id": false
41417+
},
41418+
{
41419+
"source_path": "docs/ssms/release-notes-ssms-19.md",
41420+
"redirect_url": "/sql/ssms/release-notes-ssms",
41421+
"redirect_document_id": false
41422+
},
4140341423
{
4140441424
"source_path": "docs/big-data-cluster/reference-mssqlctl-bdc-app-template.md",
4140541425
"redirect_url": "/sql/big-data-cluster/reference-azdata-bdc-app-template",
@@ -52138,42 +52158,42 @@
5213852158
{
5213952159
"source_path": "docs/relational-databases/scripting/configure-intellisense-sql-server-management-studio.md",
5214052160
"redirect_url": "/sql/ssms/scripting/configure-intellisense-sql-server-management-studio",
52141-
"redirect_document_id": true
52161+
"redirect_document_id": false
5214252162
},
5214352163
{
5214452164
"source_path": "docs/relational-databases/scripting/database-engine-query-editor-sql-server-management-studio.md",
5214552165
"redirect_url": "/sql/ssms/scripting/database-engine-query-editor-sql-server-management-studio",
52146-
"redirect_document_id": true
52166+
"redirect_document_id": false
5214752167
},
5214852168
{
5214952169
"source_path": "docs/relational-databases/scripting/database-engine-scripting.md",
5215052170
"redirect_url": "/sql/ssms/scripting/database-engine-scripting",
52151-
"redirect_document_id": true
52171+
"redirect_document_id": false
5215252172
},
5215352173
{
5215452174
"source_path": "docs/relational-databases/scripting/drag-and-drop-text.md",
5215552175
"redirect_url": "/sql/ssms/scripting/drag-and-drop-text",
52156-
"redirect_document_id": true
52176+
"redirect_document_id": false
5215752177
},
5215852178
{
5215952179
"source_path": "docs/relational-databases/scripting/edit-a-breakpoint-location.md",
5216052180
"redirect_url": "/sql/ssms/scripting/edit-a-breakpoint-location",
52161-
"redirect_document_id": true
52181+
"redirect_document_id": false
5216252182
},
5216352183
{
5216452184
"source_path": "docs/relational-databases/scripting/edit-sqlcmd-scripts-with-query-editor.md",
5216552185
"redirect_url": "/sql/ssms/scripting/edit-sqlcmd-scripts-with-query-editor",
52166-
"redirect_document_id": true
52186+
"redirect_document_id": false
5216752187
},
5216852188
{
5216952189
"source_path": "docs/relational-databases/scripting/enable-disable-and-delete-breakpoints.md",
5217052190
"redirect_url": "/sql/ssms/scripting/enable-disable-and-delete-breakpoints",
52171-
"redirect_document_id": true
52191+
"redirect_document_id": false
5217252192
},
5217352193
{
5217452194
"source_path": "docs/relational-databases/scripting/find-and-replace.md",
5217552195
"redirect_url": "/sql/ssms/scripting/find-and-replace",
52176-
"redirect_document_id": true
52196+
"redirect_document_id": false
5217752197
},
5217852198
{
5217952199
"source_path": "docs/relational-databases/scripting/find-in-files.md",
@@ -59375,6 +59395,11 @@
5937559395
"redirect_url": "/sql/database-engine/install-windows/supported-version-and-edition-upgrades-2019",
5937659396
"redirect_document_id": false
5937759397
},
59398+
{
59399+
"source_path": "docs/database-engine/install-windows/latest-updates-for-microsoft-sql-server.md",
59400+
"redirect_url": "/troubleshoot/sql/releases/download-and-install-latest-updates?toc=/sql/toc.json&bc=/sql/breadcrumb/toc.json",
59401+
"redirect_document_id": false
59402+
},
5937859403
{
5937959404
"source_path": "docs/sql-server/what-s-new-in-sql-server-ver15.md",
5938059405
"redirect_url": "/sql/sql-server/what-s-new-in-sql-server-2019",
@@ -59475,6 +59500,46 @@
5947559500
"redirect_url": "/sql/tools/distributed-replay/sql-server-distributed-replay",
5947659501
"redirect_document_id": false
5947759502
},
59503+
{
59504+
"source_path": "docs/tools/sqlcmd-utility.md",
59505+
"redirect_url": "/sql/tools/sqlcmd/sqlcmd-utility",
59506+
"redirect_document_id": true
59507+
},
59508+
{
59509+
"source_path": "docs/ssms/scripting/edit-sqlcmd-scripts-with-query-editor.md",
59510+
"redirect_url": "/sql/tools/sqlcmd/edit-sqlcmd-scripts-query-editor",
59511+
"redirect_document_id": true
59512+
},
59513+
{
59514+
"source_path": "docs/ssms/scripting/sqlcmd-start-the-utility.md",
59515+
"redirect_url": "/sql/tools/sqlcmd/sqlcmd-start-utility",
59516+
"redirect_document_id": true
59517+
},
59518+
{
59519+
"source_path": "docs/ssms/scripting/sqlcmd-connect-to-the-database-engine.md",
59520+
"redirect_url": "/sql/tools/sqlcmd/sqlcmd-connect-database-engine",
59521+
"redirect_document_id": true
59522+
},
59523+
{
59524+
"source_path": "docs/ssms/scripting/sqlcmd-run-transact-sql-script-files.md",
59525+
"redirect_url": "/sql/tools/sqlcmd/sqlcmd-run-transact-sql-script-files",
59526+
"redirect_document_id": true
59527+
},
59528+
{
59529+
"source_path": "docs/ssms/scripting/sqlcmd-use-the-utility.md",
59530+
"redirect_url": "/sql/tools/sqlcmd/sqlcmd-use-utility",
59531+
"redirect_document_id": true
59532+
},
59533+
{
59534+
"source_path": "docs/ssms/scripting/sqlcmd-use-with-scripting-variables.md",
59535+
"redirect_url": "/sql/tools/sqlcmd/sqlcmd-use-scripting-variables",
59536+
"redirect_document_id": true
59537+
},
59538+
{
59539+
"source_path": "docs/tools/go-sqlcmd-utility.md",
59540+
"redirect_url": "/sql/tools/sqlcmd/go-sqlcmd-utility",
59541+
"redirect_document_id": true
59542+
},
5947859543
{
5947959544
"source_path": "docs/ssms/scripting/transact-sql-debugger-quickwatch-dialog-box.md",
5948059545
"redirect_url": "/sql/ssms/scripting/transact-sql-debugger-information",

azure-sql/database/active-geo-replication-configure-portal.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,6 @@ This operation permanently stops the replication to the secondary database, and
151151
1. In the [Azure portal](https://portal.azure.com), browse to the primary database in the geo-replication partnership.
152152
2. Select **Replicas**.
153153
3. In the **Geo replicas** list, select the database you want to remove from the geo-replication partnership, select the ellipsis, and then select **Stop replication**.
154-
155-
:::image type="content" source="./media/active-geo-replication-configure-portal/azure-portal-select-stop-replication.png" alt-text="Screenshot that shows selecting stop replication from the drop-down.":::
156154
5. A confirmation window opens. Click **Yes** to remove the database from the geo-replication partnership. (Set it to a read-write database not part of any replication.)
157155

158156
# [Azure CLI](#tab/azure-cli)

azure-sql/database/always-encrypted-enclaves-configure-attestation.md

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Configure Azure Attestation for Always Encrypted with secure enclav
44
author: jaszymas
55
ms.author: jaszymas
66
ms.reviewer: vanto
7-
ms.date: 07/14/2021
7+
ms.date: 02/01/2023
88
ms.service: sql-database
99
ms.subservice: security
1010
ms.topic: how-to
@@ -24,25 +24,29 @@ keywords:
2424

2525
[!INCLUDE[appliesto-sqldb](../includes/appliesto-sqldb.md)]
2626

27-
[Microsoft Azure Attestation](/azure/attestation/overview) is a solution for attesting Trusted Execution Environments (TEEs), including Intel Software Guard Extensions (Intel SGX) enclaves.
27+
[Microsoft Azure Attestation](/azure/attestation/overview) is a solution for attesting Trusted Execution Environments (TEEs), including Intel Software Guard Extensions (Intel SGX) enclaves.
2828

2929
To use Azure Attestation for attesting Intel SGX enclaves used for [Always Encrypted with secure enclaves](/sql/relational-databases/security/encryption/always-encrypted-enclaves) in Azure SQL Database, you need to:
3030

3131
1. Create an [attestation provider](/azure/attestation/basic-concepts#attestation-provider) and configure it with the recommended attestation policy.
3232

3333
2. Determine the attestation URL and share it with application administrators.
3434

35+
> [!IMPORTANT]
36+
>With Intel SGX enclaves in Azure SQL Database, attestation is mandatory and it requires Microsoft Azure Attestation.
37+
VBS enclaves in Azure SQL Database (in preview) currently do not support attestation. This document only applies to Intel SGX enclaves.
38+
3539
> [!NOTE]
36-
> Configuring attestation is the responsibility of the attestation administrator. See [Roles and responsibilities when configuring SGX enclaves and attestation](always-encrypted-enclaves-plan.md#roles-and-responsibilities-when-configuring-sgx-enclaves-and-attestation).
40+
> Configuring attestation is the responsibility of the attestation administrator. See [Roles and responsibilities when configuring Intel SGX enclaves and attestation](always-encrypted-enclaves-plan.md#roles-and-responsibilities-when-configuring-intel-sgx-enclaves-and-attestation).
3741
3842
## Create and configure an attestation provider
3943

40-
An [attestation provider](/azure/attestation/basic-concepts#attestation-provider) is a resource in Azure Attestation that evaluates [attestation requests](/azure/attestation/basic-concepts#attestation-request) against [attestation policies](/azure/attestation/basic-concepts#attestation-request) and issues [attestation tokens](/azure/attestation/basic-concepts#attestation-token).
44+
An [attestation provider](/azure/attestation/basic-concepts#attestation-provider) is a resource in Azure Attestation that evaluates [attestation requests](/azure/attestation/basic-concepts#attestation-request) against [attestation policies](/azure/attestation/basic-concepts#attestation-request) and issues [attestation tokens](/azure/attestation/basic-concepts#attestation-token).
4145

4246
Attestation policies are specified using the [claim rule grammar](/azure/attestation/claim-rule-grammar).
4347

4448
> [!IMPORTANT]
45-
> An attestation provider gets created with the default policy for Intel SGX enclaves, which does not validate the code running inside the enclave. Microsoft strongly advises you set the below recommended policy, and not use the default policy, for Always Encrypted with secure enclaves.
49+
> An attestation provider gets created with the default policy for Intel SGX enclaves, which does not validate the code running inside the enclave. Microsoft strongly advises you set the recommended policy used in the following output, and not use the default policy for Always Encrypted with secure enclaves.
4650
4751
Microsoft recommends the following policy for attesting Intel SGX enclaves used for Always Encrypted in Azure SQL Database:
4852

@@ -58,16 +62,23 @@ authorizationrules
5862
};
5963
```
6064

61-
The above policy verifies:
65+
The policy verifies:
66+
67+
- The enclave inside Azure SQL Database doesn't support debugging.
68+
69+
Enclaves can be loaded with debugging disabled or enabled. Debugging support is designed to allow developers to troubleshoot the code running in an enclave. In a production system, debugging could enable an administrator to examine the content of the enclave, which would reduce the level of protection the enclave provides. The recommended policy disables debugging to ensure that if a malicious admin tries to turn on debugging support by taking over the enclave machine, attestation will fail.
6270

63-
- The enclave inside Azure SQL Database doesn't support debugging.
64-
> Enclaves can be loaded with debugging disabled or enabled. Debugging support is designed to allow developers to troubleshoot the code running in an enclave. In a production system, debugging could enable an administrator to examine the content of the enclave, which would reduce the level of protection the enclave provides. The recommended policy disables debugging to ensure that if a malicious admin tries to turn on debugging support by taking over the enclave machine, attestation will fail.
6571
- The product ID of the enclave matches the product ID assigned to Always Encrypted with secure enclaves.
66-
> Each enclave has a unique product ID that differentiates the enclave from other enclaves. The product ID assigned to the Always Encrypted enclave is 4639.
67-
- The security version number (SVN) of the library is greater than 0.
68-
> The SVN allows Microsoft to respond to potential security bugs identified in the enclave code. In case a security issue is dicovered and fixed, Microsoft will deploy a new version of the enclave with a new (incremented) SVN. The above recommended policy will be updated to reflect the new SVN. By updating your policy to match the recommended policy you can ensure that if a malicious administrator tries to load an older and insecure enclave, attestation will fail.
72+
73+
Each enclave has a unique product ID that differentiates the enclave from other enclaves. The product ID assigned to the Always Encrypted enclave is 4639.
74+
75+
- The security version number (SVN) of the library is greater than or equal to 2.
76+
77+
The SVN allows Microsoft to respond to potential security bugs identified in the enclave code. In case a security issue is discovered and fixed, Microsoft will deploy a new version of the enclave with a new (incremented) SVN. The recommended policy is updated to reflect the new SVN. By updating your policy to match the recommended policy, you can ensure that if a malicious administrator tries to load an older and insecure enclave, attestation will fail.
78+
6979
- The library in the enclave has been signed using the Microsoft signing key (the value of the x-ms-sgx-mrsigner claim is the hash of the signing key).
70-
> One of the main goals of attestation is to convince clients that the binary running in the enclave is the binary that is supposed to run. Attestation policies provide two mechanisms for this purpose. One is the **mrenclave** claim which is the hash of the binary that is supposed to run in an enclave. The problem with the **mrenclave** is that the binary hash changes even with trivial changes to the code, which makes it hard to rev the code running in the enclave. Hence, we recommend the use of the **mrsigner**, which is a hash of a key that is used to sign the enclave binary. When Microsoft revs the enclave, the **mrsigner** stays the same as long as the signing key does not change. In this way, it becomes feasible to deploy updated binaries without breaking customers' applications.
80+
81+
One of the main goals of attestation is to convince clients that the binary running in the enclave is the binary that is supposed to run. Attestation policies provide two mechanisms for this purpose. One is the **mrenclave** claim, which is the hash of the binary that is supposed to run in an enclave. The problem with the **mrenclave** is that the binary hash changes even with trivial changes to the code, which makes it hard to rev the code running in the enclave. Hence, we recommend the use of the **mrsigner**, which is a hash of a key that is used to sign the enclave binary. When Microsoft revs the enclave, the **mrsigner** stays the same as long as the signing key doesn't change. In this way, it becomes feasible to deploy updated binaries without breaking customers' applications.
7182

7283
> [!IMPORTANT]
7384
> Microsoft may need to rotate the key used to sign the Always Encrypted enclave binary, which is expected to be a rare event. Before a new version of the enclave binary, signed with a new key, is deployed to Azure SQL Database, this article will be updated to provide a new recommended attestation policy and instructions on how you should update the policy in your attestation providers to ensure your applications continue to work uninterrupted.
@@ -84,14 +95,13 @@ For instructions for how to create an attestation provider and configure with an
8495
> [!IMPORTANT]
8596
> When you configure your attestation policy with Azure CLI, set the `attestation-type` parameter to `SGX-IntelSDK`.
8697
87-
8898
## Determine the attestation URL for your attestation policy
8999

90100
After you've configured an attestation policy, you need to share the attestation URL with administrators of applications that use Always Encrypted with secure enclaves in Azure SQL Database. The attestation URL is the `Attest URI` of the attestation provider containing the attestation policy, which looks like this: `https://MyAttestationProvider.wus.attest.azure.net`.
91101

92102
### Use Azure portal to determine the attestation URL
93103

94-
In the Overview pane for your attestation provider, copy the value of the `Attest URI` property to clipboard.
104+
In the Overview pane for your attestation provider, copy the value of the `Attest URI` property to clipboard.
95105

96106
### Use PowerShell to determine the attestation URL
97107

@@ -103,10 +113,10 @@ Get-AzAttestation -Name $attestationProviderName -ResourceGroupName $attestation
103113

104114
For more information, see [Create and manage an attestation provider](/azure/attestation/quickstart-powershell#create-and-manage-an-attestation-provider).
105115

106-
## Next Steps
116+
## Next steps
107117

108118
- [Manage keys for Always Encrypted with secure enclaves](/sql/relational-databases/security/encryption/always-encrypted-enclaves-manage-keys)
109119

110120
## See also
111121

112-
- [Tutorial: Getting started with Always Encrypted with secure enclaves in Azure SQL Database](always-encrypted-enclaves-getting-started.md)
122+
- [Getting started using Always Encrypted with secure enclaves](always-encrypted-enclaves-getting-started.md)

0 commit comments

Comments
 (0)