Skip to content

Commit 49854f4

Browse files
authored
Merge pull request #215033 from MicrosoftDocs/main
Publish to Live, Wednesday 4AM PST, 10/19
2 parents ff40cfd + e97790d commit 49854f4

File tree

93 files changed

+1242
-1446
lines changed

Some content is hidden

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

93 files changed

+1242
-1446
lines changed

.openpublishing.redirection.json

Lines changed: 360 additions & 0 deletions
Large diffs are not rendered by default.

.openpublishing.redirection.virtual-desktop.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,6 @@
3434
"source_path": "articles/virtual-desktop/azure-stack-hci-faq.yml",
3535
"redirect_url": "/azure/virtual-desktop/azure-stack-hci",
3636
"redirect_document_id": false
37-
}
37+
}
3838
]
3939
}

articles/active-directory/develop/msal-client-application-configuration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ Currently, the only way to get an app to sign in users with only personal Micros
100100

101101
## Client ID
102102

103-
The client ID is the unique **Application (client) ID** assigned to your app by Azure AD when the app was registered.
103+
The client ID is the unique **Application (client) ID** assigned to your app by Azure AD when the app was registered. You can find the **Application (Client) ID** in your Azure subscription by Azure AD => Enterprise applications => Application ID.
104104

105105
## Redirect URI
106106

articles/active-directory/saas-apps/snowflake-provisioning-tutorial.md

