Skip to content

Commit f37f8ca

Browse files
committed
Merge branch 'master' of https://github.com/Microsoft/azure-docs-pr into 0613-eventhub-quickstart
2 parents e8d7493 + 7693296 commit f37f8ca

File tree

924 files changed

+5952
-2204
lines changed

Some content is hidden

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

924 files changed

+5952
-2204
lines changed

.markdownlint.json

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{
2+
"default": true,
3+
"MD001": false,
4+
"MD002": false,
5+
"MD003": false,
6+
"MD004": false,
7+
"MD005": false,
8+
"MD006": false,
9+
"MD007": false,
10+
"MD009": false,
11+
"MD010": false,
12+
"MD011": false,
13+
"MD012": false,
14+
"MD013": false,
15+
"MD014": false,
16+
"MD018": false,
17+
"MD019": false,
18+
"MD020": false,
19+
"MD021": false,
20+
"MD022": false,
21+
"MD023": false,
22+
"MD024": false,
23+
"MD025": false,
24+
"MD026": false,
25+
"MD027": false,
26+
"MD028": false,
27+
"MD029": false,
28+
"MD030": false,
29+
"MD031": false,
30+
"MD032": false,
31+
"MD033": false,
32+
"MD034": false,
33+
"MD035": false,
34+
"MD036": false,
35+
"MD037": false,
36+
"MD038": false,
37+
"MD039": false,
38+
"MD040": false,
39+
"MD041": false,
40+
"MD042": false,
41+
"MD045": false
42+
}

articles/active-directory-b2c/active-directory-b2c-faqs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ There are two common reasons for why the Azure AD extension is not working for y
2323
Azure AD and Azure AD B2C are separate product offerings and cannot coexist in the same tenant. An Azure AD tenant represents an organization. An Azure AD B2C tenant represents a collection of identities to be used with relying party applications. With custom policies (in public preview), Azure AD B2C can federate to Azure AD allowing authentication of employees in an organization.
2424

2525
### Can I use Azure AD B2C to provide social login (Facebook and Google+) into Office 365?
26-
Azure AD B2C can't be used to authenticate users for Microsoft Office 365. Azure AD is Microsoft's solution for managing employee access to SaaS apps and it has features designed for this purpose such as licensing and conditional access. Azure AD B2C provides an identity and access management platform for building web and mobile applications. When Azure AD B2C is configured to federate to an Azure AD tenant, the Azure AD tenant manages employee access to applications that rely on Azure AD B2C.
26+
Azure AD B2C can't be used to authenticate users for Microsoft Office 365. Azure AD is Microsoft's solution for managing employee access to SaaS apps and it has features designed for this purpose such as licensing and Conditional Access. Azure AD B2C provides an identity and access management platform for building web and mobile applications. When Azure AD B2C is configured to federate to an Azure AD tenant, the Azure AD tenant manages employee access to applications that rely on Azure AD B2C.
2727

2828
### What are local accounts in Azure AD B2C? How are they different from work or school accounts in Azure AD?
2929
In an Azure AD tenant, users that belong to the tenant sign-in with an email address of the form `<xyz>@<tenant domain>`. The `<tenant domain>` is one of the verified domains in the tenant or the initial `<...>.onmicrosoft.com` domain. This type of account is a work or school account.

