Skip to content

Commit f5b6a8b

Browse files
authored
Merge pull request #219553 from MicrosoftDocs/main
Publish to live, Friday 4 AM PST, 11/25
2 parents 434a814 + 5137dfa commit f5b6a8b

File tree

11 files changed

+116
-78
lines changed

11 files changed

+116
-78
lines changed

articles/active-directory/develop/single-sign-on-macos-ios.md

Lines changed: 50 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Configure SSO on macOS and iOS
2+
title: Configure SSO on macOS and iOS
33
description: Learn how to configure single sign on (SSO) on macOS and iOS.
44
services: active-directory
55
author: henrymbuguakiarie
@@ -9,35 +9,33 @@ ms.service: active-directory
99
ms.subservice: develop
1010
ms.topic: conceptual
1111
ms.workload: identity
12-
ms.date: 02/03/2020
12+
ms.date: 11/23/2022
1313
ms.author: henrymbugua
14-
ms.reviewer:
15-
ms.custom: aaddev
14+
ms.reviewer:
15+
ms.custom: aaddev, engagement-fy23
1616
---
1717

1818
# Configure SSO on macOS and iOS
1919

20-
The Microsoft Authentication Library (MSAL) for macOS and iOS supports Single Sign-on (SSO) between macOS/iOS apps and browsers. This article covers the following SSO scenarios:
20+
The Microsoft Authentication Library (MSAL) for macOS and iOS supports single sign-on (SSO) between macOS/iOS apps and browsers. This article covers the following SSO scenarios:
2121

