Skip to content

Commit 54060d0

Browse files
committed
Merge branch 'main' into release-cred-free-java
2 parents e07e588 + 89b298a commit 54060d0

File tree

203 files changed

+3696
-2169
lines changed

Some content is hidden

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

203 files changed

+3696
-2169
lines changed

.openpublishing.redirection.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29139,6 +29139,11 @@
2913929139
"redirect_url": "/azure/iot-dps/quick-enroll-device-tpm",
2914029140
"redirect_document_id": false
2914129141
},
29142+
{
29143+
"source_path_from_root": "/articles/iot-dps/how-to-use-custom-allocation-policies.md",
29144+
"redirect_url": "/azure/iot-dps/tutorial-custom-allocation-policies",
29145+
"redirect_document_id": false
29146+
},
2914229147
{
2914329148
"source_path_from_root": "/articles/app-service/environment/app-service-app-service-environment-web-application-firewall.md",
2914429149
"redirect_url": "/azure/app-service/environment/integrate-with-application-gateway",

.openpublishing.redirection.virtual-desktop.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@
2929
"source_path_from_root": "/articles/virtual-desktop/shortpath-public.md",
3030
"redirect_url": "/azure/virtual-desktop/rdp-shortpath",
3131
"redirect_document_id": false
32-
}
32+
},
33+
{
34+
"source_path_from_root": "/articles/virtual-machines/windows/using-visual-studio-vm.md",
35+
"redirect_url": "/visualstudio/install/using-visual-studio-vm",
36+
"redirect_document_id": false
37+
}
3338
]
3439
}

articles/active-directory/develop/security-best-practices-for-app-registration.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ ms.reviewer: saumadan, marsma
1919

2020
Security is an important concept when registering an application in Azure Active Directory (Azure AD) and is a critical part of its business use in the organization. Any misconfiguration of an application can result in downtime or compromise. Depending on the permissions added to an application, there can be organization-wide effects.
2121

22-
Because secure applications are essential to the organization, any downtime to them because of security issues can affect the business or some critical service that the business depends upon. So, it's important to allocate time and resources to ensure applications stay in a healthy and secure state always. Conduct a periodical security and health assessment of applications much like a Security Threat Model assessment for code. For a broader perspective on security for organizations, see the [security development lifecycle](https://www.microsoft.com/securityengineering/sdl) (SDL).
22+
Because secure applications are essential to the organization, any downtime to them because of security issues can affect the business or some critical service that the business depends upon. So, it's important to allocate time and resources to ensure applications always stay in a healthy and secure state. Conduct a periodic security and health assessment of applications, much like a Security Threat Model assessment for code. For a broader perspective on security for organizations, see the [security development lifecycle](https://www.microsoft.com/securityengineering/sdl) (SDL).
2323

2424
This article describes security best practices for the following application properties:
2525

@@ -37,8 +37,8 @@ It's important to keep Redirect URIs of your application up to date. Under **Aut
3737

3838
Consider the following guidance for redirect URIs:
3939

40-
- Maintain ownership of all URIs. A lapse in the ownership of one of the redirect URIs can lead to an application compromise.
41-
- Make sure that all DNS records are updated and monitored periodically for changes.
40+
- Maintain ownership of all URIs. A lapse in the ownership of one of the redirect URIs can lead to application compromise.
41+
- Make sure all DNS records are updated and monitored periodically for changes.
4242
- Don't use wildcard reply URLs or insecure URI schemes such as http, or URN.
4343
- Keep the list small. Trim any unnecessary URIs. If possible, update URLs from Http to Https.
4444

@@ -63,15 +63,15 @@ Certificates and secrets, also known as credentials, are a vital part of an appl
6363
Consider the following guidance related to certificates and secrets:
6464

