Skip to content

Commit 3f9c493

Browse files
authored
Merge pull request #231868 from MicrosoftDocs/main
3/23 AM Publish
2 parents 8026b8a + 9d02b46 commit 3f9c493

File tree

149 files changed

+949
-567
lines changed

Some content is hidden

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

149 files changed

+949
-567
lines changed

.openpublishing.publish.config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -996,7 +996,7 @@
996996
"articles/iot-develop/.openpublishing.redirection.iot-develop.json",
997997
"articles/iot-dps/.openpublishing.redirection.iot-dps.json",
998998
"articles/iot-edge/.openpublishing.redirection.iot-edge.json",
999-
"articles/iot-fundamentals/.openpublishing.redirection.iot-fundamentals.json",
999+
"articles/iot/.openpublishing.redirection.iot.json",
10001000
"articles/iot-hub/.openpublishing.redirection.iot-hub.json",
10011001
"articles/load-testing/.openpublishing.redirection.azure-load-testing.json",
10021002
"articles/logic-apps/.openpublishing.redirection.logic-apps.json",

.openpublishing.redirection.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12510,12 +12510,12 @@
1251012510
},
1251112511
{
1251212512
"source_path_from_root": "/articles/security/fundamentals/iot-overview.md",
12513-
"redirect_url": "/azure/iot-fundamentals/iot-security-architecture",
12513+
"redirect_url": "/azure/iot/iot-security-architecture",
1251412514
"redirect_document_id": false
1251512515
},
1251612516
{
1251712517
"source_path_from_root": "/articles/security/fundamentals/iot-best-practices.md",
12518-
"redirect_url": "/azure/iot-fundamentals/iot-security-best-practices",
12518+
"redirect_url": "/azure/iot/iot-security-best-practices",
1251912519
"redirect_document_id": false
1252012520
},
1252112521
{

articles/active-directory/app-provisioning/provision-on-demand.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ There are currently a few known limitations to on-demand provisioning. Post your
173173
* Restoring a previously soft-deleted user in the target tenant with on-demand provisioning isn't supported. If you try to soft delete a user with on-demand provisioning and then restore the user, it can result in duplicate users.
174174
* On-demand provisioning of roles isn't supported.
175175
* On-demand provisioning supports disabling users that have been unassigned from the application. However, it doesn't support disabling or deleting users that have been disabled or deleted from Azure AD. Those users won't appear when you search for a user.
176+
* On-demand provisioning does not support nested groups that are not directly assigned to the application.
176177

177178
## Next steps
178179

articles/active-directory/authentication/howto-password-ban-bad-on-premises-deploy.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ services: active-directory
66
ms.service: active-directory
77
ms.subservice: authentication
88
ms.topic: how-to
9-
ms.date: 01/29/2023
9+
ms.date: 03/23/2023
1010

1111
ms.author: justinha
1212
author: justinha
1313
manager: amycolannino
14-
ms.reviewer: jsimmons
14+
ms.reviewer: mimanans
1515

1616
ms.collection: M365-identity-device-management
1717
---
@@ -95,6 +95,7 @@ The following core requirements apply:
9595

9696
> [!NOTE]
9797
> Some endpoints, such as the CRL endpoint, are not addressed in this article. For a list of all supported endpoints, see [Microsoft 365 URLs and IP address ranges](/microsoft-365/enterprise/urls-and-ip-address-ranges#microsoft-365-common-and-office-online).
98+
>In addition, other endpoints are required for Azure portal authentication. For more information, see [Azure portal URLs for proxy bypass](/azure/azure-portal/azure-portal-safelist-urls?tabs=public-cloud#azure-portal-urls-for-proxy-bypass).
9899
99100
### Azure AD Password Protection DC agent
100101

@@ -248,6 +249,8 @@ To install the Azure AD Password Protection proxy service, complete the followin
248249

249250
Registration of the Azure AD Password Protection proxy service is necessary only once in the lifetime of the service. After that, the Azure AD Password Protection proxy service will automatically perform any other necessary maintenance.
250251

252+
1. To make sure that the changes have taken effect, run `Test-AzureADPasswordProtectionDCAgentHealth -TestAll`. For help resolving errors, see [Troubleshoot: On-premises Azure AD Password Protection](howto-password-ban-bad-on-premises-troubleshoot.md).
253+
251254
1. Now register the on-premises Active Directory forest with the necessary credentials to communicate with Azure by using the `Register-AzureADPasswordProtectionForest` PowerShell cmdlet.
252255

253256
> [!NOTE]
@@ -301,6 +304,8 @@ To install the Azure AD Password Protection proxy service, complete the followin
301304
302305
For `Register-AzureADPasswordProtectionForest` to succeed, at least one DC running Windows Server 2012 or later must be available in the Azure AD Password Protection proxy server's domain. The Azure AD Password Protection DC agent software doesn't have to be installed on any domain controllers prior to this step.
303306

307+
1. To make sure that the changes have taken effect, run `Test-AzureADPasswordProtectionDCAgentHealth -TestAll`. For help resolving errors, see [Troubleshoot: On-premises Azure AD Password Protection](howto-password-ban-bad-on-premises-troubleshoot.md).
308+
304309
### Configure the proxy service to communicate through an HTTP proxy
305310

306311
If your environment requires the use of a specific HTTP proxy to communicate with Azure, use the following steps to configure the Azure AD Password Protection service.

articles/active-directory/develop/troubleshoot-required-resource-access-limits.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ms.reviewer: phsignor, jawoods
1414

1515
# Troubleshooting the configured permissions limits
1616

17-
The `RequiredResourceAccess` collection (RRA) on an application object contains all the configured API permissions that an app requires for its default consent request. This collection has various limits depending on which types of identities the app supports, For more information on the limits for supported account types, see [Validation differences by supported account types](supported-accounts-validation.md).
17+
The `RequiredResourceAccess` collection (RRA) on an application object contains all the configured API permissions that an app requires for its default consent request. This collection has various limits depending on which types of identities the app supports. For more information on the limits for supported account types, see [Validation differences by supported account types](supported-accounts-validation.md).
1818

1919
The limits on maximum permissions were updated in May 2022, so some apps may have more permissions in their RRA than are now allowed. In addition, apps that change their supported account types after configuring permissions may exceed the limits of the new setting. When apps exceed the configured permissions limit, no new permissions may be added until the number of permissions in the `RequiredResourceAccess` collection is brought back under the limits.
2020

@@ -35,7 +35,6 @@ If you still need the application or are unsure, the following steps will help y
3535
1. **Remove duplicate permissions.** In some cases, the same permission is listed multiple times. Review the required permissions and remove permissions that are listed two or more times. See the related PowerShell script on the [additional resources](#additional-resources) section of this article.
3636
2. **Remove unused permissions.** Review the permissions required by the application and compare them to what the application or service does. Remove permissions that are configured in the app registration, but which the application or service doesn’t require. For more information on how to review permissions, see [Review application permissions](../manage-apps/manage-application-permissions.md)
3737
3. **Remove redundant permissions.** In many APIs, including Microsoft Graph, some permissions aren't necessary when other more privileged permissions are included. For example, the Microsoft Graph permission User.Read.All (read all users) isn't needed when an application also has User.ReadWrite.All (read, create and update all users). To learn more about Microsoft Graph permissions, see [Microsoft Graph permissions reference](/graph/permissions-reference).
38-
4. **Use multiple app registrations.** If a single app or service requires more than 400 permissions in the required permissions list, the app will need to be configured to use two (or more) different app registrations, each one with 400 or fewer permissions configured on the app registration.
3938

4039
## Frequently asked questions (FAQ)
4140

@@ -147,4 +146,4 @@ process {
147146

148147
- Learn about API permissions and the Microsoft identity platform: [Overview of permissions and consent in the Microsoft identity platform](permissions-consent-overview.md)
149148
- Understand the permissions available for Microsoft Graph: [Microsoft Graph permissions reference](/graph/permissions-reference)
150-
- Review the limitations to application configurations: [Validation differences by supported account types](supported-accounts-validation.md)
149+
- Review the limitations to application configurations: [Validation differences by supported account types](supported-accounts-validation.md)

articles/active-directory/manage-apps/manage-application-permissions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ Each option generates PowerShell scripts that enable you to control user access
5858
Use the following Azure AD PowerShell script to revoke all permissions granted to an application.
5959

6060
```powershell
61-
Connect-AzureAD -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "DelegatedPermissionGrant.ReadWrite.All" "AppRoleAssignment.ReadWrite.All",
61+
Connect-AzureAD
6262
6363
# Get Service Principal using objectId
6464
$sp = Get-AzureADServicePrincipal -ObjectId "<ServicePrincipal objectID>"
@@ -85,7 +85,7 @@ $spApplicationPermissions | ForEach-Object {
8585
Remove appRoleAssignments for users or groups to the application using the following scripts.
8686

8787
```powershell
88-
Connect-AzureAD -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
88+
Connect-AzureAD
8989
9090
# Get Service Principal using objectId
9191
$sp = Get-AzureADServicePrincipal -ObjectId "<ServicePrincipal objectID>"

articles/active-directory/verifiable-credentials/admin-api.md

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,29 @@ The Microsoft Entra Verified ID Admin API enables you to manage all aspects of t
2424
2525
## Base URL
2626

27-
The Admin API is server over HTTPS. All URLs referenced in the documentation have the following base: `https://verifiedid.did.msidentity.com`.
27+
The Admin API is server over HTTPS. All URLs referenced in the documentation have the following base: `https://verifiedid.did.msidentity.com`.
2828

2929
## Authentication
3030

31-
The API is protected through Azure Active Directory and uses OAuth2 bearer tokens. The app registration needs to have the API Permission for `Verifiable Credentials Service Admin` and then when acquiring the access token the app should use scope `6a8b4b39-c021-437c-b060-5a14a3fd65f3/full_access`. The access token must be for a user with the [global administrator](../../active-directory/roles/permissions-reference.md#global-administrator) or the [authentication policy administrator](../../active-directory/roles/permissions-reference.md#authentication-policy-administrator) role.
31+
The API is protected through Azure Active Directory and uses OAuth2 bearer tokens. The access token can be for a user or for an application.
32+
33+
### User bearer tokens
34+
35+
The app registration needs to have the API Permission for `Verifiable Credentials Service Admin` and then when acquiring the access token the app should use scope `6a8b4b39-c021-437c-b060-5a14a3fd65f3/full_access`. The access token must be for a user with the [global administrator](../../active-directory/roles/permissions-reference.md#global-administrator) or the [authentication policy administrator](../../active-directory/roles/permissions-reference.md#authentication-policy-administrator) role. A user with role [global reader](../../active-directory/roles/permissions-reference.md#global-reader) can perform read-only API calls.
36+
37+
### Application bearer tokens
38+
39+
The `Verifiable Credentials Service Admin` service supports the following application permissions.
40+
41+
| Permission | Description |
42+
| ---------- | ----------- |
43+
| VerifiableCredential.Authority.ReadWrite | Permission to read/write authority object(s) |
44+
| VerifiableCredential.Contract.ReadWrite | Permission to read/write contract object(s) |
45+
| VerifiableCredential.Credential.Search | Permission to search for a credential to revoke |
46+
| VerifiableCredential.Credential.Revoke | Permission to [revoke a previously issued credential](how-to-issuer-revoke.md) |
47+
| VerifiableCredential.Network.Read | Permission to read entries from the [Verified ID Network](vc-network-api.md) |
48+
49+
The app registration needs to have the API Permission for `Verifiable Credentials Service Admin` and permissions required from the above table. When acquiring the access token, via the [client credentials flow](../../active-directory/develop/v2-oauth2-client-creds-grant-flow.md), the app should use scope `6a8b4b39-c021-437c-b060-5a14a3fd65f3/.default`.
3250

3351
## Onboarding
3452

@@ -66,7 +84,7 @@ Content-type: application/json
6684
}
6785
```
6886

69-
Repeatedly calling this API will result in the exact same return message.
87+
Repeatedly calling this API results in the exact same return message.
7088

7189
## Authorities
7290

@@ -171,7 +189,7 @@ We support two different didModels. One is `ion` and the other supported method
171189
| `recoveryKeys` | string array | URL to the recovery key |
172190
| `encryptionKeys` | string array | URL to the encryption key |
173191
| `linkedDomainUrls` | string array | Domains linked to this DID |
174-
| `didDocumentStatus` | string | status of the DID, `published` when it's written to ION otherwise it will be `submitted`|
192+
| `didDocumentStatus` | string | status of the DID, `published` when it's written to ION otherwise it is `submitted`|
175193

176194
#### Web
177195

@@ -287,7 +305,7 @@ Content-type: application/json
287305

288306
### Create authority
289307

290-
This call creates a new **private key**, recovery key and update key, stores these in the specified Azure Key Vault and sets the permissions to this Key Vault for the verifiable credential service and a create new **DID** with corresponding DID Document and commits that to the ION network.
308+
This call creates a new **private key**, recovery key and update key, stores these keys in the specified Azure Key Vault and sets the permissions to this Key Vault for the verifiable credential service and a create new **DID** with corresponding DID Document and commits that to the ION network.
291309

292310
#### HTTP request
293311

@@ -478,7 +496,7 @@ Content-type: application/json
478496
Accepted
479497
```
480498

481-
The didDocumentStatus will switch to `submitted` it will take a while before the change is committed to the ION network.
499+
The didDocumentStatus switches to `submitted` it will take a while before the change is committed to the ION network.
482500

483501
If you try to submit a change before the operation is completed, you'll get the following error message:
484502

@@ -585,7 +603,7 @@ Content-type: application/json
585603
}
586604
```
587605

588-
Save this result with the file name did-configuration.json and upload this file to the correct folder and website. If you specify a domain not linked to this DID/DID Document, you'll receive an error:
606+
Save this result with the file name did-configuration.json and upload this file to the correct folder and website. If you specify a domain not linked to this DID/DID Document, you receive an error:
589607

590608
```
591609
HTTP/1.1 400 Bad Request
@@ -834,7 +852,7 @@ The response contains the following properties
834852
|`vc`| vcType array | types for this contract |
835853
|`customStatusEndpoint`| [customStatusEndpoint] (#customstatusendpoint-type) (optional) | status endpoint to include in the verifiable credential for this contract |
836854

837-
If the property `customStatusEndpoint` property isn't specified then the `anonymous` status endpoint is used.
855+
If the property `customStatusEndpoint` property isn't specified, then the `anonymous` status endpoint is used.
838856

839857
#### attestations type
840858

@@ -1081,7 +1099,7 @@ example message:
10811099
### Create contract
10821100

10831101
When creating a contract the name has to be unique in the tenant. In case you have created multiple authorities, the contract name has to be unique across all authorities.
1084-
The name of the contract will be part of the contract URL which is used in the issuance requests.
1102+
The name of the contract will be part of the contract URL, which is used in the issuance requests.
10851103

10861104
#### HTTP request
10871105

0 commit comments

Comments
 (0)