Skip to content

Commit 2a0d103

Browse files
authored
Merge pull request #220777 from MicrosoftDocs/main
12/07 AM Publish
2 parents 9bd30dc + 452af20 commit 2a0d103

File tree

92 files changed

+1438
-774
lines changed

Some content is hidden

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

92 files changed

+1438
-774
lines changed

.openpublishing.redirection.active-directory.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@
4545
"redirect_url": "/azure/active-directory/saas-apps/tutorial-list",
4646
"redirect_document_id": false
4747
},
48+
{
49+
"source_path_from_root": "/articles/active-directory/saas-apps/iauditor-tutorial.md",
50+
"redirect_url": "/azure/active-directory/saas-apps/safety-culture-tutorial",
51+
"redirect_document_id": false
52+
},
4853
{
4954
"source_path_from_root": "/articles/active-directory/saas-apps/icertisicm-tutorial.md",
5055
"redirect_url": "/azure/active-directory/saas-apps/tutorial-list",

articles/active-directory/conditional-access/terms-of-use.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,7 @@ A: You can [review previously accepted terms of use policies](#how-users-can-rev
413413
A: If you've configured both Azure AD terms of use and [Intune terms and conditions](/intune/terms-and-conditions-create), the user will be required to accept both. For more information, see the [Choosing the right Terms solution for your organization blog post](https://go.microsoft.com/fwlink/?linkid=2010506&clcid=0x409).
414414

415415
**Q: What endpoints does the terms of use service use for authentication?**<br />
416-
A: Terms of use utilize the following endpoints for authentication: https://tokenprovider.termsofuse.identitygovernance.azure.com and https://account.activedirectory.windowsazure.com. If your organization has an allowlist of URLs for enrollment, you'll need to add these endpoints to your allowlist, along with the Azure AD endpoints for sign-in.
416+
A: Terms of use utilize the following endpoints for authentication: https://tokenprovider.termsofuse.identitygovernance.azure.com, https://myaccount.microsoft.com and https://account.activedirectory.windowsazure.com. If your organization has an allowlist of URLs for enrollment, you'll need to add these endpoints to your allowlist, along with the Azure AD endpoints for sign-in.
417417

418418
## Next steps
419419

articles/active-directory/develop/msal-net-token-cache-serialization.md

Lines changed: 1 addition & 143 deletions
Original file line numberDiff line numberDiff line change
@@ -548,149 +548,7 @@ A product-quality, file-based token cache serializer for public client applicati
548548
549549
#### Dual token cache serialization (MSAL unified cache and ADAL v3)
550550

551-
If you want to implement token cache serialization with the unified cache format (common to ADAL.NET 4.x, MSAL.NET 2.x, and other MSALs of the same generation or older, on the same platform), take a look at the following code:
552-
553-
```csharp
554-
string appLocation = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location;
555-
string cacheFolder = Path.GetFullPath(appLocation) + @"..\..\..\..");
556-
string adalV3cacheFileName = Path.Combine(cacheFolder, "cacheAdalV3.bin");
557-
string unifiedCacheFileName = Path.Combine(cacheFolder, "unifiedCache.bin");
558-
559-
IPublicClientApplication app;
560-
app = PublicClientApplicationBuilder.Create(clientId)
561-
.Build();
562-
FilesBasedTokenCacheHelper.EnableSerialization(app.UserTokenCache,
563-
unifiedCacheFileName,
564-
adalV3cacheFileName);
565-
566-
```
567-
568-
This time, the helper class is defined as:
569-
570-
```csharp
571-
using System;
572-
using System.IO;
573-
using System.Security.Cryptography;
574-
using Microsoft.Identity.Client;
575-
576-
namespace CommonCacheMsalV3
577-
{
578-
/// <summary>
579-
/// Simple persistent cache implementation of the dual cache serialization (ADAL v3 legacy
580-
/// and unified cache format) for a desktop applications (from MSAL 2.x)
581-
/// </summary>
582-
static class FilesBasedTokenCacheHelper
583-
{
584-
/// <summary>
585-
/// Enables the serialization of the token cache
586-
/// </summary>
587-
/// <param name="adalV3CacheFileName">File name where the cache is serialized with the
588-
/// ADAL v3 token cache format. Can
589-
/// be <c>null</c> if you don't want to implement the legacy ADAL v3 token cache
590-
/// serialization in your MSAL 2.x+ application</param>
591-
/// <param name="unifiedCacheFileName">File name where the cache is serialized
592-
/// with the unified cache format, common to
593-
/// ADAL v4 and MSAL v2 and later, and also across ADAL/MSAL on the same platform.
594-
/// Should not be <c>null</c></param>
595-
/// <returns></returns>
596-
public static void EnableSerialization(ITokenCache tokenCache, string unifiedCacheFileName, string adalV3CacheFileName)
597-
{
598-
UnifiedCacheFileName = unifiedCacheFileName;
599-
AdalV3CacheFileName = adalV3CacheFileName;
600-
601-
tokenCache.SetBeforeAccess(BeforeAccessNotification);
602-
tokenCache.SetAfterAccess(AfterAccessNotification);
603-
}
604-
605-
/// <summary>
606-
/// File path where the token cache is serialized with the unified cache format
607-
/// (ADAL.NET v4, MSAL.NET v3)
608-
/// </summary>
609-
public static string UnifiedCacheFileName { get; private set; }
610-
611-
/// <summary>
612-
/// File path where the token cache is serialized with the legacy ADAL v3 format
613-
/// </summary>
614-
public static string AdalV3CacheFileName { get; private set; }
615-
616-
private static readonly object FileLock = new object();
617-
618-
public static void BeforeAccessNotification(TokenCacheNotificationArgs args)
619-
{
620-
lock (FileLock)
621-
{
622-
args.TokenCache.DeserializeAdalV3(ReadFromFileIfExists(AdalV3CacheFileName));
623-
try
624-
{
625-
args.TokenCache.DeserializeMsalV3(ReadFromFileIfExists(UnifiedCacheFileName));
626-
}
627-
catch(Exception ex)
628-
{
629-
// Compatibility with the MSAL v2 cache if you used one
630-
args.TokenCache.DeserializeMsalV2(ReadFromFileIfExists(UnifiedCacheFileName));
631-
}
632-
}
633-
}
634-
635-
public static void AfterAccessNotification(TokenCacheNotificationArgs args)
636-
{
637-
// if the access operation resulted in a cache update
638-
if (args.HasStateChanged)
639-
{
640-
lock (FileLock)
641-
{
642-
WriteToFileIfNotNull(UnifiedCacheFileName, args.TokenCache.SerializeMsalV3());
643-
if (!string.IsNullOrWhiteSpace(AdalV3CacheFileName))
644-
{
645-
WriteToFileIfNotNull(AdalV3CacheFileName, args.TokenCache.SerializeAdalV3());
646-
}
647-
}
648-
}
649-
}
650-
651-
/// <summary>
652-
/// Read the content of a file if it exists
653-
/// </summary>
654-
/// <param name="path">File path</param>
655-
/// <returns>Content of the file (in bytes)</returns>
656-
private static byte[] ReadFromFileIfExists(string path)
657-
{
658-
byte[] protectedBytes = (!string.IsNullOrEmpty(path) && File.Exists(path))
659-
? File.ReadAllBytes(path) : null;
660-
byte[] unprotectedBytes = encrypt ?
661-
((protectedBytes != null) ? ProtectedData.Unprotect(protectedBytes, null, DataProtectionScope.CurrentUser) : null)
662-
: protectedBytes;
663-
return unprotectedBytes;
664-
}
665-
666-
/// <summary>
667-
/// Writes a blob of bytes to a file. If the blob is <c>null</c>, deletes the file
668-
/// </summary>
669-
/// <param name="path">path to the file to write</param>
670-
/// <param name="blob">Blob of bytes to write</param>
671-
private static void WriteToFileIfNotNull(string path, byte[] blob)
672-
{
673-
if (blob != null)
674-
{
675-
byte[] protectedBytes = encrypt
676-
? ProtectedData.Protect(blob, null, DataProtectionScope.CurrentUser)
677-
: blob;
678-
File.WriteAllBytes(path, protectedBytes);
679-
}
680-
else
681-
{
682-
File.Delete(path);
683-
}
684-
}
685-
686-
// Change if you want to test with an unencrypted blob (this is a JSON format)
687-
private static bool encrypt = true;
688-
}
689-
}
690-
```
691-
692-
For more details see the sample: https://github.com/Azure-Samples/active-directory-dotnet-v1-to-v2/tree/master/TokenCacheMigration/ADAL2MSAL
693-
551+
If you want to implement token cache serialization with the unified cache format (common to ADAL.NET 4.x, MSAL.NET 2.x, and other MSALs of the same generation or older, on the same platform), take a look at the following sample: https://github.com/Azure-Samples/active-directory-dotnet-v1-to-v2/tree/master/TokenCacheMigration/ADAL2MSAL.
694552
695553
---
696554

articles/active-directory/external-identities/reset-redemption-status.md

Lines changed: 4 additions & 4 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: how-to
10-
ms.date: 11/28/2022
10+
ms.date: 12/07/2022
1111

1212
ms.author: mimart
1313
author: msmimart
@@ -32,7 +32,7 @@ To manage these scenarios previously, you had to manually delete the guest user
3232

3333
To reset a user's redemption status, you'll need one of the following roles:
3434

35-
- [Guest Inviter](../roles/permissions-reference.md#guest-inviter) (least privileged)
35+
- [Helpdesk Administrator](../roles/permissions-reference.md#helpdesk-administrator) (least privileged)
3636
- [User Administrator](../roles/permissions-reference.md#user-administrator)
3737
- [Global Administrator](../roles/permissions-reference.md#global-administrator)
3838

@@ -76,7 +76,7 @@ If a user wants to sign in using a different email:
7676

7777
```powershell
7878
Install-Module Microsoft.Graph
79-
Select-MgProfile -Name beta
79+
Select-MgProfile -Name v1.0
8080
Connect-MgGraph -Scopes "User.ReadWrite.All"
8181
8282
$user = Get-MgUser -Filter "startsWith(mail, '[email protected]')"
@@ -93,7 +93,7 @@ New-MgInvitation `
9393
To use the [Microsoft Graph invitation API](/graph/api/resources/invitation), set the `resetRedemption` property to `true` and specify the new email address in the `invitedUserEmailAddress` property.
9494

9595
```json
96-
POST https://graph.microsoft.com/beta/invitations
96+
POST https://graph.microsoft.com/v1.0/invitations
9797
Authorization: Bearer eyJ0eX...
9898
ContentType: application/json
9999
{

articles/active-directory/fundamentals/recoverability-overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ms.subservice: fundamentals
1010
ms.topic: conceptual
1111
ms.date: 08/26/2022
1212
ms.author: jricketts
13-
ms.reviewer: baselden
13+
ms.reviewer: jricketts
1414
ms.custom: "it-pro, seodec18"
1515
ms.collection: M365-identity-device-management
1616
---

articles/active-directory/fundamentals/whats-new-archive.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1336,7 +1336,7 @@ For more information about how to better secure your organization by using autom
13361336

13371337
In September 2021, we have added following 44 new applications in our App gallery with Federation support
13381338

1339-
[Studybugs](https://studybugs.com/signin), [Yello](https://yello.co/yello-for-microsoft-teams/), [LawVu](../saas-apps/lawvu-tutorial.md), [Formate eVo Mail](https://www.document-genetics.co.uk/formate-evo-erp-output-management), [Revenue Grid](https://app.revenuegrid.com/login), [Orbit for Office 365](https://azuremarketplace.microsoft.com/marketplace/apps/aad.orbitforoffice365?tab=overview), [Upmarket](https://app.upmarket.ai/), [Alinto Protect](https://protect.alinto.net/), [Cloud Concinnity](https://cloudconcinnity.com/), [Matlantis](https://matlantis.com/), [ModelGen for Visio (MG4V)](https://crecy.com.au/model-gen/), [NetRef: Classroom Management](https://oauth.net-ref.com/microsoft/sso), [VergeSense](../saas-apps/vergesense-tutorial.md), [iAuditor](../saas-apps/iauditor-tutorial.md), [Secutraq](https://secutraq.net/login), [Active and Thriving](../saas-apps/active-and-thriving-tutorial.md), [Inova](https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?client_id=1bacdba3-7a3b-410b-8753-5cc0b8125f81&response_type=code&redirect_uri=https:%2f%2fbroker.partneringplace.com%2fpartner-companion%2f&code_challenge_method=S256&code_challenge=YZabcdefghijklmanopqrstuvwxyz0123456789._-~&scope=1bacdba3-7a3b-410b-8753-5cc0b8125f81/.default), [TerraTrue](../saas-apps/terratrue-tutorial.md), [Beyond Identity Admin Console](../saas-apps/beyond-identity-admin-console-tutorial.md), [Visult](https://visult.app), [ENGAGE TAG](https://app.engagetag.com/), [Appaegis Isolation Access Cloud](../saas-apps/appaegis-isolation-access-cloud-tutorial.md), [CrowdStrike Falcon Platform](../saas-apps/crowdstrike-falcon-platform-tutorial.md), [MY Emergency Control](https://my-emergency.co.uk/app/auth/login), [AlexisHR](../saas-apps/alexishr-tutorial.md), [Teachme Biz](../saas-apps/teachme-biz-tutorial.md), [Zero Networks](../saas-apps/zero-networks-tutorial.md), [Mavim iMprove](https://improve.mavimcloud.com/), [Azumuta](https://app.azumuta.com/login?microsoft=true), [Frankli](https://beta.frankli.io/login), [Amazon Managed Grafana](../saas-apps/amazon-managed-grafana-tutorial.md), [Productive](../saas-apps/productive-tutorial.md), [Create!Webフロー](../saas-apps/createweb-tutorial.md), [Evercate](https://evercate.com/), [Ezra Coaching](../saas-apps/ezra-coaching-tutorial.md), [Baldwin Safety and Compliance](../saas-apps/baldwin-safety-&-compliance-tutorial.md), [Nulab Pass (Backlog,Cacoo,Typetalk)](../saas-apps/nulab-pass-tutorial.md), [Metatask](../saas-apps/metatask-tutorial.md), [Contrast Security](../saas-apps/contrast-security-tutorial.md), [Animaker](../saas-apps/animaker-tutorial.md), [Traction Guest](../saas-apps/traction-guest-tutorial.md), [True Office Learning - LIO](../saas-apps/true-office-learning-lio-tutorial.md), [Qiita Team](../saas-apps/qiita-team-tutorial.md)
1339+
[Studybugs](https://studybugs.com/signin), [Yello](https://yello.co/yello-for-microsoft-teams/), [LawVu](../saas-apps/lawvu-tutorial.md), [Formate eVo Mail](https://www.document-genetics.co.uk/formate-evo-erp-output-management), [Revenue Grid](https://app.revenuegrid.com/login), [Orbit for Office 365](https://azuremarketplace.microsoft.com/marketplace/apps/aad.orbitforoffice365?tab=overview), [Upmarket](https://app.upmarket.ai/), [Alinto Protect](https://protect.alinto.net/), [Cloud Concinnity](https://cloudconcinnity.com/), [Matlantis](https://matlantis.com/), [ModelGen for Visio (MG4V)](https://crecy.com.au/model-gen/), [NetRef: Classroom Management](https://oauth.net-ref.com/microsoft/sso), [VergeSense](../saas-apps/vergesense-tutorial.md), [SafetyCulture](../saas-apps/safety-culture-tutorial.md), [Secutraq](https://secutraq.net/login), [Active and Thriving](../saas-apps/active-and-thriving-tutorial.md), [Inova](https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?client_id=1bacdba3-7a3b-410b-8753-5cc0b8125f81&response_type=code&redirect_uri=https:%2f%2fbroker.partneringplace.com%2fpartner-companion%2f&code_challenge_method=S256&code_challenge=YZabcdefghijklmanopqrstuvwxyz0123456789._-~&scope=1bacdba3-7a3b-410b-8753-5cc0b8125f81/.default), [TerraTrue](../saas-apps/terratrue-tutorial.md), [Beyond Identity Admin Console](../saas-apps/beyond-identity-admin-console-tutorial.md), [Visult](https://visult.app), [ENGAGE TAG](https://app.engagetag.com/), [Appaegis Isolation Access Cloud](../saas-apps/appaegis-isolation-access-cloud-tutorial.md), [CrowdStrike Falcon Platform](../saas-apps/crowdstrike-falcon-platform-tutorial.md), [MY Emergency Control](https://my-emergency.co.uk/app/auth/login), [AlexisHR](../saas-apps/alexishr-tutorial.md), [Teachme Biz](../saas-apps/teachme-biz-tutorial.md), [Zero Networks](../saas-apps/zero-networks-tutorial.md), [Mavim iMprove](https://improve.mavimcloud.com/), [Azumuta](https://app.azumuta.com/login?microsoft=true), [Frankli](https://beta.frankli.io/login), [Amazon Managed Grafana](../saas-apps/amazon-managed-grafana-tutorial.md), [Productive](../saas-apps/productive-tutorial.md), [Create!Webフロー](../saas-apps/createweb-tutorial.md), [Evercate](https://evercate.com/), [Ezra Coaching](../saas-apps/ezra-coaching-tutorial.md), [Baldwin Safety and Compliance](../saas-apps/baldwin-safety-&-compliance-tutorial.md), [Nulab Pass (Backlog,Cacoo,Typetalk)](../saas-apps/nulab-pass-tutorial.md), [Metatask](../saas-apps/metatask-tutorial.md), [Contrast Security](../saas-apps/contrast-security-tutorial.md), [Animaker](../saas-apps/animaker-tutorial.md), [Traction Guest](../saas-apps/traction-guest-tutorial.md), [True Office Learning - LIO](../saas-apps/true-office-learning-lio-tutorial.md), [Qiita Team](../saas-apps/qiita-team-tutorial.md)
13401340

13411341
You can also find the documentation of all the applications here: https://aka.ms/AppsTutorial
13421342

articles/active-directory/governance/entitlement-management-request-access.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Request an access package - Microsoft Entra entitlement management
2+
title: Request an access package - entitlement management
33
description: Learn how to use the My Access portal to request access to an access package in Azure Active Directory entitlement management.
44
services: active-directory
55
documentationCenter: ''
@@ -20,9 +20,9 @@ ms.collection: M365-identity-device-management
2020
#Customer intent: As a requestor, I want simple steps for how to request resources I need so that I can start using the resources to perform my job.
2121

2222
---
23-
# Request access to an access package in Microsoft Entra entitlement management
23+
# Request access to an access package in entitlement management
2424

25-
With Microsoft Entra entitlement management, an access package enables a one-time setup of resources and policies that automatically administers access for the life of the access package.
25+
With entitlement management, an access package enables a one-time setup of resources and policies that automatically administers access for the life of the access package.
2626

2727
An access package manager can configure policies to require approval for users to have access to access packages. A user that needs access to an access package can submit a request to get access. This article describes how to submit an access request.
2828

articles/active-directory/governance/entitlement-management-request-approve.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Approve or deny access requests - Microsoft Entra entitlement management
2+
title: Approve or deny access requests - entitlement management
33
description: Learn how to use the My Access portal to approve or deny requests to an access package in Azure Active Directory entitlement management.
44
services: active-directory
55
documentationCenter: ''
@@ -20,9 +20,9 @@ ms.collection: M365-identity-device-management
2020
#Customer intent: As a approver, I want steps for how to approve requests for access packages so that I can unlock requestors who need to use the resources.
2121

2222
---
23-
# Approve or deny access requests in Microsoft Entra entitlement management
23+
# Approve or deny access requests in entitlement management
2424

25-
With Microsoft Entra entitlement management, you can configure policies to require approval for access packages, and choose one or more approvers. This article describes how designated approvers can approve or deny requests for access packages.
25+
With entitlement management, you can configure policies to require approval for access packages, and choose one or more approvers. This article describes how designated approvers can approve or deny requests for access packages.
2626

2727
## Open request
2828

articles/active-directory/governance/entitlement-management-scenarios.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ ms.collection: M365-identity-device-management
2020
#Customer intent: As an administrator, I want the high-level steps that I should follow so that I can quickly start using entitlement management.
2121

2222
---
23-
# Common scenarios in Microsoft Entra entitlement management
23+
# Common scenarios in entitlement management
2424

2525
There are several ways that you can configure entitlement management for your organization. However, if you're just getting started, it's helpful to understand the common scenarios for administrators, catalog owners, access package managers, approvers, and requestors.
2626

articles/active-directory/governance/entitlement-management-troubleshoot.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ ms.collection: M365-identity-device-management
2020
#Customer intent: As an administrator, I want checklists and tips to help troubleshoot entitlement management to unblock users from performing their job.
2121

2222
---
23-
# Troubleshoot Microsoft Entra entitlement management
23+
# Troubleshoot entitlement management
2424

25-
This article describes some items you should check to help you troubleshoot Microsoft Entra entitlement management.
25+
This article describes some items you should check to help you troubleshoot entitlement management.
2626

2727
## Administration
2828

0 commit comments

Comments
 (0)