2222
- [Silent SSO between multiple apps](#silent-sso-between-apps)
2323

24-
This type of SSO works between multiple apps distributed by the same Apple Developer. It provides silent SSO (that is, the user isn't prompted for credentials) by reading refresh tokens written by other apps from the keychain, and exchanging them for access tokens silently.
24+
This type of SSO works between multiple apps distributed by the same Apple Developer. It provides silent SSO (that is, the user isn't prompted for credentials) by reading refresh tokens written by other apps from the keychain, and exchanging them for access tokens silently.
2525

2626
- [SSO through Authentication broker](#sso-through-authentication-broker-on-ios)
2727

28-
> [!IMPORTANT]
29-
> This flow is not available on macOS.
28+
The SSO through authentication broker isn't available on macOS.
3029

31-
Microsoft provides apps, called brokers, that enable SSO between applications from different vendors as long as the mobile device is registered with Azure Active Directory (AAD). This type of SSO requires a broker application be installed on the user's device.
30+
Microsoft provides apps called brokers, that enable SSO between applications from different vendors as long as the mobile device is registered with Azure Active Directory (Azure AD). This type of SSO requires a broker application be installed on the user's device.
3231

3332
- **SSO between MSAL and Safari**
3433

3534
SSO is achieved through the [ASWebAuthenticationSession](https://developer.apple.com/documentation/authenticationservices/aswebauthenticationsession?language=objc) class. It uses existing sign-in state from other apps and the Safari browser. It's not limited to apps distributed by the same Apple Developer, but it requires some user interaction.
3635

3736
If you use the default web view in your app to sign in users, you'll get automatic SSO between MSAL-based applications and Safari. To learn more about the web views that MSAL supports, visit [Customize browsers and WebViews](customize-webviews.md).
3837

39-
> [!IMPORTANT]
40-
> This type of SSO is currently not available on macOS. MSAL on macOS only supports WKWebView which doesn't have SSO support with Safari.
38+
This type of SSO is currently not available on macOS. MSAL on macOS only supports WKWebView which doesn't have SSO support with Safari.
4139

4240
- **Silent SSO between ADAL and MSAL macOS/iOS apps**
4341

@@ -64,10 +62,9 @@ The way the Microsoft identity platform tells apps that use the same Application
6462

6563
App1 Redirect URI: `msauth.com.contoso.mytestapp1://auth`
6664
App2 Redirect URI: `msauth.com.contoso.mytestapp2://auth`
67-
App3 Redirect URI: `msauth.com.contoso.mytestapp3://auth`
65+
App3 Redirect URI: `msauth.com.contoso.mytestapp3://auth`
6866

69-
> [!IMPORTANT]
70-
> The format of redirect URIs must be compatible with the format MSAL supports, which is documented in [MSAL Redirect URI format requirements](redirect-uris-ios.md#msal-redirect-uri-format-requirements).
67+
The format of redirect URIs must be compatible with the format MSAL supports, which is documented in [MSAL Redirect URI format requirements](redirect-uris-ios.md#msal-redirect-uri-format-requirements).
7168

7269
### Setup keychain sharing between applications
7370

@@ -92,8 +89,9 @@ When you have the entitlements set up correctly, you'll see a `entitlements.plis
9289
#### Add a new keychain group
9390

9491
Add a new keychain group to your project **Capabilities**. The keychain group should be:
95-
* `com.microsoft.adalcache` on iOS
96-
* `com.microsoft.identity.universalstorage` on macOS.
92+
93+
- `com.microsoft.adalcache` on iOS
94+
- `com.microsoft.identity.universalstorage` on macOS.
9795

9896
![keychain example](media/single-sign-on-macos-ios/keychain-example.png)
9997

@@ -109,7 +107,7 @@ Objective-C:
109107
NSError *error = nil;
110108
MSALPublicClientApplicationConfig *configuration = [[MSALPublicClientApplicationConfig alloc] initWithClientId:@"<my-client-id>"];
111109
configuration.cacheConfig.keychainSharingGroup = @"my.keychain.group";
112-
110+
113111
MSALPublicClientApplication *application = [[MSALPublicClientApplication alloc] initWithConfiguration:configuration error:&error];
114112
```
115113
@@ -136,48 +134,48 @@ That's it! The Microsoft identity SDK will now share credentials across all your
136134

137135
## SSO through Authentication broker on iOS
138136

139-
MSAL provides support for brokered authentication with Microsoft Authenticator. Microsoft Authenticator provides SSO for AAD registered devices, and also helps your application follow Conditional Access policies.
137+
MSAL provides support for brokered authentication with Microsoft Authenticator. Microsoft Authenticator provides SSO for Azure AD registered devices, and also helps your application follow Conditional Access policies.
140138

141139
The following steps are how you enable SSO using an authentication broker for your app:
142140

143141
1. Register a broker compatible Redirect URI format for the application in your app's Info.plist. The broker compatible Redirect URI format is `msauth.<app.bundle.id>://auth`. Replace `<app.bundle.id>`` with your application's bundle ID. For example:
144142

145-
```xml
146-
<key>CFBundleURLSchemes</key>
147-
<array>
148-
<string>msauth.<app.bundle.id></string>
149-
</array>
150-
```
143+
```xml
144+
<key>CFBundleURLSchemes</key>
145+
<array>
146+
<string>msauth.<app.bundle.id></string>
147+
</array>
148+
```
151149

152150
1. Add following schemes to your app's Info.plist under `LSApplicationQueriesSchemes`:
153151

154-
```xml
155-
<key>LSApplicationQueriesSchemes</key>
156-
<array>
157-
<string>msauthv2</string>
158-
<string>msauthv3</string>
159-
</array>
160-
```
152+
```xml
153+
<key>LSApplicationQueriesSchemes</key>
154+
<array>
155+
<string>msauthv2</string>
156+
<string>msauthv3</string>
157+
</array>
158+
```
161159

162160
1. Add the following to your `AppDelegate.m` file to handle callbacks:
163161

164-
Objective-C:
165-
166-
```objc
167-
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options
168-
{
169-
return [MSALPublicClientApplication handleMSALResponse:url sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]];
170-
}
171-
```
172-
173-
Swift:
174-
175-
```swift
176-
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
177-
return MSALPublicClientApplication.handleMSALResponse(url, sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String)
178-
}
179-
```
180-
162+
Objective-C:
163+
164+
```objc
165+
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options
166+
{
167+
return [MSALPublicClientApplication handleMSALResponse:url sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]];
168+
}
169+
```
170+
171+
Swift:
172+
173+
```swift
174+
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
175+
return MSALPublicClientApplication.handleMSALResponse(url, sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String)
176+
}
177+
```
178+
181179
**If you are using Xcode 11**, you should place MSAL callback into the `SceneDelegate` file instead.
182180
If you support both UISceneDelegate and UIApplicationDelegate for compatibility with older iOS, MSAL callback would need to be placed into both files.
183181

@@ -189,7 +187,7 @@ Objective-C:
189187
UIOpenURLContext *context = URLContexts.anyObject;
190188
NSURL *url = context.URL;
191189
NSString *sourceApplication = context.options.sourceApplication;
192-
190+
193191
[MSALPublicClientApplication handleMSALResponse:url sourceApplication:sourceApplication];
194192
}
195193
```
@@ -198,14 +196,14 @@ Swift:
198196
199197
```swift
200198
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
201-
199+
202200
guard let urlContext = URLContexts.first else {
203201
return
204202
}
205-
203+
206204
let url = urlContext.url
207205
let sourceApp = urlContext.options.sourceApplication
208-
206+
209207
MSALPublicClientApplication.handleMSALResponse(url, sourceApplication: sourceApp)
210208
}
211209
```

articles/backup/backup-azure-enhanced-soft-delete-about.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Overview of enhanced soft delete for Azure Backup (preview)
33
description: This article gives an overview of enhanced soft delete for Azure Backup.
44
ms.topic: conceptual
55
ms.custom: references_regions
6-
ms.date: 10/13/2022
6+
ms.date: 11/24/2022
77
author: v-amallick
88
ms.service: backup
99
ms.author: v-amallick
@@ -55,7 +55,7 @@ The key benefits of enhanced soft delete are:
5555

5656
## Supported regions
5757

58-
Enhanced soft delete is currently available in the following regions: West Central US, Australia East, and North Europe.
58+
Enhanced soft delete is currently available in the following regions: East US, West US, West US 2, West Central US, Japan East, , Brazil South, Australia East, and North Europe.
5959

6060
## Supported scenarios
6161

articles/data-factory/TOC.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1199,6 +1199,9 @@ items:
11991199
- name: Dynamics 365, Dataverse (Common Data Service), and Dynamics CRM
12001200
href: connector-troubleshoot-dynamics-dataverse.md
12011201
displayName: troubleshooting
1202+
- name: File System
1203+
href: connector-troubleshoot-file-system.md
1204+
displayName: troubleshooting
12021205
- name: FTP, SFTP, and HTTP
12031206
href: connector-troubleshoot-ftp-sftp-http.md
12041207
displayName: troubleshooting

articles/data-factory/connector-file-system.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ms.service: data-factory
77
ms.subservice: data-movement
88
ms.custom: synapse
99
ms.topic: conceptual
10-
ms.date: 12/13/2021
10+
ms.date: 11/10/2022
1111
ms.author: jianleishen
1212
---
1313

@@ -34,13 +34,10 @@ This file system connector is supported for the following capabilities:
3434

3535
Specifically, this file system connector supports:
3636

37-
- Copying files from/to local machine or network file share. To use a Linux file share, install [Samba](https://www.samba.org/) on your Linux server.
37+
- Copying files from/to network file share. To use a Linux file share, install [Samba](https://www.samba.org/) on your Linux server.
3838
- Copying files using **Windows** authentication.
3939
- Copying files as-is or parsing/generating files with the [supported file formats and compression codecs](supported-file-formats-and-compression-codecs.md).
4040

41-
> [!NOTE]
42-
> Mapped network drive is not supported when loading data from a network file share. Use the actual path instead e.g. ` \\server\share`.
43-
4441
## Prerequisites
4542

4643
[!INCLUDE [data-factory-v2-integration-runtime-requirements](includes/data-factory-v2-integration-runtime-requirements.md)]
@@ -91,12 +88,15 @@ The following properties are supported for file system linked service:
9188

9289
| Scenario | "host" in linked service definition | "folderPath" in dataset definition |
9390
|:--- |:--- |:--- |
94-
| Local folder on Integration Runtime machine: <br/><br/>Examples: D:\\\* or D:\folder\subfolder\\* |In JSON: `D:\\`<br/>On UI: `D:\` |In JSON: `.\\` or `folder\\subfolder`<br>On UI: `.\` or `folder\subfolder` |
9591
| Remote shared folder: <br/><br/>Examples: \\\\myserver\\share\\\* or \\\\myserver\\share\\folder\\subfolder\\* |In JSON: `\\\\myserver\\share`<br/>On UI: `\\myserver\share` |In JSON: `.\\` or `folder\\subfolder`<br/>On UI: `.\` or `folder\subfolder` |
9692

9793
>[!NOTE]
9894
>When authoring via UI, you don't need to input double backslash (`\\`) to escape like you do via JSON, specify single backslash.
9995
96+
>[!NOTE]
97+
>Copying files from local machine is not supported under Azure Integration Runtime.<br>
98+
>Refer to the command line from [here](create-self-hosted-integration-runtime.md#set-up-an-existing-self-hosted-ir-via-local-powershell) to enable the access to the local machine under Self-hosted integration runtime. By default, it's disabled.
99+
100100
**Example:**
101101

102102
```json
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
title: Troubleshoot the file system connector
3+
titleSuffix: Azure Data Factory & Azure Synapse
4+
description: Learn how to troubleshoot issues with the file system connector in Azure Data Factory and Azure Synapse Analytics.
5+
author: jianleishen
6+
ms.service: data-factory
7+
ms.subservice: data-movement
8+
ms.topic: troubleshooting
9+
ms.date: 11/23/2022
10+
ms.author: jianleishen
11+
ms.custom: has-adal-ref, synapse
12+
---
13+
14+
# Troubleshoot the file system connector in Azure Data Factory and Azure Synapse
15+
16+
[!INCLUDE[appliesto-adf-asa-md](includes/appliesto-adf-asa-md.md)]
17+
18+
This article provides suggestions to troubleshoot common problems with the file system connector in Azure Data Factory and Azure Synapse.
19+
20+
## Error code: AccessToOnPremFileSystemDenied
21+
22+
- **Message**: `Access to '%path;' is not allowed.`
23+
24+
- **Cause**: Copying files from local machine is not supported under Azure Integration Runtime. For Self-hosted Integration Runtime (versions >= 5.22.8297.1) , Azure Data Factory is introducing a new security control to allow or disallow local SHIR file system access through the connector. By default, it's disabled.
25+
26+
- **Recommendation**: Using command line from [Set up an existing self-hosted IR via local PowerShell](create-self-hosted-integration-runtime.md#set-up-an-existing-self-hosted-ir-via-local-powershell) , you could allow or disallow local SHIR file system access.
27+
28+
29+
## Next steps
30+
31+
For more troubleshooting help, try these resources:
32+
33+
- [Connector troubleshooting guide](connector-troubleshoot-guide.md)
34+
- [Data Factory blog](https://azure.microsoft.com/blog/tag/azure-data-factory/)
35+
- [Data Factory feature requests](/answers/topics/azure-data-factory.html)
36+
- [Azure videos](https://azure.microsoft.com/resources/videos/index/?sort=newest&services=data-factory)
37+
- [Microsoft Q&A page](/answers/topics/azure-data-factory.html)
38+
- [Stack Overflow forum for Data Factory](https://stackoverflow.com/questions/tagged/azure-data-factory)
39+
- [Twitter information about Data Factory](https://twitter.com/hashtag/DataFactory)

articles/data-factory/create-self-hosted-integration-runtime.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,8 @@ Here are details of the application's actions and arguments:
199199
|`-ssa`,<br/>`-SwitchServiceAccount`|"`<domain\user>`" ["`<password>`"]|Set DIAHostService to run as a new account. Use the empty password "" for system accounts and virtual accounts.|
200200
|`-elma`,<br/>`-EnableLocalMachineAccess`|| Enable local machine access (localhost, private IP) on the current self-hosted IR node. In self-hosted IR High Availability scenario, the action needs to be invoked on every self-hosted IR node.|
201201
|`-dlma`,<br/>`-DisableLocalMachineAccess`|| Disable local machine access (localhost, private IP) on the current self-hosted IR node. In self-hosted IR High Availability scenario, the action needs to be invoked on every self-hosted IR node.|
202+
|`-DisableLocalFolderPathValidation`|| Disable security validation to enable access to file system of the local machine.|
203+
|`-EnableLocalFolderPathValidation`|| Enable security validation to disable access to file system of the local machine. |
202204

203205
## Install and register a self-hosted IR from Microsoft Download Center
204206

7.98 KB
Loading

articles/frontdoor/standard-premium/how-to-configure-rule-set.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ This article shows how to create a Rule Set and your first set of rules using th
3030
> [!NOTE]
3131
> * To delete a condition or action from a rule, use the trash can on the right-hand side of the specific condition or action.
3232
> * To create a rule that applies to all incoming traffic, do not specify any conditions.
33-
> * To stop evaluating remaining rules if a specific rule is met, check **Stop evaluating remaining rule**. If this option is checked then all remaining rules in the Rule Set will not be executed regardless if the matching conditions were met.
33+
> * To stop evaluating remaining rules if a specific rule is met, check **Stop evaluating remaining rule**. If this option is checked then all remaining rules in that Rule Set as well as all the remaining Rule Sets associated with the route will not be executed regardless of the matching conditions being met.
3434
> * All paths in Rules Engine are case sensitive.
3535
> * Header names should adhere to [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.6).
3636

articles/postgresql/flexible-server/concepts-logical.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -108,13 +108,10 @@ Here is an example of configuring pglogical at the provider database server and
108108
\C myDB
109109
CREATE EXTENSION pglogical;
110110
```
111-
2. If the replication user is other than the server administration user (who created the server), make sure that you assign `azure_pg_admin` and `replication` privileges to the user. Alternatively, you can grant the administrator user to the replication user. See [pglogical documentation](https://github.com/2ndQuadrant/pglogical#limitations-and-restrictions) for details.
111+
2. If the replication user is other than the server administration user (who created the server), make sure that you grant membership in a role `azure_pg_admin` to the user and assign REPLICATION and LOGIN attributes to the user. See [pglogical documentation](https://github.com/2ndQuadrant/pglogical#limitations-and-restrictions) for details.
112112
```SQL
113-
GRANT azure_pg_admin, replication to myUser;
114-
```
115-
or
116-
```SQL
117-
GRANT myAdminUser to myUser;
113+
GRANT azure_pg_admin to myUser;
114+
ALTER ROLE myUser REPLICATION LOGIN;
118115
```
119116
2. At the **provider** (source/publisher) database server, create the provider node.
120117
```SQL

0 commit comments

Comments
 (0)