Skip to content

Commit fe5ef54

Browse files
authored
Merge pull request #187829 from MicrosoftDocs/main
Merge main to live, 4 AM
2 parents d7ae72c + bd09c78 commit fe5ef54

File tree

85 files changed

+3211
-907
lines changed

Some content is hidden

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

85 files changed

+3211
-907
lines changed

.openpublishing.redirection.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39699,6 +39699,11 @@
3969939699
"redirect_url": "/azure/cognitive-services/Speech-Service/regions",
3970039700
"redirect_document_id": true
3970139701
},
39702+
{
39703+
"source_path_from_root": "/articles/cognitive-services/Speech-Service/how-to-automatic-language-detection.md",
39704+
"redirect_url": "/azure/cognitive-services/Speech-Service/language-identification",
39705+
"redirect_document_id": true
39706+
},
3970239707
{
3970339708
"source_path_from_root": "/articles/cognitive-services/entitylinking/GettingStarted.md",
3970439709
"redirect_url": "/azure/cognitive-services/text-analytics",

articles/active-directory/develop/scenario-web-app-sign-user-app-configuration.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,8 @@ In ASP.NET Core, another file ([properties\launchSettings.json](https://github.c
135135
In the Azure portal, the redirect URIs that you register on the **Authentication** page for your application need to match these URLs. For the two preceding configuration files, they would be `https://localhost:44321/signin-oidc`. The reason is that `applicationUrl` is `http://localhost:3110`, but `sslPort` is specified (44321). `CallbackPath` is `/signin-oidc`, as defined in `appsettings.json`.
136136

137137
In the same way, the sign-out URI would be set to `https://localhost:44321/signout-oidc`.
138+
> [!NOTE]
139+
> SignedOutCallbackPath should set either to portal or the application to avoid conflict while handling the event.
138140
139141
# [ASP.NET](#tab/aspnet)
140142

articles/active-directory/external-identities/authentication-conditional-access.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ The following diagram illustrates the authentication flow when an external user
5252
|--------------|-----------------------|
5353
| **1** | The B2B guest user requests access to a resource. The resource redirects the user to its resource tenant, a trusted IdP.|
5454
| **2** | The resource tenant identifies the user as external and redirects the user to the B2B guest user’s IdP. The user performs primary authentication in the IdP.
55-
| **3** | Authorization policies are evaluated in the B2B guest user's IdP. If the user satisfies these policies, the B2B guest users IdP issues a token to the user. The user is redirected back to the resource tenant with the token. The resource tenant validates the token and then evaluates the user against its Conditional Access policies. For example, the resource tenant could require the user to perform Azure Active Directory (AD) MFA.
55+
| **3** | Authorization policies are evaluated in the B2B guest user's IdP. If the user satisfies these policies, the B2B guest user's IdP issues a token to the user. The user is redirected back to the resource tenant with the token. The resource tenant validates the token and then evaluates the user against its Conditional Access policies. For example, the resource tenant could require the user to perform Azure Active Directory (AD) MFA.
5656
| **4** | Inbound cross-tenant access settings and Conditional Access policies are evaluated. If all policies are satisfied, the resource tenant issues its own token and redirects the user to its resource.
5757

5858
### Example 2: Authentication flow and token for one-time passcode user

articles/active-directory/external-identities/cross-tenant-access-overview.md

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,19 @@ You can configure organization-specific settings by adding an organization and m
7979

8080
Several tools are available to help you identify the access your users and partners need before you set inbound and outbound access settings. To ensure you don’t remove access that your users and partners need, you can examine current sign-in behavior. Taking this preliminary step will help prevent loss of desired access for your end users and partner users. However, in some cases these logs are only retained for 30 days, so we strongly recommend you speak with your business stakeholders to ensure required access isn't lost.
8181

82-
### Sign-In Logs
82+
### Cross-tenant sign-in activity PowerShell script
8383

84-
To determine your users access to external Azure AD organizations in the last 30 days, run the following PowerShell script:
84+
To review user sign-in activity associated with external tenants, you can use the [cross-tenant user sign-in activity](https://aka.ms/cross-tenant-signins-ps) PowerShell script. For example, to view all available sign-in events for inbound activity (external users accessing resources in the local tenant) and outbound activity (local users accessing resources in an external tenant), run the following command:
85+
86+
```powershell
87+
Get-MSIDCrossTenantAccessActivity -SummaryStats -ResolveTenantId
88+
```
89+
90+
The output is a summary of all available sign-in events for inbound and outbound activity, listed by external tenant ID and external tenant name.
91+
92+
### Sign-in logs PowerShell script
93+
94+
To determine your users' access to external Azure AD organizations, you can use the [Get-MgAuditLogSignIn](https://aka.ms/cross-tenant-log-ps) cmdlet in the Microsoft Graph PowerShell SDK to view data from your sign-in logs for the last 30 days. For example, run the following command:
8595

8696
```powershell
8797
Get-MgAuditLogSignIn `
@@ -91,24 +101,11 @@ group ResourceTenantId,AppDisplayName,UserPrincipalName| `
91101
select count, @{n=’Ext TenantID/App User Pair’;e={$_.name}}]
92102
```
93103

94-
The output is a list of outbound sign-ins initiated by your users to apps in external tenants, for example:
95-
96-
```powershell
97-
Count Ext TenantID/App User Pair
98-
----- --------------------------
99-
6 45fc4ed2-8f2b-42c1-b98c-b254d552f4a7, ADIbizaUX, [email protected]
100-
6 45fc4ed2-8f2b-42c1-b98c-b254d552f4a7, Azure Portal, [email protected]
101-
6 45fc4ed2-8f2b-42c1-b98c-b254d552f4a7, Access Panel, [email protected]
102-
6 45fc4ed2-8f2b-42c1-b98c-b254d552f4a7, MS-PIM, [email protected]
103-
6 45fc4ed2-8f2b-42c1-b98c-b254d552f4a7, AAD ID Gov, [email protected]
104-
6 45fc4ed2-8f2b-42c1-b98c-b254d552f4a7, Access Panel, [email protected]
105-
```
106-
107-
For the most up-to-date PowerShell script, see the [cross-tenant user sign-in activity script](https://aka.ms/cross-tenant-signins-ps).
104+
The output is a list of outbound sign-ins initiated by your users to apps in external tenants.
108105

109106
### Azure Monitor
110107

111-
If your organization subscribes to the Azure Monitor service, you can use the **Cross-tenant access activity** workbook (available in the Monitoring workbooks gallery in the Azure portal) to visually explore inbound and outbound sign-ins for longer time periods.
108+
If your organization subscribes to the Azure Monitor service, you can use the [Cross-tenant access activity workbook](/reports-monitoring/workbook-cross-tenant-access-activity.md) (available in the Monitoring workbooks gallery in the Azure portal) to visually explore inbound and outbound sign-ins for longer time periods.
112109

113110
### Security Information and Event Management (SIEM) Systems
114111

articles/active-directory/external-identities/external-identities-overview.md

Lines changed: 2 additions & 2 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: overview
10-
ms.date: 01/31/2022
10+
ms.date: 02/07/2022
1111
ms.author: mimart
1212
author: msmimart
1313
manager: celestedg
@@ -128,7 +128,7 @@ As an inviting organization, you might not know ahead of time who the individual
128128

129129
Microsoft Graph APIs are available for creating and managing External Identities features.
130130

131-
- **Cross-tenant access settings API**: The Microsoft Graph cross-tenant access API lets you programmatically create the same B2B collaboration policies that are configurable in the Azure portal. Using the API, you can set up policies for inbound and outbound collaboration to allow or block features for everyone by default and limit access to specific organizations, groups, users, and applications. The API also allows you to accept MFA and device claims (compliant claims and hybrid Azure AD joined claims) from other Azure AD organizations.
131+
- **Cross-tenant access settings API**: The [Microsoft Graph cross-tenant access API](/graph/api/resources/crosstenantaccesspolicy-overview?view=graph-rest-beta) lets you programmatically create the same B2B collaboration policies that are configurable in the Azure portal. Using the API, you can set up policies for inbound and outbound collaboration to allow or block features for everyone by default and limit access to specific organizations, groups, users, and applications. The API also allows you to accept MFA and device claims (compliant claims and hybrid Azure AD joined claims) from other Azure AD organizations.
132132

133133
- **B2B collaboration invitation manager**: The [Microsoft Graph invitation manager API](/graph/api/resources/invitation) is available for building your own onboarding experiences for B2B guest users. You can use the [create invitation API](/graph/api/invitation-post?tabs=http) to automatically send a customized invitation email directly to the B2B user, for example. Or your app can use the inviteRedeemUrl returned in the creation response to craft your own invitation (through your communication mechanism of choice) to the invited user.
134134

articles/active-directory/manage-apps/configure-admin-consent-workflow.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ To approve requests, a reviewer must be a global administrator, cloud applicatio
3030
To configure the admin consent workflow, you need:
3131

3232
- An Azure account. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
33-
- One of the following roles: Global Administrator or owner of the service principal.
33+
- You must be a global administrator to turn on the workflow.
3434

3535
## Enable the admin consent workflow
3636

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
---
2+
title: 'Tutorial: Azure AD SSO integration with Embark'
3+
description: Learn how to configure single sign-on between Azure Active Directory and Embark.
4+
services: active-directory
5+
author: jeevansd
6+
manager: CelesteDG
7+
ms.reviewer: CelesteDG
8+
ms.service: active-directory
9+
ms.subservice: saas-app-tutorial
10+
ms.workload: identity
11+
ms.topic: tutorial
12+
ms.date: 02/01/2022
13+
ms.author: jeedes
14+
15+
---
16+
17+
# Tutorial: Azure AD SSO integration with Embark
18+
19+
In this tutorial, you'll learn how to integrate Embark with Azure Active Directory (Azure AD). When you integrate Embark with Azure AD, you can:
20+
21+
* Control in Azure AD who has access to Embark.
22+
* Enable your users to be automatically signed-in to Embark with their Azure AD accounts.
23+
* Manage your accounts in one central location - the Azure portal.
24+
25+
## Prerequisites
26+
27+
To get started, you need the following items:
28+
29+
* An Azure AD subscription. If you don't have a subscription, you can get a [free account](https://azure.microsoft.com/free/).
30+
* Embark single sign-on (SSO) enabled subscription.
31+
32+
## Scenario description
33+
34+
In this tutorial, you configure and test Azure AD SSO in a test environment.
35+
36+
* Embark supports **SP** initiated SSO.
37+
38+
> [!NOTE]
39+
> Identifier of this application is a fixed string value so only one instance can be configured in one tenant.
40+
41+
## Adding Embark from the gallery
42+
43+
To configure the integration of Embark into Azure AD, you need to add Embark from the gallery to your list of managed SaaS apps.
44+
45+
1. Sign in to the Azure portal using either a work or school account, or a personal Microsoft account.
46+
1. On the left navigation pane, select the **Azure Active Directory** service.
47+
1. Navigate to **Enterprise Applications** and then select **All Applications**.
48+
1. To add new application, select **New application**.
49+
1. In the **Add from the gallery** section, type **Embark** in the search box.
50+
1. Select **Embark** from results panel and then add the app. Wait a few seconds while the app is added to your tenant.
51+
52+
53+
## Configure and test Azure AD SSO for Embark
54+
55+
Configure and test Azure AD SSO with Embark using a test user called **B.Simon**. For SSO to work, you need to establish a link relationship between an Azure AD user and the related user in Embark.
56+
57+
To configure and test Azure AD SSO with Embark, perform the following steps:
58+
59+
1. **[Configure Azure AD SSO](#configure-azure-ad-sso)** - to enable your users to use this feature.
60+
1. **[Create an Azure AD test user](#create-an-azure-ad-test-user)** - to test Azure AD single sign-on with B.Simon.
61+
1. **[Assign the Azure AD test user](#assign-the-azure-ad-test-user)** - to enable B.Simon to use Azure AD single sign-on.
62+
1. **[Configure Embark SSO](#configure-embark-sso)** - to configure the single sign-on settings on application side.
63+
1. **[Create Embark test user](#create-embark-test-user)** - to have a counterpart of B.Simon in Embark that is linked to the Azure AD representation of user.
64+
1. **[Test SSO](#test-sso)** - to verify whether the configuration works.
65+
66+
## Configure Azure AD SSO
67+
68+
Follow these steps to enable Azure AD SSO in the Azure portal.
69+
70+
1. In the Azure portal, on the **Embark** application integration page, find the **Manage** section and select **single sign-on**.
71+
1. On the **Select a single sign-on method** page, select **SAML**.
72+
1. On the **Set up single sign-on with SAML** page, click the pencil icon for **Basic SAML Configuration** to edit the settings.
73+
74+
![Edit Basic SAML Configuration](common/edit-urls.png)
75+
76+
1. On the **Basic SAML Configuration** section, enter the values for the following fields:
77+
78+
In the **Sign on URL** text box, type the URL:
79+
`https://hrportal-uat.ehr.com/microsoftbenefits`
80+
81+
1. Your Embark application expects the SAML assertions in a specific format, which requires you to add custom attribute mappings to your SAML token attributes configuration. The following screenshot shows an example for this. The default value of **Unique User Identifier** is **user.userprincipalname** but Embark expects this to be mapped with the user's employee id. For that you can use **user.employeeid** attribute from the list or use the appropriate attribute value based on your organization configuration..
82+
83+
![image](common/default-attributes.png)
84+
85+
86+
1. On the **Set up single sign-on with SAML** page, In the **SAML Signing Certificate** section, click copy button to copy **App Federation Metadata Url** and save it on your computer.
87+
88+
![The Certificate download link](common/copy-metadataurl.png)
89+
90+
### Create an Azure AD test user
91+
92+
In this section, you'll create a test user in the Azure portal called B.Simon.
93+
94+
1. From the left pane in the Azure portal, select **Azure Active Directory**, select **Users**, and then select **All users**.
95+
1. Select **New user** at the top of the screen.
96+
1. In the **User** properties, follow these steps:
97+
1. In the **Name** field, enter `B.Simon`.
98+
1. In the **User name** field, enter the [email protected]. For example, `[email protected]`.
99+
1. Select the **Show password** check box, and then write down the value that's displayed in the **Password** box.
100+
1. Click **Create**.
101+
102+
### Assign the Azure AD test user
103+
104+
In this section, you'll enable B.Simon to use Azure single sign-on by granting access to Embark.
105+
106+
1. In the Azure portal, select **Enterprise Applications**, and then select **All applications**.
107+
1. In the applications list, select **Embark**.
108+
1. In the app's overview page, find the **Manage** section and select **Users and groups**.
109+
1. Select **Add user**, then select **Users and groups** in the **Add Assignment** dialog.
110+
1. In the **Users and groups** dialog, select **B.Simon** from the Users list, then click the **Select** button at the bottom of the screen.
111+
1. If you are expecting a role to be assigned to the users, you can select it from the **Select a role** dropdown. If no role has been set up for this app, you see "Default Access" role selected.
112+
1. In the **Add Assignment** dialog, click the **Assign** button.
113+
114+
## Configure Embark SSO
115+
116+
To configure single sign-on on **Embark** side, you need to send the **App Federation Metadata Url** to [Embark support team](mailto:[email protected]). They set this setting to have the SAML SSO connection set properly on both sides.
117+
118+
### Create Embark test user
119+
120+
In this section, you create a user called Britta Simon in Embark. Work with [Embark support team](mailto:[email protected]) to add the users in the Embark platform. Users must be created and activated before you use single sign-on.
121+
122+
## Test SSO
123+
124+
In this section, you test your Azure AD single sign-on configuration with following options.
125+
126+
* Click on **Test this application** in Azure portal. This will redirect to Embark Sign-on URL where you can initiate the login flow.
127+
128+
* Go to Embark Sign-on URL directly and initiate the login flow from there.
129+
130+
* You can use Microsoft My Apps. When you click the Embark tile in the My Apps, this will redirect to Embark Sign-on URL. For more information about the My Apps, see [Introduction to the My Apps](../user-help/my-apps-portal-end-user-access.md).
131+
132+
## Next steps
133+
134+
Once you configure Embark you can enforce session control, which protects exfiltration and infiltration of your organization’s sensitive data in real time. Session control extends from Conditional Access. [Learn how to enforce session control with Microsoft Defender for Cloud Apps](/cloud-app-security/proxy-deployment-aad).
135+
136+

articles/active-directory/saas-apps/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -693,6 +693,8 @@
693693
href: elium-tutorial.md
694694
- name: eLuminate
695695
href: eluminate-tutorial.md
696+
- name: Embark
697+
href: embark-tutorial.md
696698
- name: embed signage
697699
href: embed-signage-tutorial.md
698700
- name: Empactis

articles/aks/howto-deploy-java-liberty-app-with-postgresql.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ For more information on Open Liberty, see [the Open Liberty project page](https:
3333
* Install a Java SE implementation (for example, [AdoptOpenJDK OpenJDK 8 LTS/OpenJ9](https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=openj9)).
3434
* Install [Maven](https://maven.apache.org/download.cgi) 3.5.0 or higher.
3535
* Install [Docker](https://docs.docker.com/get-docker/) for your OS.
36-
* Create a user-assigned managed identity and assign `Contributor` role to that identity by following the steps in [Manage user-assigned managed identities](../active-directory/managed-identities-azure-resources/how-manage-user-assigned-managed-identities.md). Return to this document after creating the identity and assigning it the necessary role.
36+
* Create a user-assigned managed identity and assign `Owner` role or `Contributor` and `User Access Administrator` roles to that identity by following the steps in [Manage user-assigned managed identities](../active-directory/managed-identities-azure-resources/how-manage-user-assigned-managed-identities.md). Assign `Directory readers` role to the identity in Azure AD by following [Assign Azure AD roles to users](../active-directory/roles/manage-roles-portal.md). Return to this document after creating the identity and assigning it the necessary roles.
3737

3838
## Create a Jakarta EE runtime using the portal
3939

@@ -151,15 +151,15 @@ In directory *liberty/config*, the *server.xml* is used to configure the DB conn
151151

152152
### Acquire necessary variables from AKS deployment
153153

154-
After the offer is successfully deployed, an AKS cluster with a namespace will be generated automatically. The AKS cluster is configured to connect to the ACR using a pre-created secret under the generated namespace. Before we get started with the application, we need to extract the namespace and the pull-secret name of the ACR configured for the AKS.
154+
After the offer is successfully deployed, an AKS cluster will be generated automatically. The AKS cluster is configured to connect to the ACR. Before we get started with the application, we need to extract the namespace configured for the AKS.
155155

156156
1. Run following command to print the current deployment file, using the `appDeploymentTemplateYamlEncoded` you saved above. The output contains all the variables we need.
157157

158158
```bash
159159
echo <appDeploymentTemplateYamlEncoded> | base64 -d
160160
```
161161

162-
1. Save the `metadata.namespace` and `spec.pullSecret` from this yaml output aside for later use in this article.
162+
1. Save the `metadata.namespace` from this yaml output aside for later use in this article.
163163

164164
### Build the project
165165

@@ -179,7 +179,6 @@ export DB_TYPE=postgres
179179
export DB_USER=${DB_ADMIN_USERNAME}@${DB_NAME}
180180
export DB_PASSWORD=${DB_ADMIN_PASSWORD}
181181
export NAMESPACE=<metadata.namespace>
182-
export PULL_SECRET=<pullSecret>
183182

184183
mvn clean install
185184
```
@@ -300,4 +299,4 @@ az group delete --name <RESOURCE_GROUP_NAME> --yes --no-wait
300299
* [Azure Database for PostgreSQL](https://azure.microsoft.com/services/postgresql/)
301300
* [Open Liberty](https://openliberty.io/)
302301
* [Open Liberty Operator](https://github.com/OpenLiberty/open-liberty-operator)
303-
* [Open Liberty Server Configuration](https://openliberty.io/docs/ref/config/)
302+
* [Open Liberty Server Configuration](https://openliberty.io/docs/ref/config/)

0 commit comments

Comments
 (0)