Skip to content

Commit d92ceef

Browse files
authored
Merge pull request #210132 from MicrosoftDocs/main
Merge main to live, 4 AM
2 parents c4f47e6 + 2ffa680 commit d92ceef

File tree

97 files changed

+2379
-957
lines changed

Some content is hidden

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

97 files changed

+2379
-957
lines changed

.openpublishing.redirection.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34248,6 +34248,11 @@
3424834248
"redirect_url": "/azure/virtual-machines/windows/connect-winrm",
3424934249
"redirect_document_id": false
3425034250
},
34251+
{
34252+
"source_path_from_root": "/articles/azure-arc/servers/data-residency.md",
34253+
"redirect_url": "/azure/azure-arc/servers/overview",
34254+
"redirect_document_id": false
34255+
},
3425134256
{
3425234257
"source_path_from_root": "/articles/virtual-machines/linux/copy-files-to-linux-vm-using-scp.md",
3425334258
"redirect_url": "/azure/virtual-machines/copy-files-to-vm-using-scp",

articles/active-directory/app-proxy/application-proxy-security.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.service: active-directory
88
ms.subservice: app-proxy
99
ms.workload: identity
1010
ms.topic: conceptual
11-
ms.date: 04/21/2021
11+
ms.date: 09/02/2022
1212
ms.author: kenwith
1313
ms.reviewer: ashishj
1414
---
@@ -23,7 +23,7 @@ The following diagram shows how Azure AD enables secure remote access to your on
2323

2424
## Security benefits
2525

26-
Azure AD Application Proxy offers the following security benefits:
26+
Azure AD Application Proxy offers many security benefits including authenticated access, conditional access, traffic termination, all outbound access, cloud scale analytics and machine learning, and remote access as a service. It is important to note that even with all of the added security provided by Application Proxy, the systems being accessed must continually be updated with the latest patches.
2727

2828
### Authenticated access
2929

articles/active-directory/verifiable-credentials/decentralized-identifier-overview.md

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,15 @@ IDs users create, own, and control independently of any organization or governme
7272
**2. Trust System**.
7373
In order to be able to resolve DID documents, DIDs are typically recorded on an underlying network of some kind that represents a trust system. Microsoft currently supports two trust systems, which are:
7474

75-
- ION (Identity Overlay Network) ION is a Layer 2 open, permissionless network based on the purely deterministic Sidetree protocol, which requires no special tokens, trusted validators, or other consensus mechanisms; the linear progression of Bitcoin's time chain is all that's required for its operation. We have open sourced a [npm package](https://www.npmjs.com/package/@decentralized-identity/ion-tools) to make working with the ION network easy to integrate into your apps and services. Libraries include creating a new DID, generating keys and anchoring your DID on the Bitcoin blockchain.
75+
- ION (Identity Overlay Network) ION is a Layer 2 open, permissionless network based on the purely deterministic Sidetree protocol, which requires no special tokens, trusted validators, or other consensus mechanisms; the linear progression of Bitcoin's time chain is all that's required for its operation. We have open sourced an [npm package](https://www.npmjs.com/package/@decentralized-identity/ion-tools) to make working with the ION network easy to integrate into your apps and services. Libraries include creating a new DID, generating keys and anchoring your DID on the Bitcoin blockchain.
7676

7777
- DID:Web is a permission based model that allows trust using a web domain’s existing reputation.
7878

7979
**3. DID User Agent/Wallet: Microsoft Authenticator App**.
8080
Enables real people to use decentralized identities and Verifiable Credentials. Authenticator creates DIDs, facilitates issuance and presentation requests for verifiable credentials and manages the backup of your DID's seed through an encrypted wallet file.
8181

8282
**4. Microsoft Resolver**.
83-
An API that look up and resolve DIDs using the ```did:web``` or the ```did:ion``` methods and return the DID Document Object (DDO). The DDO includes DPKI metadata associated with the DID such as public keys and service endpoints.
83+
An API that looks up and resolves DIDs using the ```did:web``` or the ```did:ion``` methods and returns the DID Document Object (DDO). The DDO includes DPKI metadata associated with the DID such as public keys and service endpoints.
8484

8585
**5. Entra Verified ID Service**.
8686
An issuance and verification service in Azure and a REST API for [W3C Verifiable Credentials](https://www.w3.org/TR/vc-data-model/) that are signed with the ```did:web``` or the ```did:ion``` method. They enable identity owners to generate, present, and verify claims. This forms the basis of trust between users of the systems.
@@ -97,27 +97,36 @@ The scenario we use to explain how VCs work involves:
9797

9898
Today, Alice provides a username and password to log onto Woodgrove’s networked environment. Woodgrove is deploying a verifiable credential solution to provide a more manageable way for Alice to prove that she is an employee of Woodgrove. Proseware accepts verifiable credentials issued by Woodgrove as proof of employment to offer corporate discounts as part of their corporate discount program.
9999

100-
Alice requests Woodgrove Inc for a proof of employment verifiable credential. Woodgrove Inc attests Alice's identity and issues a signed verfiable credential that Alice can accept and store in her digital wallet application. Alice can now present this verifiable credential as a proof of employement on the Proseware site. After a succesfull presentation of the credential, Prosware offers discount to Alice and the transaction is logged in Alice's wallet application so that she can track where and to whom she has presented her proof of employment verifiable credential.
100+
Alice requests Woodgrove Inc for a proof of employment verifiable credential. Woodgrove Inc attests Alice's identity and issues a signed verifiable credential that Alice can accept and store in her digital wallet application. Alice can now present this verifiable credential as a proof of employment on the Proseware site. After a successful presentation of the credential, Proseware offers discount to Alice and the transaction is logged in Alice's wallet application so that she can track where and to whom she has presented her proof of employment verifiable credential.
101101

102102
![microsoft-did-overview](media/decentralized-identifier-overview/did-overview.png)
103103

104104
## Roles in a verifiable credential solution
105105

106106
There are three primary actors in the verifiable credential solution. In the following diagram:
107107

108-
- **Step 1**, the **user** requests a verifiable credential from an issuer.
109-
- **Step 2**, the **issuer** of the credential attests that the proof the user provided is accurate and creates a verifiable credential signed with their DID and the user’s DID is the subject.
110-
- **In Step 3**, the user signs a verifiable presentation (VP) with their DID and sends to the **verifier.** The verifier then validates the credential by matching with the public key placed in the DPKI.
108+
- In **Step 1**, the **user** requests a verifiable credential from an issuer.
109+
- In **Step 2**, the **issuer** of the credential attests that the proof the user provided is accurate and creates a verifiable credential signed with their DID for which the user’s DID is the subject.
110+
- In **Step 3**, the user signs a verifiable presentation (VP) with their DID and sends it to the **verifier.** The verifier then validates the credential by matching it against the public key placed in the DPKI.
111111

112112
The roles in this scenario are:
113113

114114
![roles in a verifiable credential environment](media/decentralized-identifier-overview/issuer-user-verifier.png)
115115

116-
**issuer** – The issuer is an organization that creates an issuance solution requesting information from a user. The information is used to verify the user’s identity. For example, Woodgrove, Inc. has an issuance solution that enables them to create and distribute verifiable credentials (VCs) to all their employees. The employee uses the Authenticator app to sign in with their username and password, which passes an ID token to the issuing service. Once Woodgrove, Inc. validates the ID token submitted, the issuance solution creates a VC that includes claims about the employee and is signed with Woodgrove, Inc. DID. The employee now has a verifiable credential that is signed by their employer, which includes the employees DID as the subject DID.
116+
### Issuer
117117

118-
**user**The user is the person or entity that is requesting a VC. For example, Alice is a new employee of Woodgrove, Inc. and was previously issued her proof of employment verifiable credential. When Alice needs to provide proof of employment in order to get a discount at Proseware, she can grant access to the credential in her Authenticator app by signing a verifiable presentation that proves Alice is the owner of the DID. Proseware is able to validate the credential was issued by Woodgrove, Inc.and Alice is the owner of the credential.
118+
The issuer is an organization that creates an issuance solution requesting information from a user. The information is used to verify the user’s identity. For example, Woodgrove, Inc. has an issuance solution that enables them to create and distribute verifiable credentials (VCs) to all their employees. The employee uses the Authenticator app to sign in with their username and password, which passes an ID token to the issuing service. Once Woodgrove, Inc. validates the ID token submitted, the issuance solution creates a VC that includes claims about the employee and is signed with Woodgrove, Inc. DID. The employee now has a verifiable credential that is signed by their employer, which includes the employees DID as the subject DID.
119119

120-
**verifier** – The verifier is a company or entity who needs to verify claims from one or more issuers they trust. For example, Proseware trusts Woodgrove, Inc. does an adequate job of verifying their employees’ identity and issuing authentic and valid VCs. When Alice tries to order the equipment she needs for her job, Proseware will use open standards such as SIOP and Presentation Exchange to request credentials from the User proving they are an employee of Woodgrove, Inc. For example, Proseware might provide Alice a link to a website with a QR code she scans with her phone camera. This initiates the request for a specific VC, which Authenticator will analyze and give Alice the ability to approve the request to prove her employment to Proseware. Proseware can use the verifiable credentials service API or SDK, to verify the authenticity of the verifiable presentation. Based on the information provided by Alice they give Alice the discount. If other companies and organizations know that Woodgrove, Inc. issues VCs to their employees, they can also create a verifier solution and use the Woodgrove, Inc. verifiable credential to provide special offers reserved for Woodgrove, Inc. employees.
120+
### User
121+
122+
The user is the person or entity that is requesting a VC. For example, Alice is a new employee of Woodgrove, Inc. and was previously issued her proof of employment verifiable credential. When Alice needs to provide proof of employment in order to get a discount at Proseware, she can grant access to the credential in her Authenticator app by signing a verifiable presentation that proves Alice is the owner of the DID. Proseware is able to validate the credential was issued by Woodgrove, Inc. and Alice is the owner of the credential.
123+
124+
### Verifier
125+
126+
The verifier is a company or entity who needs to verify claims from one or more issuers they trust. For example, Proseware trusts Woodgrove, Inc. does an adequate job of verifying their employees’ identity and issuing authentic and valid VCs. When Alice tries to order the equipment she needs for her job, Proseware will use open standards such as SIOP and Presentation Exchange to request credentials from the User proving they are an employee of Woodgrove, Inc. For example, Proseware might provide Alice a link to a website with a QR code she scans with her phone camera. This initiates the request for a specific VC, which Authenticator will analyze and give Alice the ability to approve the request to prove her employment to Proseware. Proseware can use the verifiable credentials service API or SDK, to verify the authenticity of the verifiable presentation. Based on the information provided by Alice they give Alice the discount. If other companies and organizations know that Woodgrove, Inc. issues VCs to their employees, they can also create a verifier solution and use the Woodgrove, Inc. verifiable credential to provide special offers reserved for Woodgrove, Inc. employees.
127+
128+
> [!NOTE]
129+
> The verifier can use open standards to perform the presentation and verification, or simply [configure their own Azure AD tenant](verifiable-credentials-configure-tenant.md) to let the Azure AD Verifiable Credentials service perform most of the work.
121130
122131
## Next steps
123132

articles/active-directory/verifiable-credentials/get-started-request-api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ Authorization: Bearer <token>
310310
"clientName": "Verifiable Credential Expert Sample"
311311
},
312312
"type": "VerifiedCredentialExpert",
313-
"manifest": "https://verifiedid.did.msidentity.com/v1.0/12345678-0000-0000-0000-000000000000/verifiableCredential/contracts/VerifiedCredentialExpert1",
313+
"manifestUrl": "https://verifiedid.did.msidentity.com/v1.0/12345678-0000-0000-0000-000000000000/verifiableCredentials/contracts/VerifiedCredentialExpert1",
314314
"pin": {
315315
"value": "3539",
316316
"length": 4

articles/active-directory/verifiable-credentials/how-to-register-didwebsite.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ If your trust system for the tenant is Web, you need register your website ID to
3333
1. At the Website ID registration, select Review.
3434

3535
![Screenshot of website registration page.](media/how-to-register-didwebsite/how-to-register-didwebsite-domain.png)
36-
1. Copy or download the DID document being displayed in the box
36+
1. Copy or download the DID document being displayed in the box.
3737

3838
![Screenshot of did.json.](media/how-to-register-didwebsite/how-to-register-didwebsite-diddoc.png)
39-
1. Upload the file to your webserver. The DID document JSON file needs to be uploaded to location /.well-known/did.json on your webserver.
39+
1. Upload the file to your webserver. The DID document JSON file needs to be uploaded to location `/.well-known/did.json` on your webserver.
4040
1. Once the file is available on your webserver, you need to select the **Refresh registration status** button to verify that the system can request the file.
4141

4242
## When is the DID document in the did.json file used?
@@ -45,11 +45,11 @@ The DID document contains the public keys for your issuer and is used during bot
4545

4646
## When does the did.json file need to be republished to the webserver?
4747

48-
The DID document in the did.json file needs to be republished if you changed the Linked Domain or if you rotate your signing keys.
48+
The DID document in the `did.json` file needs to be republished if you changed the Linked Domain or if you rotate your signing keys.
4949

5050
## How can I verify that the registration is working?
5151

52-
The portal verifies that the `did.json` is reachable and correct when you click the [**Refresh registration status** button](#how-do-i-register-my-website-id). You should also consider verifying that you can request that URL in a browser to avoid errors like not using https, bad SSL certificate or URL not being public. If the did.json file can be requested anonymously in a browser, without warnings or errors, the portal will not be able to complete the **Refresh registration status** step either.
52+
The portal verifies that the `did.json` is reachable and correct when you click the [**Refresh registration status** button](#how-do-i-register-my-website-id). You should also consider verifying that you can request that URL in a browser to avoid errors like not using https, a bad SSL certificate or the URL not being public. If the `did.json` file cannot be requested anonymously in a browser, without warnings or errors, the portal will not be able to complete the **Refresh registration status** step either.
5353

5454
## Next steps
5555

articles/active-directory/verifiable-credentials/introduction-to-verifiable-credentials-architecture.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ However, there are scenarios where using a decentralized architecture with verif
4444

4545
* accessing resources outside the trust boundary, such as accessing partners’ resources, with a portable credential issued by the organization.
4646

47-
47+
4848

4949
### Decentralized identity systems
5050

articles/active-directory/verifiable-credentials/issuance-request-api.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ The issuance request payload contains information about your verifiable credenti
8686
"clientName": "Verifiable Credential Expert Sample"
8787
},
8888
"type": "VerifiedCredentialExpert",
89-
"manifest": "https://verifiedid.did.msidentity.com/v1.0/12345678-0000-0000-0000-000000000000/verifiableCredential/contracts/VerifiedCredentialExpert",
89+
"manifest": "https://verifiedid.did.msidentity.com/v1.0/12345678-0000-0000-0000-000000000000/verifiableCredentials/contracts/VerifiedCredentialExpert",
9090
"claims": {
9191
"given_name": "Megan",
9292
"family_name": "Bowen"
@@ -193,7 +193,7 @@ The callback endpoint is called when a user scans the QR code, uses the deep lin
193193
| `requestId`| string | Mapped to the original request when the payload was posted to the Verifiable Credentials service.|
194194
| `requestStatus` |string |The status returned for the request. Possible values: <ul><li>`request_retrieved`: The user scanned the QR code or selected the link that starts the issuance flow.</li><li>`issuance_successful`: The issuance of the verifiable credentials was successful.</li><li>`issuance_error`: There was an error during issuance. For details, see the `error` property.</li></ul> |
195195
| `state` |string| Returns the state value that you passed in the original payload. |
196-
| `error`| error | When the `code` property value is `Issuance_error`, this property contains information about the error.|
196+
| `error`| error | When the `code` property value is `issuance_error`, this property contains information about the error.|
197197
| `error.code` | string| The return error code. |
198198
| `error.message`| string| The error message. |
199199

@@ -223,8 +223,8 @@ The callback endpoint might be called with an error message. The following table
223223

224224
|Message |Definition  |
225225
|---------|---------|
226-
| `fetch_contract_error*`| Unable to fetch the verifiable credential contract. This error usually happens when the API can't fetch the manifest you specify in the request payload [RequestIssuance object](#issuance-request-payload).|
227-
| `issuance_service_error*` | The Verifiable Credentials service isn't able to validate requirements, or something went wrong in Verifiable Credentials.|
226+
| `fetch_contract_error`| Unable to fetch the verifiable credential contract. This error usually happens when the API can't fetch the manifest you specify in the request payload [RequestIssuance object](#issuance-request-payload).|
227+
| `issuance_service_error` | The Verifiable Credentials service isn't able to validate requirements, or something went wrong in Verifiable Credentials.|
228228
| `unspecified_error`| This error is uncommon, but worth investigating. |
229229

230230
The following example demonstrates a callback payload when an error occurred:

articles/active-directory/verifiable-credentials/issuer-openid.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ The configured redirect URI is used by Authenticator so it knows when the sign-i
5353
The authorization request sent to your identity provider uses the following format.
5454

5555
```HTTP
56-
GET /authorize?client_id=<client-id>&redirect_uri=portableidentity%3A%2F%2Fverify&response_mode=query&response_type=code&scope=openid&state=12345&nonce=12345 HTTP/1.1
56+
GET /authorize?client_id=<client-id>&redirect_uri=vcclient%3A%2F%2Fopenid%2F&response_mode=query&response_type=code&scope=openid&state=12345&nonce=12345 HTTP/1.1
5757
Host: www.contoso.com
5858
Connection: Keep-Alive
5959
```

0 commit comments

Comments
 (0)