Skip to content

Commit eaf8521

Browse files
authored
Merge pull request #226830 from MicrosoftDocs/main
Merge main to live, 4 AM
2 parents dad45b6 + ba432a6 commit eaf8521

File tree

160 files changed

+2188
-1288
lines changed

Some content is hidden

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

160 files changed

+2188
-1288
lines changed

articles/active-directory-b2c/faq.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@ metadata:
33
title: 'Frequently asked questions (FAQ) for Azure Active Directory B2C'
44
description: Answers to frequently asked questions about Azure Active Directory B2C.
55
services: active-directory-b2c
6-
author: kengaderdus
6+
author: garrodonnell
77
manager: CelesteDG
88

99
ms.service: active-directory
1010
ms.workload: identity
1111
ms.topic: faq
12-
ms.date: 01/03/2022
13-
ms.author: kengaderdus
12+
ms.date: 02/09/2023
13+
ms.author: godonnell
1414
ms.subservice: B2C
1515
ms.custom: "b2c-support"
1616
title: 'Azure AD B2C: Frequently asked questions (FAQ)'

articles/active-directory/authentication/concept-certificate-based-authentication-smartcard.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,11 @@ The Windows smart card sign-in works with the latest preview build of Windows 11
7373
|✅ | ✅ | ✅ |✅ |
7474

7575
>[!NOTE]
76-
>Azure AD CBA supports both certificates on-device as well as external storage like security keys on Windows.
76+
>Azure AD CBA supports both certificates on-device as well as external storage like security keys on Windows.
77+
78+
## Windows Out of the box experience (OOBE)
79+
80+
Windows OOBE should allow the user to login using an external smart card reader and authenticate against Azure AD CBA. Windows OOBE by default should have the necessary smart card drivers or the smart card drivers previously added to the Windows image before OOBE setup.
7781

7882
## Restrictions and caveats
7983

Loading
Loading

articles/active-directory/cloud-infrastructure-entitlement-management/usage-analytics-active-tasks.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.service: active-directory
88
ms.subservice: ciem
99
ms.workload: identity
1010
ms.topic: how-to
11-
ms.date: 02/23/2022
11+
ms.date: 02/08/2023
1212
ms.author: jfields
1313
---
1414

@@ -48,11 +48,10 @@ When you select **Active Tasks**, the **Analytics** dashboard provides a high-le
4848
The **Active Tasks** table displays the results of your query.
4949

5050
- **Task Name**: Provides the name of the task.
51-
- To view details about the task, select the down arrow in the table.
51+
- To view details about the task, select the down arrow next to the task in the table.
5252

53-
- A **Normal Task** icon displays to the left of the task name if the task is normal (that is, not risky).
54-
- A **Deleted Task** icon displays to the left of the task name if the task involved deleting data.
55-
- A **High-Risk Task** icon displays to the left of the task name if the task is high-risk.
53+
- An icon (![Image of task icon](media/usage-analytics-active-tasks/normal-task.png)) displays to the left of the task name if the task is a **Normal Task** (that is, not risky).
54+
- A highlighted icon (![Image of highlighted task icon](media/usage-analytics-active-tasks/high-risk-deleted-task.png)) displays to the left of the task name if the task involved deleting data — a **High-Delete Task** — or if the task is a **High-Risk Task**.
5655

5756
- **Performed on (resources)**: The number of resources on which the task was used.
5857

articles/active-directory/develop/tutorial-blazor-webassembly.md

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ms.author: henrymbugua
66
ms.service: active-directory
77
ms.subservice: develop
88
ms.topic: tutorial
9-
ms.date: 12/14/2022
9+
ms.date: 02/09/2023
1010
ms.reviewer: janicericketts
1111
#Customer intent: As a developer, I want to add authentication and authorization to a Blazor WebAssembly app and call Microsoft Graph.
1212
---
@@ -40,13 +40,7 @@ Every app that uses Azure AD for authentication must be registered with Azure AD
4040

4141
## Create the app using the .NET Core CLI
4242

43-
To create the app, you need the latest Blazor templates. You can install them for the .NET Core CLI with the following command:
44-
45-
```dotnetcli
46-
dotnet new install Microsoft.Identity.Web.ProjectTemplates
47-
```
48-
49-
Then run the following command to create the application. Replace the placeholders in the command with the proper information from your app's overview page and execute the command in a command shell. The output location specified with the `-o|--output` option creates a project folder if it doesn't exist and becomes part of the app's name.
43+
To create the application, run the following command. Replace the placeholders in the command with the proper information from your app's overview page and execute the command in a command shell. The output location specified with the `-o|--output` option creates a project folder if it doesn't exist and becomes part of the app's name.
5044

