Skip to content

Commit e562191

Browse files
committed
Merge branch 'master' of https://github.com/MicrosoftDocs/azure-docs-pr into networkingbreadcrumbsupdate0319
2 parents 641fa62 + 9dce49e commit e562191

21 files changed

+628
-385
lines changed

articles/active-directory-b2c/connect-with-saml-service-providers.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ The last step is to enable Azure AD B2C as a SAML IdP in your SAML relying party
333333
Some or all the following are typically required:
334334

335335
* **Metadata**: `https://tenant-name.b2clogin.com/tenant-name.onmicrosoft.com/policy-name/Samlp/metadata`
336-
* **Issuer**: `https://tenant-name.b2clogin.com/tenant-name.onmicrosoft.com/policy-name`
336+
* **Issuer**: Use the entityID in the metadata file
337337
* **Login Url/SAML endpoint/SAML Url**: Check the value in the metadata file
338338
* **Certificate**: This is *B2C_1A_SamlIdpCert*, but without the private key. To get the public key of the certificate:
339339

articles/cosmos-db/TOC.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -599,8 +599,8 @@
599599
items:
600600
- name: Change feed
601601
href: cassandra-change-feed.md
602-
- name: Store and manage Spring Data
603-
href: https://docs.microsoft.com/azure/java/spring-framework/configure-spring-data-apache-cassandra-with-cosmos-db?toc=/azure/cosmos-db/toc.json&bc=/azure/cosmos-db/breadcrumb/toc.json
602+
- name: Store and manage Spring Data
603+
href: https://docs.microsoft.com/azure/java/spring-framework/configure-spring-data-apache-cassandra-with-cosmos-db?context=/azure/cosmos-db/context/context
604604
- name: Cassandra & Spark
605605
items:
606606
- name: Introduction
@@ -709,7 +709,7 @@
709709
- name: Manage data indexing
710710
href: mongodb-indexing.md
711711
- name: Store and manage Spring Data
712-
href: https://docs.microsoft.com/azure/java/spring-framework/configure-spring-data-mongodb-with-cosmos-db?toc=/azure/cosmos-db/toc.json&bc=/azure/cosmos-db/breadcrumb/toc.json
712+
href: https://docs.microsoft.com/azure/java/spring-framework/configure-spring-data-mongodb-with-cosmos-db?context=/azure/cosmos-db/context/context
713713
- name: MongoDB extension commands
714714
href: mongodb-custom-commands.md
715715
displayName: custom commands
@@ -776,7 +776,7 @@
776776
- name: Visualize graph data
777777
href: graph-visualization.md
778778
- name: Store and manage Spring Data
779-
href: https://docs.microsoft.com/azure/java/spring-framework/configure-spring-data-gremlin-java-app-with-cosmos-db?toc=/azure/cosmos-db/toc.json&bc=/azure/cosmos-db/breadcrumb/toc.json
779+
href: https://docs.microsoft.com/azure/java/spring-framework/configure-spring-data-gremlin-java-app-with-cosmos-db?context=/azure/cosmos-db/context/context
780780
- name: Manage using Resource Manager templates
781781
href: manage-gremlin-with-resource-manager.md
782782
displayName: ARM
@@ -1073,9 +1073,9 @@
10731073
- name: Azure Event Hubs and Azure Storage
10741074
href: https://github.com/hdinsight/hdinsight-storm-examples/blob/master/IotExample/README.md
10751075
- name: Use Spring Boot Starter
1076-
href: https://docs.microsoft.com/azure/java/spring-framework/configure-spring-boot-starter-java-app-with-cosmos-db?toc=/azure/cosmos-db/toc.json&bc=/azure/cosmos-db/breadcrumb/toc.json
1076+
href: https://docs.microsoft.com/azure/java/spring-framework/configure-spring-boot-starter-java-app-with-cosmos-db?context=/azure/cosmos-db/context/context
10771077
- name: Spring Data developer guide
1078-
href: https://docs.microsoft.com/azure/java/spring-framework/how-to-guides-spring-data-cosmosdb?toc=/azure/cosmos-db/toc.json&bc=/azure/cosmos-db/breadcrumb/toc.json
1078+
href: https://docs.microsoft.com/azure/java/spring-framework/how-to-guides-spring-data-cosmosdb?context=/azure/cosmos-db/context/context
10791079
- name: ODBC driver
10801080
href: odbc-driver.md
10811081
- name: Migrate data to Cosmos DB