Lines changed: 40 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ The scenario outlined in this tutorial assumes that you already have the followi
3737
* [An Azure AD tenant](../develop/quickstart-create-new-tenant.md)
3838
* A user account in Azure AD with [permission](../roles/permissions-reference.md) to configure provisioning (Application Administrator, Cloud Application Administrator, Application Owner, or Global Administrator)
3939
* [A Snowflake tenant](https://www.Snowflake.com/pricing/)
40-
* A user account in Snowflake with admin permissions
40+
* At least one user in Snowflake with the **ACCOUNTADMIN** role.
4141

4242
## Step 1: Plan your provisioning deployment
4343

@@ -65,19 +65,19 @@ Before you configure Snowflake for automatic user provisioning with Azure AD, yo
6565
select system$generate_scim_access_token('AAD_PROVISIONING');
6666
```
6767

68-
2. Use the ACCOUNTADMIN role.
68+
1. Use the ACCOUNTADMIN role.
6969

7070
![Screenshot of a worksheet in the Snowflake UI with the SCIM access token called out.](media/Snowflake-provisioning-tutorial/step-2.png)
7171

72-
3. Create the custom role AAD_PROVISIONER. All users and roles in Snowflake created by Azure AD will be owned by the scoped down AAD_PROVISIONER role.
72+
1. Create the custom role AAD_PROVISIONER. All users and roles in Snowflake created by Azure AD will be owned by the scoped down AAD_PROVISIONER role.
7373

7474
![Screenshot showing the custom role.](media/Snowflake-provisioning-tutorial/step-3.png)
7575

76-
4. Let the ACCOUNTADMIN role create the security integration using the AAD_PROVISIONER custom role.
76+
1. Let the ACCOUNTADMIN role create the security integration using the AAD_PROVISIONER custom role.
7777

7878
![Screenshot showing the security integrations.](media/Snowflake-provisioning-tutorial/step-4.png)
7979

80-
5. Create and copy the authorization token to the clipboard and store securely for later use. Use this token for each SCIM REST API request and place it in the request header. The access token expires after six months and a new access token can be generated with this statement.
80+
1. Create and copy the authorization token to the clipboard and store securely for later use. Use this token for each SCIM REST API request and place it in the request header. The access token expires after six months and a new access token can be generated with this statement.
8181

8282
![Screenshot showing the token generation.](media/Snowflake-provisioning-tutorial/step-5.png)
8383

@@ -103,35 +103,37 @@ To configure automatic user provisioning for Snowflake in Azure AD:
103103

104104
1. Sign in to the [Azure portal](https://portal.azure.com). Select **Enterprise applications** > **All applications**.
105105

106-
![Screenshot that shows the Enterprise applications pane.](common/enterprise-applications.png)
106+
![Screenshot that shows the Enterprise applications pane.](common/enterprise-applications.png)
107107

108-
2. In the list of applications, select **Snowflake**.
108+
1. In the list of applications, select **Snowflake**.
109109

110-
![Screenshot that shows a list of applications.](common/all-applications.png)
110+
![Screenshot that shows a list of applications.](common/all-applications.png)
111111

112-
3. Select the **Provisioning** tab.
112+
1. Select the **Provisioning** tab.
113113

114-
![Screenshot of the Manage options with the Provisioning option called out.](common/provisioning.png)
114+
![Screenshot of the Manage options with the Provisioning option called out.](common/provisioning.png)
115115

116-
4. Set **Provisioning Mode** to **Automatic**.
116+
1. Set **Provisioning Mode** to **Automatic**.
117117

118-
![Screenshot of the Provisioning Mode drop-down list with the Automatic option called out.](common/provisioning-automatic.png)
118+
![Screenshot of the Provisioning Mode drop-down list with the Automatic option called out.](common/provisioning-automatic.png)
119119

120-
5. In the **Admin Credentials** section, enter the SCIM 2.0 base URL and authentication token that you retrieved earlier in the **Tenant URL** and **Secret Token** boxes, respectively.
120+
1. In the **Admin Credentials** section, enter the SCIM 2.0 base URL and authentication token that you retrieved earlier in the **Tenant URL** and **Secret Token** boxes, respectively.
121+
>[!NOTE]
122+
>The Snowflake SCIM endpoint consists of the Snowflake account URL appended with `/scim/v2/`. For example, if your Snowflake account name is `acme` and your Snowflake account is in the `east-us-2` Azure region, the **Tenant URL** value is `https://acme.east-us-2.azure.snowflakecomputing.com/scim/v2`.
121123
122124
Select **Test Connection** to ensure that Azure AD can connect to Snowflake. If the connection fails, ensure that your Snowflake account has admin permissions and try again.
123125

124-
![Screenshot that shows boxes for tenant URL and secret token, along with the Test Connection button.](common/provisioning-testconnection-tenanturltoken.png)
126+
![Screenshot that shows boxes for tenant URL and secret token, along with the Test Connection button.](common/provisioning-testconnection-tenanturltoken.png)
125127

126-
6. In the **Notification Email** box, enter the email address of a person or group who should receive the provisioning error notifications. Then select the **Send an email notification when a failure occurs** check box.
128+
1. In the **Notification Email** box, enter the email address of a person or group who should receive the provisioning error notifications. Then select the **Send an email notification when a failure occurs** check box.
127129

128-
![Screenshot that shows boxes for notification email.](common/provisioning-notification-email.png)
130+
![Screenshot that shows boxes for notification email.](common/provisioning-notification-email.png)
129131

130-
7. Select **Save**.
132+
1. Select **Save**.
131133

132-
8. In the **Mappings** section, select **Synchronize Azure Active Directory Users to Snowflake**.
134+
1. In the **Mappings** section, select **Synchronize Azure Active Directory Users to Snowflake**.
133135

134-
9. Review the user attributes that are synchronized from Azure AD to Snowflake in the **Attribute Mapping** section. The attributes selected as **Matching** properties are used to match the user accounts in Snowflake for update operations. Select the **Save** button to commit any changes.
136+
1. Review the user attributes that are synchronized from Azure AD to Snowflake in the **Attribute Mapping** section. The attributes selected as **Matching** properties are used to match the user accounts in Snowflake for update operations. Select the **Save** button to commit any changes.
135137

136138
|Attribute|Type|
137139
|---|---|
@@ -141,33 +143,41 @@ To configure automatic user provisioning for Snowflake in Azure AD:
141143
|userName|String|
142144
|name.givenName|String|
143145
|name.familyName|String|
144-
|urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:defaultRole|String|
145-
|urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:defaultWarehouse|String|
146+
|externalId|String|
146147

147-
10. In the **Mappings** section, select **Synchronize Azure Active Directory Groups to Snowflake**.
148+
>[!NOTE]
149+
>Snowflake supported custom extension user attributes during SCIM provisioning:
150+
>* DEFAULT_ROLE
151+
>* DEFAULT_WAREHOUSE
152+
>* DEFAULT_SECONDARY_ROLES
153+
>* SNOWFLAKE NAME AND LOGIN_NAME FIELDS TO BE DIFFERENT
148154
149-
11. Review the group attributes that are synchronized from Azure AD to Snowflake in the **Attribute Mapping** section. The attributes selected as **Matching** properties are used to match the groups in Snowflake for update operations. Select the **Save** button to commit any changes.
155+
> How to set up Snowflake custom extension attributes in Azure AD SCIM user provisioning is explained [here](https://community.snowflake.com/s/article/HowTo-How-to-Set-up-Snowflake-Custom-Attributes-in-Azure-AD-SCIM-for-Default-Roles-and-Default-Warehouses).
156+
157+
1. In the **Mappings** section, select **Synchronize Azure Active Directory Groups to Snowflake**.
158+
159+
1. Review the group attributes that are synchronized from Azure AD to Snowflake in the **Attribute Mapping** section. The attributes selected as **Matching** properties are used to match the groups in Snowflake for update operations. Select the **Save** button to commit any changes.
150160

151161
|Attribute|Type|
152162
|---|---|
153163
|displayName|String|
154164
|members|Reference|
155165

156-
12. To configure scoping filters, see the instructions in the [Scoping filter tutorial](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
166+
1. To configure scoping filters, see the instructions in the [Scoping filter tutorial](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
157167

158-
13. To enable the Azure AD provisioning service for Snowflake, change **Provisioning Status** to **On** in the **Settings** section.
168+
1. To enable the Azure AD provisioning service for Snowflake, change **Provisioning Status** to **On** in the **Settings** section.
159169

160-
![Screenshot that shows Provisioning Status switched on.](common/provisioning-toggle-on.png)
170+
![Screenshot that shows Provisioning Status switched on.](common/provisioning-toggle-on.png)
161171

162-
14. Define the users and groups that you want to provision to Snowflake by choosing the desired values in **Scope** in the **Settings** section.
172+
1. Define the users and groups that you want to provision to Snowflake by choosing the desired values in **Scope** in the **Settings** section.
163173

164174
If this option is not available, configure the required fields under **Admin Credentials**, select **Save**, and refresh the page.
165175

166-
![Screenshot that shows choices for provisioning scope.](common/provisioning-scope.png)
176+
![Screenshot that shows choices for provisioning scope.](common/provisioning-scope.png)
167177

168-
15. When you're ready to provision, select **Save**.
178+
1. When you're ready to provision, select **Save**.
169179

170-
![Screenshot of the button for saving a provisioning configuration.](common/provisioning-configuration-save.png)
180+
![Screenshot of the button for saving a provisioning configuration.](common/provisioning-configuration-save.png)
171181

172182
This operation starts the initial synchronization of all users and groups defined in **Scope** in the **Settings** section. The initial sync takes longer to perform than subsequent syncs. Subsequent syncs occur about every 40 minutes, as long as the Azure AD provisioning service is running.
173183

articles/aks/operator-best-practices-run-at-scale.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,16 @@ To increase the node limit beyond 1000, you must have the following pre-requisit
3636
> [!NOTE]
3737
> You can't use NPM with clusters greater than 500 Nodes
3838
39-
4039
## Node pool scaling considerations and best practices
4140

42-
* For system node pools, use the *Standard_D16ds_v5* SKU or equivalent core/memory VM SKUs to provide sufficient compute resources for *kube-system* pods.
41+
* For system node pools, use the *Standard_D16ds_v5* SKU or equivalent core/memory VM SKUs with ephemeral OS disks to provide sufficient compute resources for *kube-system* pods.
4342
* Create at-least five user node pools to scale up to 5,000 nodes since there's a 1000 nodes per node pool limit.
4443
* Use cluster autoscaler wherever possible when running at-scale AKS clusters to ensure dynamic scaling of node pools based on the demand for compute resources.
4544
* When scaling beyond 1000 nodes without cluster autoscaler, it's recommended to scale in batches of a maximum 500 to 700 nodes at a time. These scaling operations should also have 2 mins to 5-mins sleep time between consecutive scale-ups to prevent Azure API throttling.
4645

46+
> [!NOTE]
47+
> You can't use [Stop and Start feature][Stop and Start feature] on clusters enabled with the greater than 1000 node limit
48+
4749
## Cluster upgrade best practices
4850

4951
* AKS clusters have a hard limit of 5000 nodes. This limit prevents clusters from upgrading that are running at this limit since there's no more capacity do a rolling update with the max surge property. We recommend scaling the cluster down below 3000 nodes before doing cluster upgrades to provide extra capacity for node churn and minimize control plane load.
@@ -61,3 +63,4 @@ To increase the node limit beyond 1000, you must have the following pre-requisit
6163
<!-- LINKS - Internal -->
6264
[quotas-skus-regions]: quotas-skus-regions.md
6365
[cluster upgrades]: upgrade-cluster.md
66+
[Stop and Start feature]: start-stop-cluster.md

articles/automation/manage-runbooks.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,9 @@ When you test a runbook, the [Draft version](#publish-a-runbook) is executed and
267267

268268
Even though the Draft version is being run, the runbook still executes normally and performs any actions against resources in the environment. For this reason, you should only test runbooks on non-production resources.
269269

270+
> [!NOTE]
271+
> All runbook execution actions are logged in the **Activity Log** of the automation account with the operation name **Create an Azure Automation job**. However, runbook execution in a test pane where the draft version of the runbook is executed would be logged in the activity logs with the operation name **Write an Azure Automation runbook draft**. Select **Operation** and **JSON** tab to see the scope ending with *../runbooks/(runbook name)/draft/testjob*.
272+
270273
The procedure to test each [type of runbook](automation-runbook-types.md) is the same. There's no difference in testing between the textual editor and the graphical editor in the Azure portal.
271274

272275
1. Open the Draft version of the runbook in either the [textual editor](automation-edit-textual-runbook.md) or the [graphical editor](automation-graphical-authoring-intro.md).

articles/azure-arc/servers/manage-automatic-vm-extension-upgrade.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,18 @@ If you continue to have trouble upgrading an extension, you can [disable automat
4646

4747
## Supported extensions
4848

49-
Automatic extension upgrade supports the following extensions (and more are added periodically):
49+
Automatic extension upgrade supports the following extensions:
5050

51-
- Azure Monitor Agent - Linux and Windows
52-
- Azure Security agent - Linux and Windows
51+
- Azure Monitor agent - Linux and Windows
52+
- Log Analytics agent (OMS agent) - Linux only
5353
- Dependency agent – Linux and Windows
54+
- Azure Security agent - Linux and Windows
5455
- Key Vault Extension - Linux only
55-
- Log Analytics agent (OMS agent) - Linux only
56+
- Azure Update Management Center - Linux and Windows
57+
- Azure Automation Hybrid Runbook Worker - Linux and Windows
58+
- Azure Arc-enabled SQL Server agent - Windows only
59+
60+
More extensions will be added over time. Extensions that do not support automatic extension upgrade today are still configured to enable automatic upgrades by default. This setting will have no effect until the extension publisher chooses to support automatic upgrades.
5661

5762
## Manage automatic extension upgrade
5863

-26.5 KB
Loading

articles/azure-functions/durable/durable-functions-overview.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ The primary use case for Durable Functions is simplifying complex, stateful coor
4141

4242
### <a name="chaining"></a>Pattern #1: Function chaining
4343

44-
In the function chaining pattern, a sequence of functions executes in a specific order. In this pattern, the output of one function is applied to the input of another function.
44+
In the function chaining pattern, a sequence of functions executes in a specific order. In this pattern, the output of one function is applied to the input of another function. The use of queues between each function ensures that the system stays durable and scalable, even though there is a flow of control from one function to the next.
45+
4546

4647
![A diagram of the function chaining pattern](./media/durable-functions-concepts/function-chaining.png)
4748

articles/azure-functions/functions-get-started.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ zone_pivot_groups: programming-languages-set-functions-lang-workers
1010

1111
## Introduction
1212

13-
[Azure Functions](./functions-overview.md) allows you to implement your system's logic into readily-available blocks of code. These code blocks are called "functions".
13+
[Azure Functions](./functions-overview.md) allows you to implement your system's logic as event-driven, readily-available blocks of code. These code blocks are called "functions".
1414

1515
Use the following resources to get started.
1616

0 commit comments

Comments
 (0)