diff --git a/docs/tutorials/e2e/boost/provideData.md b/docs/tutorials/e2e/boost/provideData.md index deae9abf0a0..8e427d6c80c 100644 --- a/docs/tutorials/e2e/boost/provideData.md +++ b/docs/tutorials/e2e/boost/provideData.md @@ -62,9 +62,9 @@ curl --location 'http://localhost/alice/management/v2/catalog/request' \ ## Create first access policy -Let´s see if Alice can see the Asset (ID:3). +Let´s see if Alice can see the Asset (ID: 3). -As you can see in the response, the data offer "Product EDC Demo Asset 3" (asset ID:3) does not appear. Unfortunately, Alice sees some contract offers but she cannot find the contract offer from Bob. +As you can see in the response, the data offer "Product EDC Demo Asset 3" (asset ID: 3) does not appear. Unfortunately, Alice sees some contract offers but she cannot find the contract offer from Bob. Alice calls Bob and says she can´t see the asset. Bob remembers that he did not create an access policy. An access policy defines who is allowed to see a data offering. @@ -117,13 +117,18 @@ curl --location 'http://localhost/alice/management/v2/catalog/request' \ Let´s see if Alice can see the Asset. -Once again Alice cannot find the data offer. This is by design and to be expected since Bob has only created an asset and a policy definition. An asset and a policy cannot be displayed to Alice as a consumer without a contract definition. -**This is the first lesson for this tutorial: A contract definition must be created on the data provider side. It must always contain an asset, an access policy and a contract policy.** +Once again Alice cannot find the data offer. This is by design and to be expected since Bob has only created an asset and a policy definition. An asset and a policy can not be displayed to Alice as a consumer without a contract definition. -Contract definitions state how assets and policies are linked together. Contract definitions express under what conditions an asset is published to a data space. Those conditions are comprised of a contract policy and an access policy. Those policies are referenced by ID, that means they must already exist in the policy store before creating the contract definition. +:::info -- Access policy: determines whether a particular consumer is offered an asset or not. For example, we may want to restrict certain assets such that only selected consumers from a list of slescted partners can access the asset. This can be done using a unique identifier such as the Business Partner Nukber (BPN). Other dta space participants than those whose BPN is listed in the access policy wouldn't even have the assets in their catalog. -- Contract policy: determines the conditions for initiating a contract negotiation for a particular asset. Note that does not automatically guarantee the successful creation of a contract, it merely expresses the eligibility to start the negotiation. +This is the first lesson in this tutorial: For providing data, a contract definition must be created on the provider side. This must always contain an asset, an access policy, and a contract policy. + +::: + +Contract definitions state how assets and policies are linked together. Contract definitions express under what conditions an asset is published in a data space. Those conditions are comprised of a contract policy and an access policy. Those policies are referenced by ID, that means they must already exist in the policy store before creating the contract definition. + +- Access policy: determines whether or not a particular consumer can see an asset in the provider's catalog. For example, we may want to restrict certain assets such that only selected consumers from a list of selected partners can access the asset. This can be done using a unique identifier such as the Business Partner Number (BPN). Other data space participants than those whose BPN is listed in the access policy wouldn't even be able to see the asset in the catalog. +- Contract policy: determines the conditions for initiating a contract negotiation for a particular asset. Note that this does not automatically guarantee the successful creation of a contract, it merely expresses the eligibility to start the negotiation. Find additional information on transferring data in the [Developer's Handbook](https://github.com/eclipse-edc/docs/blob/main/developer/handbook.md). @@ -175,7 +180,7 @@ curl --location 'http://localhost/alice/management/v2/catalog/request' \ ``` Finally Alice can see the Contract Offer from Bob. -Congratulations on yor first successful data exchange in your own data space! +Congratulations on yor first successful offering of data in your own data space! ## Notice diff --git a/docs/tutorials/e2e/boost/restrictData.md b/docs/tutorials/e2e/boost/restrictData.md index 8d4a013fc3f..0ef7c00b798 100644 --- a/docs/tutorials/e2e/boost/restrictData.md +++ b/docs/tutorials/e2e/boost/restrictData.md @@ -5,7 +5,8 @@ sidebar_position: 4 ## Create an asset -Bob will once again be the data provider and Alice is interested in Bob’s data assets. Bob, as a data provider, creates an asset. +Bob will once again be the data provider. But this time Bob does not want Alice to see the asset. +The first step for Bob will again be to create an asset. Action (Bob): Create an asset using the following `curl` command: @@ -32,7 +33,13 @@ curl --location 'http://localhost/bob/management/v2/assets' \ ## Create a permissive access policy -Now that the asset is created, an access policy must be created to define who shall be able to see the asset within the catalog. This time Bob does not want Alice to see the asset. So he defines a policy not allowing Alice to see the asset in her catalog. +Now that the asset has been created, Bob creates an access policy that defines who can see and therefore access the asset in his catalog. To specify this access, Bob uses the Business Partner Number (BPN). The BPN is a unique identifier for participants of a data space. Bob knows that his exchange partner for this asset has the BPN (BPNL000000000003). Therefore, he can define his access policy as follows: + +:::info + +The MXD contains only two members (Alice & Bob). Therefore, it will not be possible to consume an asset with the policy defined here, because the participant with the BPN BPNL000000000003 does not exist in this data space. This is an example to demonstrate the restriction of an asset with a policy. + +::: Action (Bob): Create the access policy using the following `curl` command: @@ -69,6 +76,7 @@ curl --location 'http://localhost/bob/management/v2/policydefinitions' \ } }' ``` +Bob defined a policy which restricts access to connector(s) with the BusinessPartnerNumber BPNL000000000003. As Alice does not own this BPN, she should not be able to access the asset. ## Create a contract definition