articles/active-directory/authentication/concept-sspr-writeback.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,6 @@ Passwords are written back in all the following situations:
148148
* Any administrator self-service force change password operation, for example, password expiration
149149
* Any administrator self-service password reset that originates from the [password reset portal](https://passwordreset.microsoftonline.com)
150150
* Any administrator-initiated end-user password reset from the [Azure portal](https://portal.azure.com)
151-
* Any administrator-initiated end-user password reset from the [Microsoft 365 admin center](https://admin.microsoft.com)
152151

153152
## Unsupported writeback operations
154153

@@ -158,6 +157,7 @@ Passwords are *not* written back in any of the following situations:
158157
* Any end user resetting their own password by using PowerShell version 1, version 2, or the Azure AD Graph API
159158
* **Unsupported administrator operations**
160159
* Any administrator-initiated end-user password reset from PowerShell version 1, version 2, or the Azure AD Graph API
160+
* Any administrator-initiated end-user password reset from the [Microsoft 365 admin center](https://admin.microsoft.com)
161161

162162
> [!WARNING]
163163
> Use of the checkbox "User must change password at next logon" in on-premises Active Directory administrative tools like Active Directory Users and Computers or the Active Directory Administrative Center is not supported. When changing a password on-premises do not check this option.

articles/active-directory/b2b/leave-the-organization.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ services: active-directory
77
ms.service: active-directory
88
ms.subservice: B2B
99
ms.topic: conceptual
10-
ms.date: 03/13/2019
10+
ms.date: 06/13/2019
1111

1212
ms.author: mimart
1313
author: msmimart
@@ -21,11 +21,14 @@ ms.collection: M365-identity-device-management
2121

2222
An Azure Active Directory (Azure AD) B2B guest user can decide to leave an organization at any time if they no longer need to use apps from that organization or maintain any association. A user can leave an organization on their own, without having to contact an administrator.
2323

24+
> [!NOTE]
25+
> A guest user can't leave an organization if their account is disabled in either the home tenant or the resource tenant. If their account is disabled, the guest user will need to contact the tenant admin, who can either delete the guest account or enable the guest account so the user can leave the organization.
26+
2427
## Leave an organization
2528

2629
To leave an organization, follow these steps.
2730

28-
1. Go to your Access Panel Profile page by doing one of the following:
31+
1. Go to your Access Panel Profile page by doing one of the following steps:
2932

3033
- In the [Azure portal](https://portal.azure.com), click your name in the upper right and select **View account**.
3134
- Open your [Access Panel](https://myapps.microsoft.com), click your name in the upper right, and next to **Organizations**, select the settings icon (gear).
@@ -43,7 +46,7 @@ To leave an organization, follow these steps.
4346

4447
## Account removal
4548

46-
When a user leaves an organization, the user account is "soft deleted" in the directory. By default, the user object moves to the **Deleted users** area in Azure AD but is not permanently deleted for 30 days. This soft deletion enables the administrator to restore the user account (including groups and permissions), if the user makes a request to restore the account within the 30-day period.
49+
When a user leaves an organization, the user account is "soft deleted" in the directory. By default, the user object moves to the **Deleted users** area in Azure AD but isn't permanently deleted for 30 days. This soft deletion enables the administrator to restore the user account (including groups and permissions), if the user makes a request to restore the account within the 30-day period.
4750

4851
If desired, a tenant administrator can permanently delete the account at any time during the 30-day period. To do this:
4952

articles/active-directory/conditional-access/controls.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ ms.devlang: na
1515
ms.topic: article
1616
ms.tgt_pltfrm: na
1717
ms.workload: identity
18-
ms.date: 03/23/2019
18+
ms.date: 06/15/2019
1919
ms.author: joflore
2020
ms.reviewer: calebb
2121

@@ -124,11 +124,13 @@ Providers currently offering a compatible service include:
124124

125125
- [Duo Security](https://duo.com/docs/azure-ca)
126126
- [Entrust Datacard](https://www.entrustdatacard.com/products/authentication/intellitrust)
127+
- [GSMA](https://mobileconnect.io/azure/)
127128
- [Ping Identity](https://documentation.pingidentity.com/pingid/pingidAdminGuide/index.shtml#pid_c_AzureADIntegration.html)
128129
- RSA
129130
- [SecureAuth](https://docs.secureauth.com/pages/viewpage.action?pageId=47238992#)
130131
- [Silverfort](https://www.silverfort.io/company/using-silverfort-mfa-with-azure-active-directory/)
131132
- [Symantec VIP](https://help.symantec.com/home/VIP_Integrate_with_Azure_AD)
133+
- [Thales (Gemalto)](https://resources.eu.safenetid.com/help/AzureMFA/Azure_Help/Index.htm)
132134
- [Trusona](https://www.trusona.com/docs/azure-ad-integration-guide)
133135

134136
For more information on those services, contact the providers directly.

articles/active-directory/develop/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,8 @@
139139
href: scenario-protected-web-api-app-registration.md
140140
- name: Code configuration
141141
href: scenario-protected-web-api-app-configuration.md
142+
- name: Verification of scopes or app roles
143+
href: scenario-protected-web-api-verification-scope-app-roles.md
142144
- name: Move to production
143145
href: scenario-protected-web-api-production.md
144146
- name: Web API that calls web APIs

articles/active-directory/develop/scenario-protected-web-api-app-configuration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,4 +156,4 @@ The validators are all associated with properties of the `TokenValidationParamet
156156
## Next steps
157157

158158
> [!div class="nextstepaction"]
159-
> [Move to production](scenario-protected-web-api-production.md)
159+
> [Verify scopes and app roles in your code](scenario-protected-web-api-verification-scope-app-roles.md)

articles/active-directory/develop/scenario-protected-web-api-app-registration.md

Lines changed: 59 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,19 +56,20 @@ Scopes are usually of the form `resourceURI/scopeName`. For Microsoft Graph, the
5656

5757
During app registration, you'll need to define the following parameters:
5858

59-
- One resource URI - By default the application registration portal recommends that you to use `api://{clientId}`. This resource URI is unique, but it's not human readable. You can change it, but make sure that it's unique.
60-
- One or several scopes
59+
- The resource URI - By default the application registration portal recommends that you to use `api://{clientId}`. This resource URI is unique, but it's not human readable. You can change it, but make sure that it's unique.
60+
- One or more **scopes** (to client applications, they will show up as **delegated permissions** for your Web API)
61+
- One or more **app roles** (to client applications, they will show up as **application permissions** for your Web API)
6162

62-
The scopes are also displayed on the consent screen that's presented to end-users who use your application. Therefore, you'll need to provide the corresponding strings that describe the scope:
63+
The scopes are also displayed on the consent screen that's presented to end users who use your application. Therefore, you'll need to provide the corresponding strings that describe the scope:
6364

6465
- As seen by the end user
6566
- As seen by the tenant admin, who can grant admin consent
6667

67-
### How to expose the API
68+
### How to expose delegated permissions (scopes)
6869

6970
1. Select the **Expose an API** section in the application registration, and:
7071
1. Select **Add a scope**.
71-
1. Accept the proposed Application ID URI (api://{clientId}) by selecting **Save and Continue**.
72+
1. If requested, accept the proposed Application ID URI (api://{clientId}) by selecting **Save and Continue**.
7273
1. Enter the following parameters:
7374
- For **Scope name**, use `access_as_user`.
7475
- For **Who can consent**, make sure the **Admins and users** option is selected.
@@ -79,6 +80,59 @@ The scopes are also displayed on the consent screen that's presented to end-user
7980
- Keep **State** set to **Enabled**.
8081
- Select **Add scope**.
8182

83+
### Case where your Web API is called by daemon application
84+
85+
In this paragraph, you'll learn how to register your protected Web API so that it can be called securely by daemon applications:
86+
87+
- you'll need to expose **application permissions**. You will only declare application permissions as daemon applications do not interact with users and therefore delegated permissions would not make sense.
88+
- tenant admins may require Azure AD to issue tokens for your Web App to only applications that have registered that they want to access one of the Web API apps permissions.
89+
90+
#### How to expose application permissions (app roles)
91+
92+
To Expose application permissions, you'll need to edit the manifest.
93+
94+
1. In the application registration for your application, click **Manifest**.
95+
1. Edit the manifest by locating the `appRoles` setting and adding one or several application roles. The role definition is provided in the sample JSON block below. Leave the `allowedMemberTypes` to "Application" only. Please make sure that the **id** is a unique guid and **displayName** and **Value** don't contain any spaces.
96+
1. Save the manifest.
97+
98+
The content of `appRoles` should be the following (the `id` can be any unique GUID)
99+
100+
```JSon
101+
"appRoles": [
102+
{
103+
"allowedMemberTypes": [ "Application" ],
104+
"description": "Accesses the TodoListService-Cert as an application.",
105+
"displayName": "access_as_application",
106+
"id": "ccf784a6-fd0c-45f2-9c08-2f9d162a0628",
107+
"isEnabled": true,
108+
"lang": null,
109+
"origin": "Application",
110+
"value": "access_as_application"
111+
}
112+
],
113+
```
114+
115+
#### How to ensure that Azure AD issues tokens for your Web API only to allowed clients
116+
117+
The Web API checks for the app role (that's the developer way of doing it). But you can even configure Azure Active Directory to issue a token for your Web API only to applications that were approved by the tenant admin to access your API. To add this additional security:
118+
119+
1. On the app **Overview** page for your app registration, select the hyperlink with the name of your application in **Managed application in local directory**. The title for this field can be truncated. You could, for instance, read: `Managed application in ...`
120+
121+
> [!NOTE]
122+
>
123+
> When you select this link you will navigate to the **Enterprise Application Overview** page associated with the service principal for your application in the tenant where you created it. You can navigate back to the app registration page by using the back button of your browser.
124+
125+
1. Select the **Properties** page in the **Manage** section of the Enterprise application pages
126+
1. If you want AAD to enforce access to your Web API from only certain clients, set **User assignment required?** to **Yes**.
127+
128+
> [!IMPORTANT]
129+
>
130+
> By setting **User assignment required?** to **Yes**, AAD will check the app role assignments of the clients when they request an access token for the Web API. If the client was not be assigned to any AppRoles, AAD would just return the following error: `invalid_client: AADSTS501051: Application xxxx is not assigned to a role for the xxxx`
131+
>
132+
> If you keep **User assignment required?** to **No**, <span style='background-color:yellow; display:inline'>Azure AD won’t check the app role assignments when a client requests an access token for your Web API</span>. Therefore, any daemon client (that is any client using client credentials flow) would still be able to obtain an access token for the API just by specifying its audience. Any application, would be able to access the API without having to request permissions for it. Now, this is not then end of it, as your Web API can always, as explained in the next section, verify that the application has the right role (which was authorized by the tenant admin), by validating that the access token has a `roles` claim, and the right value for this claim (in our case `access_as_application`).
133+
134+
1. Select **Save**
135+
82136
## Next steps
83137

84138
> [!div class="nextstepaction"]

0 commit comments

Comments
 (0)