6565
- Always use [certificate credentials](./active-directory-certificate-credentials.md) whenever possible and don't use password credentials, also known as *secrets*. While it's convenient to use password secrets as a credential, when possible use x509 certificates as the only credential type for getting tokens for an application.
66-
- Use Key Vault with [Managed identities](../managed-identities-azure-resources/overview.md) to manage credentials for an application.
66+
- Use Key Vault with [managed identities](../managed-identities-azure-resources/overview.md) to manage credentials for an application.
6767
- If an application is used only as a Public Client App (allows users to sign in using a public endpoint), make sure that there are no credentials specified on the application object.
68-
- Review the credentials used in applications for freshness of use and their expiration. An unused credential on an application can result in security breach. Rollover credentials frequently and don't share credentials across applications. Don't have many credentials on one application.
68+
- Review the credentials used in applications for freshness of use and their expiration. An unused credential on an application can result in a security breach. Rollover credentials frequently and don't share credentials across applications. Don't have many credentials on one application.
6969
- Monitor your production pipelines to prevent credentials of any kind from being committed into code repositories.
7070
- [Credential Scanner](../../security/develop/security-code-analysis-overview.md#credential-scanner) is a static analysis tool that can be used to detect credentials (and other sensitive content) in source code and build output.
7171

7272
## Application ID URI
7373

74-
The **Application ID URI** property of the application specifies the globally unique URI used to identify the web API. It's the prefix for scopes and in access tokens, it's also the value of the audience claim and it must use a verified customer owned domain. For multi-tenant applications, the value must also be globally unique. Also referred to as an identifier URI. Under **Expose an API** for the application in the Azure portal, the **Application ID URI** property can be defined.
74+
The **Application ID URI** property of the application specifies the globally unique URI used to identify the web API. It's the prefix for scopes and in access tokens, it's also the value of the audience claim and it must use a verified customer owned domain. For multi-tenant applications, the value must also be globally unique. It's also referred to as an identifier URI. Under **Expose an API** for the application in the Azure portal, the **Application ID URI** property can be defined.
7575

7676
:::image type="content" source="./media/active-directory-application-registration-best-practices/app-id-uri.png" alt-text="Screenshot that shows where the Application I D U R I is located.":::
7777

@@ -80,7 +80,7 @@ Consider the following guidance related to defining the Application ID URI:
8080
- The api or https URI schemes are recommended. Set the property in the supported formats to avoid URI collisions in your organization. Don't use wildcards.
8181
- Use a verified domain in Line of Business (LoB) applications.
8282
- Keep an inventory of the URIs in your organization to help maintain security.
83-
- Use the Application ID URI to expose the WebApi in the organization and don't use the Application ID URI to identify the application, instead use the Application (client) ID property.
83+
- Use the Application ID URI to expose the WebApi in the organization. Don't use the Application ID URI to identify the application, and instead use the Application (client) ID property.
8484

8585
[!INCLUDE [active-directory-identifierUri](../../../includes/active-directory-identifier-uri-patterns.md)]
8686

articles/active-directory/hybrid/how-to-connect-install-prerequisites.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ We recommend that you harden your Azure AD Connect server to decrease the securi
8888
### SQL Server used by Azure AD Connect
8989
* Azure AD Connect requires a SQL Server database to store identity data. By default, a SQL Server 2019 Express LocalDB (a light version of SQL Server Express) is installed. SQL Server Express has a 10-GB size limit that enables you to manage approximately 100,000 objects. If you need to manage a higher volume of directory objects, point the installation wizard to a different installation of SQL Server. The type of SQL Server installation can impact the [performance of Azure AD Connect](./plan-connect-performance-factors.md#sql-database-factors).
9090
* If you use a different installation of SQL Server, these requirements apply:
91-
* Azure AD Connect supports all versions of SQL Server from 2012 (with the latest service pack) to SQL Server 2019. Azure SQL Database *isn't supported* as a database. This includes both Azure SQL Database and Azure SQL Managed Instance.
91+
* Azure AD Connect support all mainstream supported SQL Server versions up to SQL Server 2019. Please refer to the [SQL Server lifecycle article](https://learn.microsoft.com/lifecycle/products/?products=sql-server) to verify the support status of your SQL Server version. Azure SQL Database *isn't supported* as a database. This includes both Azure SQL Database and Azure SQL Managed Instance.
9292
* You must use a case-insensitive SQL collation. These collations are identified with a \_CI_ in their name. Using a case-sensitive collation identified by \_CS_ in their name *isn't supported*.
9393
* You can have only one sync engine per SQL instance. Sharing a SQL instance with FIM/MIM Sync, DirSync, or Azure AD Sync *isn't supported*.
9494

Loading
Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
---
2+
title: 'Tutorial: Azure AD SSO integration with Crayon'
3+
description: Learn how to configure single sign-on between Azure Active Directory and Crayon.
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: 09/15/2022
13+
ms.author: jeedes
14+
15+
---
16+
17+
# Tutorial: Azure AD SSO integration with Crayon
18+
19+
In this tutorial, you'll learn how to integrate Crayon with Azure Active Directory (Azure AD). When you integrate Crayon with Azure AD, you can:
20+
21+
* Control in Azure AD who has access to Crayon.
22+
* Enable your users to be automatically signed-in to Crayon 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+
* Crayon single sign-on (SSO) enabled subscription.
31+
* Along with Cloud Application Administrator, Application Administrator can also add or manage applications in Azure AD.
32+
For more information, see [Azure built-in roles](../roles/permissions-reference.md).
33+
34+
## Scenario description
35+
36+
In this tutorial, you configure and test Azure AD SSO in a test environment.
37+
38+
* Crayon supports **SP** and **IDP** initiated SSO.
39+
* Crayon supports **Just In Time** user provisioning.
40+
41+
## Add Crayon from the gallery
42+
43+
To configure the integration of Crayon into Azure AD, you need to add Crayon 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 **Crayon** in the search box.
50+
1. Select **Crayon** from results panel and then add the app. Wait a few seconds while the app is added to your tenant.
51+
52+
Alternatively, you can also use the [Enterprise App Configuration Wizard](https://portal.office.com/AdminPortal/home?Q=Docs#/azureadappintegration). In this wizard, you can add an application to your tenant, add users/groups to the app, assign roles, as well as walk through the SSO configuration as well. [Learn more about Microsoft 365 wizards.](/microsoft-365/admin/misc/azure-ad-setup-guides)
53+
54+
## Configure and test Azure AD SSO for Crayon
55+
56+
Configure and test Azure AD SSO with Crayon 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 at Crayon.
57+
58+
To configure and test Azure AD SSO with Crayon, perform the following steps:
59+
60+
1. **[Configure Azure AD SSO](#configure-azure-ad-sso)** - to enable your users to use this feature.
61+
1. **[Create an Azure AD test user](#create-an-azure-ad-test-user)** - to test Azure AD single sign-on with B.Simon.
62+
1. **[Assign the Azure AD test user](#assign-the-azure-ad-test-user)** - to enable B.Simon to use Azure AD single sign-on.
63+
1. **[Configure Crayon SSO](#configure-crayon-sso)** - to configure the single sign-on settings on application side.
64+
1. **[Create Crayon test user](#create-crayon-test-user)** - to have a counterpart of B.Simon in Crayon that is linked to the Azure AD representation of user.
65+
1. **[Test SSO](#test-sso)** - to verify whether the configuration works.
66+
67+
## Configure Azure AD SSO
68+
69+
Follow these steps to enable Azure AD SSO in the Azure portal.
70+
71+
1. In the Azure portal, on the **Crayon** application integration page, find the **Manage** section and select **single sign-on**.
72+
1. On the **Select a single sign-on method** page, select **SAML**.
73+
1. On the **Set up single sign-on with SAML** page, click the pencil icon for **Basic SAML Configuration** to edit the settings.
74+
75+
![Screenshot shows to edit Basic SAML Configuration.](common/edit-urls.png "Basic Configuration")
76+
77+
1. On the **Basic SAML Configuration** section, perform the following steps:
78+
79+
a. In the **Identifier** textbox, type a URL using the following pattern:
80+
`https://app.crayon.co/auth/sso/<CustomerName>/`
81+
82+
b. In the **Reply URL** textbox, type a URL using the following pattern:
83+
`https://app.crayon.co/auth/sso/<CustomerName>/acs/`
84+
85+
1. Click **Set additional URLs** and perform the following step if you wish to configure the application in **SP** initiated mode:
86+
87+
In the **Sign-on URL** text box, type the URL:
88+
`https://app.crayon.co/login/`
89+
90+
> [!Note]
91+
> These values are not real. Update these values with the actual Identifier and Reply URL. Contact [Crayon support team](mailto:[email protected]) to get these values. You can also refer to the patterns shown in the **Basic SAML Configuration** section in the Azure portal.
92+
93+
1. Crayon 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 the list of default attributes.
94+
95+
![Screenshot shows the image of attributes configuration.](common/default-attributes.png "Image")
96+
97+
1. In addition to above, Crayon application expects few more attributes to be passed back in SAML response, which are shown below. These attributes are also pre populated but you can review them as per your requirements.
98+
99+
| Name | Source Attribute|
100+
| ------------ | --------- |
101+
| email | user.mail |
102+
| firstName | user.givenname |
103+
| lastName | user.surname |
104+
| jobTitle | user.jobtitle |
105+
106+
1. On the **Set up single sign-on with SAML** page, in the **SAML Signing Certificate** section, find **Certificate (Base64)** and select **Download** to download the certificate and save it on your computer.
107+
108+
![Screenshot shows the Certificate download link.](common/certificatebase64.png "Certificate")
109+
110+
1. On the **Set up Crayon** section, copy the appropriate URL(s) based on your requirement.
111+
112+
![Screenshot shows to copy configuration appropriate URL.](common/copy-configuration-urls.png "Metadata")
113+
114+
### Create an Azure AD test user
115+
116+
In this section, you'll create a test user in the Azure portal called B.Simon.
117+
118+
1. From the left pane in the Azure portal, select **Azure Active Directory**, select **Users**, and then select **All users**.
119+
1. Select **New user** at the top of the screen.
120+
1. In the **User** properties, follow these steps:
121+
1. In the **Name** field, enter `B.Simon`.
122+
1. In the **User name** field, enter the [email protected]. For example, `[email protected]`.
123+
1. Select the **Show password** check box, and then write down the value that's displayed in the **Password** box.
124+
1. Click **Create**.
125+
126+
### Assign the Azure AD test user
127+
128+
In this section, you'll enable B.Simon to use Azure single sign-on by granting access to Crayon.
129+
130+
1. In the Azure portal, select **Enterprise Applications**, and then select **All applications**.
131+
1. In the applications list, select **Crayon**.
132+
1. In the app's overview page, find the **Manage** section and select **Users and groups**.
133+
1. Select **Add user**, then select **Users and groups** in the **Add Assignment** dialog.
134+
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.
135+
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.
136+
1. In the **Add Assignment** dialog, click the **Assign** button.
137+
138+
## Configure Crayon SSO
139+
140+
To configure single sign-on on **Crayon** side, you need to send the downloaded **Certificate (Base64)** and appropriate copied URLs from Azure portal to [Crayon support team](mailto:[email protected]). They set this setting to have the SAML SSO connection set properly on both sides.
141+
142+
### Create Crayon test user
143+
144+
In this section, a user called B.Simon is created in Crayon. Crayon supports just-in-time user provisioning, which is enabled by default. There is no action item for you in this section. If a user doesn't already exist in Crayon, a new one is created after authentication.
145+
146+
## Test SSO
147+
148+
In this section, you test your Azure AD single sign-on configuration with following options.
149+
150+
#### SP initiated:
151+
152+
* Click on **Test this application** in Azure portal. This will redirect to Crayon Sign-on URL where you can initiate the login flow.
153+
154+
* Go to Crayon Sign-on URL directly and initiate the login flow from there.
155+
156+
#### IDP initiated:
157+
158+
* Click on **Test this application** in Azure portal and you should be automatically signed in to the Crayon for which you set up the SSO.
159+
160+
You can also use Microsoft My Apps to test the application in any mode. When you click the Crayon tile in the My Apps, if configured in SP mode you would be redirected to the application sign-on page for initiating the login flow and if configured in IDP mode, you should be automatically signed in to the Crayon for which you set up the SSO. For more information about the My Apps, see [Introduction to the My Apps](../user-help/my-apps-portal-end-user-access.md).
161+
162+
## Next steps
163+
164+
Once you configure Crayon 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 Cloud App Security](/cloud-app-security/proxy-deployment-aad).

0 commit comments

Comments
 (0)