articles/role-based-access-control/custom-roles-rest.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -159,13 +159,12 @@ To create a custom role, use the [Role Definitions - Create Or Update](/rest/api
159159
> | --- | --- |
160160
> | `subscriptions/{subscriptionId}` | Subscription |
161161
> | `subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1` | Resource group |
162-
> | `subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1` | Resource |
163162
164163
1. Replace *{roleDefinitionId}* with the GUID identifier of the custom role.
165164
166-
1. Within the request body, in the `assignableScopes` property, replace *{roleDefinitionId}* with the GUID identifier.
165+
1. Within the request body, replace *{roleDefinitionId}* with the GUID identifier.
167166
168-
1. Replace *{subscriptionId}* with your subscription identifier.
167+
1. In the `assignableScopes` property, replace *{subscriptionId}* with your subscription identifier. Or specify a resource group.
169168
170169
1. In the `actions` property, add the operations that the role allows to be performed.
171170
@@ -225,7 +224,6 @@ To update a custom role, use the [Role Definitions - Create Or Update](/rest/api
225224
> | --- | --- |
226225
> | `subscriptions/{subscriptionId}` | Subscription |
227226
> | `subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1` | Resource group |
228-
> | `subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1` | Resource |
229227
230228
1. Replace *{roleDefinitionId}* with the GUID identifier of the custom role.
231229
@@ -310,7 +308,6 @@ To delete a custom role, use the [Role Definitions - Delete](/rest/api/authoriza
310308
> | --- | --- |
311309
> | `subscriptions/{subscriptionId}` | Subscription |
312310
> | `subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1` | Resource group |
313-
> | `subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1` | Resource |
314311
315312
1. Replace *{roleDefinitionId}* with the GUID identifier of the custom role.
316313

articles/role-based-access-control/custom-roles.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ ms.devlang: na
1212
ms.topic: conceptual
1313
ms.tgt_pltfrm: na
1414
ms.workload: identity
15-
ms.date: 03/02/2020
15+
ms.date: 03/19/2020
1616
ms.author: rolyon
1717
ms.reviewer: bagovind
1818
ms.custom: H1Hack27Feb2017
1919
---
2020

2121
# Custom roles for Azure resources
2222

23-
If the [built-in roles for Azure resources](built-in-roles.md) don't meet the specific needs of your organization, you can create your own custom roles. Just like built-in roles, you can assign custom roles to users, groups, and service principals at subscription, resource group, and resource scopes.
23+
If the [built-in roles for Azure resources](built-in-roles.md) don't meet the specific needs of your organization, you can create your own custom roles. Just like built-in roles, you can assign custom roles to users, groups, and service principals at subscription and resource group scopes.
2424

2525
Custom roles can be shared between subscriptions that trust the same Azure AD directory. There is a limit of **5,000** custom roles per directory. (For Azure Germany and Azure China 21Vianet, the limit is 2,000 custom roles.) Custom roles can be created using the Azure portal (Preview), Azure PowerShell, Azure CLI, or the REST API.
2626

@@ -104,8 +104,8 @@ Just like built-in roles, the `AssignableScopes` property specifies the scopes t
104104

105105
| Task | Operation | Description |
106106
| --- | --- | --- |
107-
| Create/delete a custom role | `Microsoft.Authorization/ roleDefinitions/write` | Users that are granted this operation on all the `AssignableScopes` of the custom role can create (or delete) custom roles for use in those scopes. For example, [Owners](built-in-roles.md#owner) and [User Access Administrators](built-in-roles.md#user-access-administrator) of subscriptions, resource groups, and resources. |
108-
| Update a custom role | `Microsoft.Authorization/ roleDefinitions/write` | Users that are granted this operation on all the `AssignableScopes` of the custom role can update custom roles in those scopes. For example, [Owners](built-in-roles.md#owner) and [User Access Administrators](built-in-roles.md#user-access-administrator) of subscriptions, resource groups, and resources. |
107+
| Create/delete a custom role | `Microsoft.Authorization/ roleDefinitions/write` | Users that are granted this operation on all the `AssignableScopes` of the custom role can create (or delete) custom roles for use in those scopes. For example, [Owners](built-in-roles.md#owner) and [User Access Administrators](built-in-roles.md#user-access-administrator) of subscriptions and resource groups. |
108+
| Update a custom role | `Microsoft.Authorization/ roleDefinitions/write` | Users that are granted this operation on all the `AssignableScopes` of the custom role can update custom roles in those scopes. For example, [Owners](built-in-roles.md#owner) and [User Access Administrators](built-in-roles.md#user-access-administrator) of subscriptions and resource groups. |
109109
| View a custom role | `Microsoft.Authorization/ roleDefinitions/read` | Users that are granted this operation at a scope can view the custom roles that are available for assignment at that scope. All built-in roles allow custom roles to be available for assignment. |
110110

111111
## Next steps

articles/role-based-access-control/role-definitions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ The `NotDataActions` permission specifies the data operations that are excluded
210210
211211
## AssignableScopes
212212

213-
The `AssignableScopes` property specifies the scopes (management groups, subscriptions, resource groups, or resources) that have this role definition available. You can make the role available for assignment in only the management groups, subscriptions, or resource groups that require it. You must use at least one management group, subscription, resource group, or resource ID.
213+
The `AssignableScopes` property specifies the scopes (management groups, subscriptions, or resource groups) that have this role definition available. You can make the role available for assignment in only the management groups, subscriptions, or resource groups that require it. You must use at least one management group, subscription, or resource group.
214214

215215
Built-in roles have `AssignableScopes` set to the root scope (`"/"`). The root scope indicates that the role is available for assignment in all scopes. Examples of valid assignable scopes include:
216216

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
---
2+
title: Audit to storage account behind VNet and firewall
3+
description: Configure auditing to write database events on a storage account behind virtual network and firewall
4+
services: sql-database
5+
ms.service: sql-database
6+
ms.subservice: security
7+
ms.topic: conceptual
8+
author: DavidTrigano
9+
ms.author: datrigan
10+
ms.reviewer: vanto
11+
ms.date: 03/19/2020
12+
ms.custom: azure-synapse
13+
---
14+
# Write audit to a storage account behind VNet and firewall
15+
16+
Auditing for [Azure SQL Database](sql-database-technical-overview.md) and [Azure Synapse Analytics](../sql-data-warehouse/sql-data-warehouse-overview-what-is.md) supports writing database events to an [Azure Storage account](../storage/common/storage-account-overview.md) behind a virtual network and firewall.
17+
18+
This article explains two ways to configure Azure SQL Server and Azure storage account for this option. The first uses the Azure portal, the second uses REST.
19+
20+
### Background
21+
22+
[Azure Virtual Network (VNet)](../virtual-network/virtual-networks-overview.md) is the fundamental building block for your private network in Azure. VNet enables many types of Azure resources, such as Azure Virtual Machines (VM), to securely communicate with each other, the internet, and on-premises networks. VNet is similar to a traditional network in your own data center, but brings with it additional benefits of Azure infrastructure such as scale, availability, and isolation.
23+
24+
To learn more about the VNet concepts, Best practices and many more, see [What is Azure Virtual Network](../virtual-network/virtual-networks-overview.md).
25+
26+
To learn more about how to create a virtual network, see [Quickstart: Create a virtual network using the Azure portal](../virtual-network/quick-create-portal.md).
27+
28+
## Prerequisites
29+
30+
For audit to write to a storage account behind a VNet or firewall, the following prerequisites are required:
31+
32+
> [!div class="checklist"]
33+
> * A general-purpose v2 storage account. If you have a general-purpose v1 or blob storage account, [upgrade to a general-purpose v2 storage account](../storage/common/storage-account-upgrade.md). For more information, see [Types of storage accounts](../storage/common/storage-account-overview.md#types-of-storage-accounts).
34+
> * The storage account must be on the same subscription and at the same location as the Azure SQL Database server.
35+
> * The Azure Storage account requires `Allow trusted Microsoft services to access this storage account`. Set this on the Storage Account **Firewalls and Virtual networks**.
36+
> * You must have `Microsoft.Authorization/roleAssignments/write` permission on the selected storage account. For more information, see [Azure built-in roles](../role-based-access-control/built-in-roles.md).
37+
38+
## Configure in Azure portal
39+
40+
Connect to [Azure portal](https://portal.azure.com) with your subscription. Navigate to the resource group and Azure SQL database server.
41+
42+
1. Click on **Auditing** under the Security heading. Select **On**.
43+
44+
2. Select **Storage**. Select the storage account where logs will be saved. The storage account must comply with the requirements listed in [Prerequisites](#prerequisites).
45+
46+
3. Open **Storage details**
47+
48+
> [!NOTE]
49+
> If the selected Storage account is behind VNet, you will see the following message:
50+
>
51+
>`You have selected a storage account that is behind a firewall or in a virtual network. Using this storage: requires an Active Directory admin on the server; enables 'Allow trusted Microsoft services to access this storage account' on the storage account; and creates a server managed identity with 'storage blob data contributor' RBAC.`
52+
>
53+
>If you do not see this message, then storage account is not behind a VNet.
54+
55+
4. Select the number of days for the retention period. Then click **OK**. Logs older than the retention period are deleted.
56+
57+
5. Select **Save** on your auditing settings.
58+
59+
You have successfully configured audit to write to a storage account behind a VNet or firewall.
60+
61+
## Configure with REST commands
62+
63+
As an alternative to using the Azure portal, you can use REST commands to configure audit to write database events on a storage account behind a VNet and Firewall.
64+
65+
The sample scripts in this section require you to update the script before you run them. Replace the following values in the scripts:
66+
67+
|Sample value|Sample description|
68+
|:-----|:-----|
69+
|`<subscriptionId>`| Azure subscription ID|
70+
|`<resource group>`| Resource group|
71+
|`<sql database server>`| Azure SQL database server name|
72+
|`<administrator login>`| SQL database administrator account |
73+
|`<complex password>`| Complex password for the administrator account|
74+
75+
To configure SQL Audit to write events to a storage account behind a VNet or Firewall:
76+
77+
1. Register your Azure SQL Database server with Azure Active Directory (Azure AD). Use either PowerShell or REST API.
78+
79+
**PowerShell**
80+
81+
```powershell
82+
Connect-AzAccount
83+
Select-AzSubscription -SubscriptionId <subscriptionId>
84+
Set-AzSqlServer -ResourceGroupName <your resource group> -ServerName <sql database server> -AssignIdentity
85+
```
86+
87+
[**REST API**](https://docs.microsoft.com/rest/api/sql/servers/createorupdate):
88+
89+
Sample request
90+
91+
```html
92+
PUT https://management.azure.com/subscriptions/<subscription ID>/resourceGroups/<resource group>/providers/Microsoft.Sql/servers/<sql database server>?api-version=2015-05-01-preview
93+
```
94+
95+
Request body
96+
97+
```json
98+
{
99+
"identity": {
100+
"type": "SystemAssigned",
101+
},
102+
"properties": {
103+
"fullyQualifiedDomainName": "<sql database server>.database.windows.net",
104+
"administratorLogin": "<administrator login>",
105+
"administratorLoginPassword": "<complex password>",
106+
"version": "12.0",
107+
"state": "Ready"
108+
}
109+
```
110+
111+
2. Open [Azure portal](https://portal.azure.com). Navigate to your storage account. Locate **Access Control (IAM)**, and click **Add role assignment**. Assign **Storage Blob Data Contributor** RBAC role to your Azure SQL Server hosting your Azure SQL database that you registered with Azure Active Directory (Azure AD) as in the previous step.
112+
113+
> [!NOTE]
114+
> Only members with Owner privilege can perform this step. For various built-in roles for Azure resources, refer to [Azure built-in roles](../role-based-access-control/built-in-roles.md).
115+
116+
3. Configure [Azure SQL server's blob auditing policy](/rest/api/sql/server%20auditing%20settings/createorupdate), without specifying a *storageAccountAccessKey*:
117+
118+
Sample request
119+
120+
```html
121+
PUT https://management.azure.com/subscriptions/<subscription ID>/resourceGroups/<resource group>/providers/Microsoft.Sql/servers/<azure sql database server>?api-version=2017-03-01-preview
122+
```
123+
124+
Request body
125+
126+
```json
127+
{
128+
"properties": {
129+
"state": "Enabled",
130+
"storageEndpoint": "https://<storage account>.blob.core.windows.net"
131+
}
132+
}
133+
```
134+
135+
## Next steps
136+
137+
- [Use PowerShell to create a virtual network service endpoint, and then a virtual network rule for Azure SQL Database.](sql-database-vnet-service-endpoint-rule-powershell.md)
138+
- [Virtual Network Rules: Operations with REST APIs](/rest/api/sql/virtualnetworkrules)
139+
- [Use virtual network service endpoints and rules for database servers](sql-database-vnet-service-endpoint-rule-overview.md)

0 commit comments

Comments
 (0)