5145
```dotnetcli
5246
dotnet new blazorwasm --auth SingleOrg --calls-graph -o {APP NAME} --client-id "{CLIENT ID}" --tenant-id "{TENANT ID}" -f net7.0
@@ -240,5 +234,5 @@ After granting consent, navigate to the "Fetch data" page to read some email.
240234

241235
## Next steps
242236

243-
> [!div class="nextstepaction"]
237+
> [!div class="nextstepaction"]
244238
> [Microsoft identity platform best practices and recommendations](./identity-platform-integration-checklist.md)

articles/active-directory/fundamentals/service-accounts-principal.md

Lines changed: 64 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -2,128 +2,135 @@
22
title: Securing service principals in Azure Active Directory
33
description: Find, assess, and secure service principals.
44
services: active-directory
5-
author: janicericketts
5+
author: jricketts
66
manager: martinco
77
ms.service: active-directory
88
ms.workload: identity
99
ms.subservice: fundamentals
1010
ms.topic: conceptual
11-
ms.date: 11/28/2022
11+
ms.date: 02/08/2023
1212
ms.author: jricketts
1313
ms.reviewer: ajburnle
1414
ms.custom: "it-pro, seodec18"
1515
ms.collection: M365-identity-device-management
1616
---
1717

18-
# Securing service principals
18+
# Securing service principals in Azure Active Directory
1919

20-
An Azure Active Directory (Azure AD) [service principal](../develop/app-objects-and-service-principals.md) is the local representation of an application object in a single tenant or directory. It functions as the identity of the application instance. Service principals define who can access the application, and what resources the application can access. A service principal is created in each tenant where the application is used, and references the globally unique application object. The tenant secures the service principal sign-in and access to resources.
20+
An Azure Active Directory (Azure AD) service principals are the local representation of an application object in a tenant or directory. It's the identity of the application instance. Service principals define application access, and resources the application accesses. A service principal is created in each tenant where the application is used, and references the globally unique application object. The tenant secures the service principal sign-in and access to resources.
21+
22+
Learn more: [Application and service principal objects in Azure AD](../develop/app-objects-and-service-principals.md)
2123

2224
### Tenant-service principal relationships
2325

2426
A single-tenant application has one service principal in its home tenant. A multi-tenant web application or API requires a service principal in each tenant. A service principal is created when a user from that tenant consents to use of the application or API. This consent creates a one-to-many relationship between the multi-tenant application and its associated service principals.
2527

26-
A multi-tenant application is homed in a single tenant and has instances in other tenants. Most software-as-a-service (SaaS) applications accommodate multi-tenancy. Use service principals to ensure the needed security posture for the application and its users in single-tenant and multi-tenant scenarios.
28+
A multi-tenant application is homed in a tenant and has instances in other tenants. Most software-as-a-service (SaaS) applications accommodate multi-tenancy. Use service principals to ensure the needed security posture for the application, and its users, in single- and multi-tenant scenarios.
2729

2830
## ApplicationID and ObjectID
2931

30-
An application instance has two properties: the ApplicationID (also known as ClientID) and the ObjectID.
32+
An application instance has two properties: the ApplicationID (or ClientID) and the ObjectID.
3133

3234
> [!NOTE]
33-
> It's possible the terms application and service principal are used interchangeably when referring to an application in the context of authentication-related tasks. However, they are two representations of applications in Azure AD.
35+
> The terms **application** and **service principal** are used interchangeably, when referring to an application in authentication tasks. However, they are two representations of applications in Azure AD.
3436
35-
The ApplicationID represents the global application and is the same for application instances across tenants. The ObjectID is a unique value for an application object. As with users, groups, and other resources, the ObjectID helps to identify an application instance in Azure AD.
37+
The ApplicationID represents the global application and is the same for application instances, across tenants. The ObjectID is a unique value for an application object. As with users, groups, and other resources, the ObjectID helps to identify an application instance in Azure AD.
38+
39+
To learn more, see [Application and service principal relationship](../develop/app-objects-and-service-principals.md)
40+
41+
### Create an application and its service principal object
3642

37-
To learn more, see [Application and service principal relationship](../develop/app-objects-and-service-principals.md).
43+
You can create an application and its service principal object (ObjectID) in a tenant using:
3844

39-
You can create an application and its service principal object (ObjectID) in a tenant using Azure PowerShell, Azure CLI, Microsoft Graph, the Azure portal, and other tools.
45+
* Azure PowerShell
46+
* Azure command-line interface (CLI)
47+
* Microsoft Graph
48+
* The Azure portal
49+
* Other tools
4050

41-
![Screen shot showing a new application registration, with the Application ID and Object ID fields highlighted.](./media/securing-service-accounts/secure-principal-image-1.png)
51+
![Screenshot of Application or Client ID and Object ID on the New App page.](./media/securing-service-accounts/secure-principal-image-1.png)
4252

4353
## Service principal authentication
4454

45-
When using service principals—client certificates and client secrets, there are two mechanisms for authentication.
55+
There are two mechanisms for authentication, when using service principals—client certificates and client secrets.
4656

47-
![ Screen shot of New App page showing the Certificates and client secrets areas highlighted.](./media/securing-service-accounts/secure-principal-certificates.png)
57+
![Screenshot of Certificates and Client secrets under New App, Certificates and secrets.](./media/securing-service-accounts/secure-principal-certificates.png)
4858

49-
Certificates are more secure, therefore use them, if possible. Unlike client secrets, client certificates can't be embedded in code, accidentally. When possible, use Azure Key Vault for certificate and secrets management to encrypt the following assets with keys protected by hardware security modules:
59+
Because certificates are more secure, it's recommended you use them, when possible. Unlike client secrets, client certificates can't be embedded in code, accidentally. When possible, use Azure Key Vault for certificate and secrets management to encrypt assets with keys protected by hardware security modules:
5060

5161
* Authentication keys
52-
5362
* Storage account keys
54-
5563
* Data encryption keys
56-
5764
* .pfx files
58-
5965
* Passwords
6066

61-
For more information on Azure Key Vault and how to use it for certificate and secret management, see
62-
[About Azure Key Vault](../../key-vault/general/overview.md) and [Assign a Key Vault access policy using the Azure portal](../../key-vault/general/assign-access-policy-portal.md).
67+
For more information on Azure Key Vault and how to use it for certificate and secret management, see:
68+
69+
* [About Azure Key Vault](../../key-vault/general/overview.md)
70+
* [Assign a Key Vault access policy](../../key-vault/general/assign-access-policy.md)
6371

6472
### Challenges and mitigations
6573

66-
Use the following table to match challenges and mitigations, when using service principals.
74+
When using service principals, use the following table to match challenges and mitigations.
6775

68-
| Challenges​| Mitigations​ |
76+
| Challenge| Mitigation|
6977
| - | - |
70-
| Access reviews for service principals assigned to privileged roles| This functionality is in preview, and not widely available |
71-
| Reviews service principal access| Manual check of resource access control list using the Azure portal |
72-
| Over-permissioned service principals| When you create automation service accounts or or service principals, provide permissions required for the task. Evaluate service principals to reduce privileges |
73-
|Identify modifications to service principal credentials or authentication methods |Use the Sensitive Operations Report workbook to mitigate. See also the Tech Community blog post [Azure AD workbook to help you assess Solorigate risk](https://techcommunity.microsoft.com/t5/azure-active-directory-identity/azure-ad-workbook-to-help-you-assess-solorigate-risk/ba-p/2010718).|
78+
| Access reviews for service principals assigned to privileged roles| This functionality is in preview |
79+
| Service principal access reviews| Manual check of resource access control list using the Azure portal |
80+
| Over-permissioned service principals| When you create automation service accounts, or service principals, grant permissions for the task. Evaluate service principals to reduce privileges. |
81+
|Identify modifications to service principal credentials or authentication methods | - See, [Sensitive operations report workbook](../reports-monitoring/workbook-sensitive-operations-report.md) </br> - See the Tech Community blog post, [Azure AD workbook to help you assess Solorigate risk](https://techcommunity.microsoft.com/t5/azure-active-directory-identity/azure-ad-workbook-to-help-you-assess-solorigate-risk/ba-p/2010718)|
7482

7583
## Find accounts using service principals
7684

77-
Run the following commands to find accounts using service principals with Azure CLI or PowerShell.
78-
79-
Azure CLI:
85+
To find accounts, run the following commands using service principals with Azure CLI or PowerShell.
8086

81-
`az ad sp list`
87+
* Azure CLI - `az ad sp list`
88+
* PowerShell - `Get-AzureADServicePrincipal -All:$true`
8289

83-
PowerShell:
84-
85-
`Get-AzureADServicePrincipal -All:$true`
86-
87-
For more information see [Get-AzureADServicePrincipal](/powershell/module/azuread/get-azureadserviceprincipal).
90+
For more information, see [Get-AzureADServicePrincipal](/powershell/module/azuread/get-azureadserviceprincipal)
8891

8992
## Assess service principal security
9093

91-
To assess the security of your service principals, ensure you evaluate privileges and credential storage.
92-
93-
Mitigate potential challenges using the following information.
94+
To assess the security, evaluate privileges and credential storage. Use the following table to help mitigate challenges:
9495

95-
|Challenges | Mitigations|
96+
|Challenge | Mitigation|
9697
| - | - |
97-
| Detect the user who consented to a multi-tenant app, and detect illicit consent grants to a multi-tenant app | Run the following PowerShell to find multi-tenant apps.<br>`Get-AzureADServicePrincipal -All:$true ? {$_.Tags -eq WindowsAzureActiveDirectoryIntegratedApp"}`<br>Disable user consent. <br>Allow user consent from verified publishers, for selected permissions (recommended) <br> Configure them in the user context. Use their tokens to trigger the service principal.|
98+
| Detect the user who consented to a multi-tenant app, and detect illicit consent grants to a multi-tenant app | - Run the following PowerShell to find multi-tenant apps <br>`Get-AzureADServicePrincipal -All:$true ? {$_.Tags -eq WindowsAzureActiveDirectoryIntegratedApp"}`</br> - Disable user consent </br> - Allow user consent from verified publishers, for selected permissions (recommended) </br> - Configure them in the user context </br> - Use their tokens to trigger the service principal|
9899
|Use of a hard-coded shared secret in a script using a service principal|Use a certificate|
99-
|Tracking who uses the certificate or the secret| Monitor the service principal sign-ins using the Azure AD sign-in logs|
100-
Can't manage service principal sign-in with Conditional Access| Monitor the sign-ins using the Azure AD sign-in logs
101-
| Contributor is the default Azure role-based access control (RBAC) role|Evaluate needs and apply the role with the least possible permissions|
100+
|Tracking who uses the certificate or the secret| Monitor the service principal sign-ins using the Azure AD sign-in logs|
101+
|Can't manage service principal sign-in with Conditional Access| Monitor the sign-ins using the Azure AD sign-in logs
102+
| Contributor is the default Azure role-based access control (Azure RBAC) role|Evaluate needs and apply the least possible permissions|
102103

103-
## Move from a user account to a service principal​
104+
Learn more: [What is Conditional Access?](../conditional-access/overview.md)
104105

105-
If you're using an Azure user account as a service principal, evaluate if you can move to a [Managed Identity](../../app-service/overview-managed-identity.md?tabs=dotnet) or a service principal. If you can't use a managed identity, provision a service principal with enough permissions and scope to run the required tasks. You can create a service principal by [registering an application](../develop/howto-create-service-principal-portal.md), or with [PowerShell](../develop/howto-authenticate-service-principal-powershell.md).
106+
## Move from a user account to a service principal
106107

107-
When using Microsoft Graph, check the API documentation. See, [Create an Azure service principal](/powershell/azure/create-azure-service-principal-azureps). Ensure the permission type for application is supported.
108+
If you're using an Azure user account as a service principal, evaluate if you can move to a managed identity or a service principal. If you can't use a managed identity, grant a service principal enough permissions and scope to run the required tasks. You can create a service principal by registering an application, or with PowerShell.
108109

109-
## Next steps
110+
When using Microsoft Graph, check the API documentation. Ensure the permission type for application is supported. </br>See, [Create servicePrincipal](/graph/api/serviceprincipal-post-serviceprincipals?view=graph-rest-1.0&tabs=http&preserve-view=true)
110111

111-
Learn more about service principals:
112+
Learn more:
112113

113-
[Create a service principal](../develop/howto-create-service-principal-portal.md)
114+
* [How to use managed identities for App Service and Azure Functions](../../app-service/overview-managed-identity.md?tabs=dotnet)
115+
* [Create an Azure AD application and service principal that can access resources](../develop/howto-create-service-principal-portal.md)
116+
* [Use Azure PowerShell to create a service principal with a certificate](../develop/howto-authenticate-service-principal-powershell.md)
114117

115-
[Monitor service principal sign-ins](../reports-monitoring/concept-sign-ins.md)
116-
117-
Learn more about securing service accounts:
118+
## Next steps
118119

119-
[Introduction to Azure service accounts](service-accounts-introduction-azure.md)
120+
Learn more about service principals:
120121

121-
[Securing managed identities](service-accounts-managed-identities.md)
122+
* [Create an Azure AD application and service principal that can access resources](../develop/howto-create-service-principal-portal.md)
123+
* [Sign-in logs in Azure AD](../reports-monitoring/concept-sign-ins.md)
122124

123-
[Governing Azure service accounts](service-accounts-governing-azure.md)
125+
Secure service accounts:
124126

125-
[Introduction to on-premises service accounts](service-accounts-on-premises.md)
127+
* [Securing cloud-based service accounts](service-accounts-introduction-azure.md)
128+
* [Securing managed identities in Azure AD](service-accounts-managed-identities.md)
129+
* [Governing Azure AD service accounts](service-accounts-governing-azure.md)
130+
* [Securing on-premises service accounts](service-accounts-on-premises.md)
126131

127132
Conditional Access:
128133

129-
Use Conditional Access to block service principals from untrusted locations. See, [Create a location-based Conditional Access policy](../conditional-access/workload-identity.md#create-a-location-based-conditional-access-policy).
134+
Use Conditional Access to block service principals from untrusted locations.
135+
136+
See, [Conditional Access for workload identities](../conditional-access/workload-identity.md#create-a-location-based-conditional-access-policy)

0 commit comments

Comments
 (0)