Skip to content

Commit 6a13876

Browse files
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into pauljewell-upload-download
2 parents 12bcad3 + 959a9dc commit 6a13876

28 files changed

+174
-49
lines changed

articles/active-directory/roles/protected-actions-add.md

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ms.service: active-directory
99
ms.subservice: roles
1010
ms.workload: identity
1111
ms.topic: how-to
12-
ms.date: 04/10/2022
12+
ms.date: 04/21/2023
1313
---
1414

1515
# Add, test, or remove protected actions in Azure AD (preview)
@@ -45,14 +45,18 @@ Protected actions use a Conditional Access authentication context, so you must c
4545

4646
1. Create a new policy and select your authentication context.
4747

48-
For more information, see [Conditional Access: Cloud apps, actions, and authentication context](../conditional-access/concept-conditional-access-cloud-apps.md).
48+
For more information, see [Conditional Access: Cloud apps, actions, and authentication context](../conditional-access/concept-conditional-access-cloud-apps.md#authentication-context).
4949

5050
:::image type="content" source="media/protected-actions-add/policy-authentication-context.png" alt-text="Screenshot of New policy page to create a new policy with an authentication context." lightbox="media/protected-actions-add/policy-authentication-context.png":::
5151

5252
## Add protected actions
5353

5454
To add protection actions, assign a Conditional Access policy to one or more permissions using a Conditional Access authentication context.
5555

56+
1. Select **Azure Active Directory** > **Protect & secure** > **Conditional Access** > **Policies**.
57+
58+
1. Make sure the state of the Conditional Access policy that you plan to use with your protected action is set to **On** and not **Off** or **Report-only**.
59+
5660
1. Select **Azure Active Directory** > **Roles & admins** > **Protected actions (Preview)**.
5761

5862
:::image type="content" source="media/protected-actions-add/protected-actions-start.png" alt-text="Screenshot of Add protected actions page in Roles and administrators." lightbox="media/protected-actions-add/protected-actions-start.png":::
@@ -173,6 +177,22 @@ The user has previously satisfied policy. For example, the completed multifactor
173177

174178
Check the [Azure AD sign-in events](../conditional-access/troubleshoot-conditional-access.md) to troubleshoot. The sign-in events will include details about the session, including if the user has already completed multifactor authentication. When troubleshooting with the sign-in logs, it's also helpful to check the policy details page, to confirm an authentication context was requested.
175179

180+
### Symptom - Policy is never satisfied
181+
182+
When you attempt to perform the requirements for the Conditional Access policy, the policy is never satisfied and you keep getting requested to reauthenticate.
183+
184+
**Cause**
185+
186+
The Conditional Access policy wasn't created or the policy state is **Off** or **Report-only**.
187+
188+
**Solution**
189+
190+
Create the Conditional Access policy if it doesn't exist or and set the state to **On**.
191+
192+
If you aren't able to access the Conditional Access page because of the protected action and repeated requests to reauthenticate, use the following link to open the Conditional Access page.
193+
194+
- [https://aka.ms/MSALProtectedActions](https://aka.ms/MSALProtectedActions)
195+
176196
### Symptom - No access to add protected actions
177197

178198
When signed in you don't have permissions to add or remove protected actions.

articles/active-directory/roles/protected-actions-overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ Here's the initial set of permissions:
5757
5858
## How do protected actions compare with Privileged Identity Management role activation?
5959

60-
[Privileged Identity Management role activation](../privileged-identity-management/pim-how-to-change-default-settings.md) can also be assigned Conditional Access policies. This capability allows for policy enforcement only when a user activates a role, providing the most comprehensive protection. Protected actions are enforced only when a user takes an action that requires permissions with Conditional Access policy assigned to it. Protected actions allows for high impact permissions to be protected, independent of a user role. Privileged Identity Management role activation and protected actions can be used together, for the strongest coverage.
60+
[Privileged Identity Management role activation](../privileged-identity-management/pim-how-to-change-default-settings.md) can also be assigned Conditional Access policies. This capability allows for policy enforcement only when a user activates a role, providing the most comprehensive protection. Protected actions are enforced only when a user takes an action that requires permissions with Conditional Access policy assigned to it. Protected actions allow for high impact permissions to be protected, independent of a user role. Privileged Identity Management role activation and protected actions can be used together for stronger coverage.
6161

6262
## Steps to use protected actions
6363

@@ -67,7 +67,7 @@ Here's the initial set of permissions:
6767

6868
1. **Configure Conditional Access policy**
6969

70-
Configure a Conditional Access authentication context and an associated Conditional Access policy. Protected actions use an authentication context, which allows policy enforcement for fine-grain resources in a service, like Azure AD permissions. A good policy to start with is to require passwordless MFA and exclude an emergency account. [Learn more](../conditional-access/concept-conditional-access-cloud-apps.md#authentication-context)
70+
Configure a Conditional Access authentication context and an associated Conditional Access policy. Protected actions use an authentication context, which allows policy enforcement for fine-grain resources in a service, like Azure AD permissions. A good policy to start with is to require passwordless MFA and exclude an emergency account. [Learn more](./protected-actions-add.md#configure-conditional-access-policy)
7171

7272
1. **Add protected actions**
7373

articles/active-directory/verifiable-credentials/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@
8888
items:
8989
- name: Remote onboarding
9090
href: remote-onboarding-new-employees-id-verification.md
91+
- name: LinkedIn employment verification
92+
href: linkedin-employment-verification.md
9193
- name: Reference
9294
expanded: true
9395
items:
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
---
2+
title: LinkedIn employment verification
3+
description: A design pattern describing how to configure employment verification using LinkedIn
4+
services: decentralized-identity
5+
author: barclayn
6+
manager: amycolannino
7+
ms.service: decentralized-identity
8+
ms.subservice: verifiable-credentials
9+
ms.topic: conceptual
10+
ms.date: 04/21/2023
11+
ms.author: barclayn
12+
---
13+
14+
# LinkedIn employment verification
15+
16+
If your organization wants its employees get verified on LinkedIn, you need to follow these few steps:
17+
18+
1. Setup your Microsoft Entra Verified ID service by following these [instructions](verifiable-credentials-configure-tenant.md).
19+
1. [Create](how-to-use-quickstart-verifiedemployee.md#create-a-verified-employee-credential) a Verified ID Employee credential.
20+
1. Configure the LinkedIn company page with your organization DID (decentralized identity) and URL of the custom Webapp.
21+
1. Once you deploy the updated LinkedIn mobile app your employees can get verified.
22+
23+
>[!NOTE]
24+
> Review LinkedIn's documentation for information on [verifications on LinkedIn profiles.](https://www.linkedin.com/help/linkedin/answer/a1359065).
25+
26+
## Deploying custom Webapp
27+
28+
Deploying this custom webapp from [GitHub](https://github.com/Azure-Samples/VerifiedEmployeeIssuance) allows an administrator to have control over who can get verified and change which information is shared with LinkedIn.
29+
There are two reasons to deploy the custom webapp for LinkedIn Employment verification.
30+
31+
1. You need control over who can get verified on LinkedIn. The webapp allows you to use user assignments to grant access.
32+
1. You want more control over the issuance of the Verified Employee ID. By default, the Employee Verified ID contains a few claims:
33+
34+
- ```firstname```
35+
- ```lastname```
36+
- ```displayname```
37+
- ```jobtitle```
38+
- ```upn```
39+
- ```email```
40+
- ```photo```
41+
42+
>[!NOTE]
43+
>The web app can be modified to remove claims, for example, you may choose to remove the photo claim.
44+
45+
Installation instructions for the Webapp can be found in the [GitHub repository](https://github.com/Azure-Samples/VerifiedEmployeeIssuance/blob/main/ReadmeFiles/Deployment.md)
46+
47+
## Architecture overview
48+
49+
Once the administrator configures the company page on LinkedIn, employees can get verified. Below are the high-level steps for LinkedIn integration:
50+
51+
1. User starts the LinkedIn mobile app.
52+
1. The mobile app retrieves information from the LinkedIn backend and checks if the company is enabled for employment verification and it retrieves a URL to the custom Webapp.
53+
1. If the company is enabled, the user can tap on the verify employment link, and the user is sent to the Webapp in a web view.
54+
1. The user needs to provide their corporate credentials to sign in.
55+
1. The Webapp retrieves the user profile from Microsoft Graph including, ```firstname```, ```lastname```, ```displayname```, ```jobtitle```, ```upn```, ```email``` and ```photo``` and call the Microsoft Entra Verified ID service with the profile information.
56+
1. The Microsoft Entra Verified ID service creates a verifiable credentials issuance request and returns the URL of that specific request.
57+
1. The Webapp redirects back to the LinkedIn app with this specific URL.
58+
1. LinkedIn app wallet communicates with the Microsoft Entra Verified ID services to get the Verified Employment VC issued in their wallet, which is part of the LinkedIn mobile app.
59+
1. The LinkedIn app then verifies the received verifiable credential.
60+
1. If the verification is completed, they change the status to ‘verified’ in their backend system and is visible to other users of LinkedIn.
61+
62+
The diagram below shows the dataflow of the entire solution.
63+
64+
![Diagram showing a high-level flow.](media/linkedin-employment-verification/linkedin-employee-verification.png)
65+
66+
67+
## Frequently asked questions
68+
69+
### Can I use Microsoft Authenticator to store my Employee Verified ID and use it to get verified on LinkedIn?
70+
71+
Currently the solution works through the embedded webview. In the future LinkedIn allows us to use Microsoft authenticator or any compatible custom wallet to verify employment. The myaccount page will also be updated to allow issuance of the verified employee ID to Microsoft Authenticator.
72+
73+
### How do users sign-in?
74+
75+
The Webapp is protected using Microsoft Entra Azure Active directory. Users sign-in according to the administrator's policy, either with passwordless, regular username and password, with or without MFA, etc. This is proof a user is allowed to get issued a verified employee ID.
76+
77+
### What happens when an employee leaves the organization?
78+
79+
Nothing by default. You can choose the revoke the Verified Employee ID but currently LinkedIn isn't checking for that status.
80+
81+
### What happens when my Verified Employee ID expires?
82+
83+
LinkedIn asks you again to get verified, if you don’t, the verified checkmark is removed from your profile.
84+
85+
### Can former employees use this feature to get verified?
86+
87+
Currently this option only verifies current employment.
Loading

articles/api-management/api-management-gateways-overview.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,17 +87,19 @@ The following table compares features available in the managed gateway versus th
8787
| API | Managed (Dedicated) | Managed (Consumption) | Self-hosted |
8888
| --- | ----- | ----- | ---------- |
8989
| [OpenAPI specification](import-api-from-oas.md) | ✔️ | ✔️ | ✔️ |
90-
| [WSDL specification)](import-soap-api.md) | ✔️ | ✔️ | ✔️ |
90+
| [WSDL specification](import-soap-api.md) | ✔️ | ✔️ | ✔️ |
9191
| WADL specification | ✔️ | ✔️ | ✔️ |
9292
| [Logic App](import-logic-app-as-api.md) | ✔️ | ✔️ | ✔️ |
9393
| [App Service](import-app-service-as-api.md) | ✔️ | ✔️ | ✔️ |
9494
| [Function App](import-function-app-as-api.md) | ✔️ | ✔️ | ✔️ |
9595
| [Container App](import-container-app-with-oas.md) | ✔️ | ✔️ | ✔️ |
9696
| [Service Fabric](../service-fabric/service-fabric-api-management-overview.md) | Developer, Premium |||
9797
| [Pass-through GraphQL](graphql-apis-overview.md) | ✔️ | ✔️ ||
98-
| [Synthetic GraphQL](graphql-apis-overview.md)| ✔️ | ✔️ ||
98+
| [Synthetic GraphQL](graphql-apis-overview.md)| ✔️ | ✔️<sup>1</sup> ||
9999
| [Pass-through WebSocket](websocket-api.md) | ✔️ || ✔️ |
100100

101+
<sup>1</sup> Synthetic GraphQL subscriptions (preview) aren't supported in the Consumption tier.
102+
101103
### Policies
102104

103105
Managed and self-hosted gateways support all available [policies](api-management-policies.md) in policy definitions with the following exceptions.

articles/api-management/graphql-apis-overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ API Management helps you import, manage, protect, test, publish, and monitor Gra
2525

2626
* GraphQL APIs are supported in all API Management service tiers
2727
* Pass-through and synthetic GraphQL APIs currently aren't supported in a self-hosted gateway
28-
* GraphQL subscription support in synthetic GraphQL APIs is currently in preview
28+
* Support for GraphQL subscriptions in synthetic GraphQL APIs is currently in preview and isn't available in the Consumption tier
2929

3030
## What is GraphQL?
3131

articles/iot-edge/TOC.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,9 @@
350350
href: https://azure.microsoft.com/develop/iot/
351351
- name: Azure Roadmap
352352
href: https://azure.microsoft.com/roadmap/?category=iot
353-
- name: Azure IoT Tools for Visual Studio Code
353+
- name: Azure IoT Edge for Visual Studio Code
354+
href: https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.azure-iot-edge
355+
- name: Azure IoT Hub extension for Visual Studio Code
354356
href: https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.azure-iot-toolkit
355357
- name: Azure IoT Explorer tool
356358
href: https://github.com/Azure/azure-iot-explorer

articles/search/cognitive-search-incremental-indexing-conceptual.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ author: HeidiSteen
77
ms.author: heidist
88
ms.service: cognitive-search
99
ms.topic: conceptual
10-
ms.date: 01/31/2023
10+
ms.date: 04/21/2023
1111
---
1212

1313
# Incremental enrichment and caching in Azure Cognitive Search
@@ -80,23 +80,19 @@ If you know that a change to the skill is indeed superficial, you should overrid
8080
Setting this parameter ensures that only updates to the skillset definition are committed and the change isn't evaluated for effects on the existing cache. Use a preview API version, 2020-06-30-Preview or later.
8181

8282
```http
83-
PUT https://[servicename].search.windows.net/skillsets/[skillset name]?api-version=2020-06-30-Preview
84-
{
85-
"disableCacheReprocessingChangeDetection" : true
86-
}
83+
PUT https://[servicename].search.windows.net/skillsets/[skillset name]?api-version=2020-06-30-Preview&disableCacheReprocessingChangeDetection
84+
8785
```
8886

8987
<a name="Bypass-data-source-check"></a>
9088

9189
### Bypass data source validation checks
9290

93-
Most changes to a data source definition will invalidate the cache. However, for scenarios where you know that a change should not invalidate the cache - such as changing a connection string or rotating the key on the storage account - append the "ignoreResetRequirement" parameter on the data source update. Setting this parameter to true allows the commit to go through, without triggering a reset condition that would result in all objects being rebuilt and populated from scratch.
91+
Most changes to a data source definition will invalidate the cache. However, for scenarios where you know that a change should not invalidate the cache - such as changing a connection string or rotating the key on the storage account - append the "ignoreResetRequirement" parameter on the [data source update](/rest/api/searchservice/update-data-source). Setting this parameter to true allows the commit to go through, without triggering a reset condition that would result in all objects being rebuilt and populated from scratch.
9492

9593
```http
96-
PUT https://[search service].search.windows.net/datasources/[data source name]?api-version=2020-06-30-Preview
97-
{
98-
"ignoreResetRequirement" : true
99-
}
94+
PUT https://[search service].search.windows.net/datasources/[data source name]?api-version=2020-06-30-Preview&ignoreResetRequirement
95+
10096
```
10197

10298
<a name="Force-skillset-evaluation"></a>
@@ -181,9 +177,13 @@ REST API version `2020-06-30-Preview` or later provides incremental enrichment t
181177

182178
+ [Update Data Source](/rest/api/searchservice/update-data-source), when called with a preview API version, provides a new parameter named "ignoreResetRequirement", which should be set to true when your update action should not invalidate the cache. Use "ignoreResetRequirement" sparingly as it could lead to unintended inconsistency in your data that will not be detected easily.
183179

180+
## Limitations
181+
182+
If you are using [SharePoint indexer (Preview](search-howto-index-sharepoint-online.md), it is not recommended that the Incremental enrichment feature is used. There are conditions that may rise when indexing with this preview feature that would require to reset the indexer and invalidate the cache.
183+
184184
## Next steps
185185

186186
Incremental enrichment is a powerful feature that extends change tracking to skillsets and AI enrichment. Incremental enrichment enables reuse of existing processed content as you iterate over skillset design. As a next step, enable caching on your indexers.
187187

188188
> [!div class="nextstepaction"]
189-
> [Enable caching for incremental enrichment](search-howto-incremental-index.md)
189+
> [Enable caching for incremental enrichment](search-howto-incremental-index.md)

articles/sentinel/data-connectors/ai-vectra-stream.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ Install the Linux agent on sperate Linux instance.
9292

9393
2. Configure the logs to be collected
9494

95-
Follow the configuration steps below to get Vectra Stream metadata into Microsoft Sentinel. The Log Analytics agent is leveraged to send custom JSON into Azure Monitor, enabling the storage of the metadata into a custom table. For more information, refer to the [Azure Monitor Documentation](https://learn.microsoft.com/azure/azure-monitor/agents/data-sources-json).
95+
Follow the configuration steps below to get Vectra Stream metadata into Microsoft Sentinel. The Log Analytics agent is leveraged to send custom JSON into Azure Monitor, enabling the storage of the metadata into a custom table. For more information, refer to the [Azure Monitor Documentation](/azure/azure-monitor/agents/data-sources-json).
9696
1. Download config file for the log analytics agent: VectraStream.conf (located in the Connector folder within the Vectra solution: https://aka.ms/sentinel-aivectrastream-conf).
9797
2. Login to the server where you have installed Azure Log Analytics agent.
9898
3. Copy VectraStream.conf to the /etc/opt/microsoft/omsagent/**workspace_id**/conf/omsagent.d/ folder.

0 commit comments

Comments
 (0)