Skip to content

Commit 3d7c4ce

Browse files
author
Dan Costello
committed
Images
1 parent d35f931 commit 3d7c4ce

File tree

51 files changed

+113
-265
lines changed

Some content is hidden

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

51 files changed

+113
-265
lines changed

content/docs/guides/(authentication)/quickstart-guides/sample-app.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ We’ve set up a very simple sample app, so that you can demo UserClouds Authent
3939

4040
Point a browser at http\://localhost:8080 and click “login”. You will be redirected to a UserClouds branded login screen. Of course, this page can be customized to your branding later.
4141

42-
![](https://files.readme.io/ecca98e-image_21.png)
42+
<img src="/assets/images/plex-login.webp" alt="UserClouds login screen" width="411" className="mx-auto" />
4343

4444
</Step>
4545
</Steps>

content/docs/guides/(authorization)/illustrative-examples/b2b2c-marketplace.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ Here is a good set of edge types for our use case:
6060

6161
Note that, since edges are strongly typed, we require different edge types to represent a shop selling an order and a user selling an order.
6262

63-
![](https://files.readme.io/56452c8-C2C_Marketplace.jpg)
63+
![Marketplace flow chart](/assets/images/marketplace.webp)
6464

6565

6666
## 4. Add permissions to each of our relationships.

content/docs/guides/(authorization)/illustrative-examples/edtech-platform.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ Here is a good set of edge types for our use case:
8484

8585
Note that edge types represent possible one-way relationships between two types of objects. For example, `Parent_Of` is a one-way relationship between two users. An edge with type `Parent_Of` could not link a specific user with a specific school, since people cannot be parents of schools.
8686

87-
![](https://files.readme.io/69750cc-EdTech_Platform.jpg)
87+
![](/assets/images/edtech-platform.webp)
8888

8989
## 4. Add permissions to each of our relationships.
9090

content/docs/guides/(authorization)/illustrative-examples/slack.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ We’re interested in who has the right to add people to channels and who has th
7373

7474
**Relationships**: `is_public`, `is_private`
7575

76-
![](https://files.readme.io/aec9b93-Slack.jpg)
76+
![](/assets/images/slack.webp)
7777

7878

7979
## 4. Add permissions to each of our relationships.

content/docs/guides/(authorization)/overview/modelling-hierarchy-with-attribute-types.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Attributes give one object permissions on another object. Each attribute has an
2222

2323
The direct scope is the simplest attribute scope. It gives the source object the permission on the target object. It is used for non-hierarchical relationships.
2424

25-
![An edge with a view:direct attribute gives the source object view permissions on the target object.](https://files.readme.io/00573c8-A_Attribute_Direct.jpg)
25+
![An edge with a view:direct attribute gives the source object view permissions on the target object.](/assets/images/Attribute_Direct.webp)
2626

2727

2828
## Inherit Attributes
@@ -33,7 +33,7 @@ The inherit attribute scope states:
3333
3434
**Inherit attributes are used to pass a permission from one user or group to another**. In the example below, Gloria is a member of a department that owns a particular project. This is modeled by giving the department direct view access on the project, and passing that view access to Gloria with an inherit attribute.
3535

36-
![Inherit attributes are used to pass permissions from one user or group to another.](https://files.readme.io/1d9fe3e-A_Attribute_Inherit.jpg)
36+
![Inherit attributes are used to pass permissions from one user or group to another.](/assets/images/Attribute_Inherit.webp)
3737

3838

3939
## Propagate Attributes
@@ -44,4 +44,4 @@ The propagate attribute scope states:
4444
4545
**Propagate attributes are used to propagate permissions down a hierarchy of nested resources**. In the example below, Ajay owns a folder and has view access to that folder. Ajay is given view access to all files inside the folder with a propagate attribute.
4646

47-
![Propagate attributes are used to propagate permissions down a hierarchy of nested resources, like folders.](https://files.readme.io/2d23334-A_Attribute_Propagate.jpg)
47+
![Propagate attributes are used to propagate permissions down a hierarchy of nested resources, like folders.](/assets/images/Attribute_Propagate.webp)

content/docs/guides/(data-access)/definitions/access-policies.mdx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,6 @@ function policy(context, params) {
184184
const params = {}; // No specific parameters needed for this example
185185
```
186186

187-
<br />
188-
189187
## checkAttribute
190188

191189
The `checkAttribute` function runs a permission check against the UserClouds authorization graph. If you are using UserClouds for authorization as a service, this can verify if a user has the necessary permissions. In short, it asks whether a given object (usually a user) has an attribute (e.g. "can-read" or "is-admin") on another object (which could be just about any entity in your system). You can read more about this in the [Authorization Documentation](/docs/reference/get_authz-checkattribute).

content/docs/guides/(data-access)/definitions/transformers.mdx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,11 @@ In addition, column default transformers provide a way to consistently apply tra
2222

2323
- **Column Default Transformers**: These transformers are applied by default to all reads on specific columns. For example, you might apply a masking transformer to the SSN column to obscure the data by default in all read queries. Learn more [here](/docs/protect-a-column-with-defaults).
2424

25-
<br />
26-
2725
## Examples of Transformers
2826

2927
Transformers range from the simplest UUID function that replaces any given data with a unique identifier, to custom-written Javascript that runs in a carefully-controlled sandbox.
3028

31-
![One simple transformer receives raw data, and creates a UUID token.](https://files.readme.io/22f49cc-spaces_66DzLwptb2SejhKV7Bhn_uploads_QrLi9YP9CtHG5gAgEQrd_image.webp)
29+
![One simple transformer receives raw data, and creates a UUID token.](/assets/images/uuid-input.webp)
3230

3331
Let’s look at four possible transformers, to see how transformers work.
3432

@@ -61,7 +59,7 @@ A transformer consists of:
6159
- `Transform Function` - a transform function with the signature `func(data Object, parameters Object) (Token | error)`
6260
- `Transform Parameters` - a static JSON object (not containing un-encoded PII) that is available at runtime, allowing you to parameterize and reuse functions like "obfuscate all but the first X letters of these emails"
6361

64-
![The PreserveCommonValue parameter allows you to optionally preserve common email domains (like gmail.com). Rare domains, like userclouds.com, will be obscured.](https://files.readme.io/f14e1c2-image_1.png)
62+
![The PreserveCommonValue parameter allows you to optionally preserve common email domains (like gmail.com). Rare domains, like userclouds.com, will be obscured.](/assets/images/parameters.webp)
6563

6664
## Managing Transformers
6765

content/docs/guides/(data-access)/how-to-guides/create-a-transformer.mdx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,7 @@ import { Step, Steps } from 'fumadocs-ui/components/steps';
1010

1111
Transformers are re-usable JavaScript functions that manipulate data in UserClouds. They allow you to minimize the data that you pass or store for each use case. Transformers allow you to retain select structure and information from the raw data for different use cases, like sorting alphabetically, common domain analysis or simply flowing through your systems without triggering validation errors.
1212

13-
Transformers can be managed in the User Store page of the UserClouds Console, or via the UserClouds API.
14-
15-
![Transformers can be managed from the Policies page in the UserClouds Console](https://files.readme.io/d78d5ab-image_8.png)
16-
13+
Transformers can be managed in the User Data Masking page of the UserClouds Console, or via the UserClouds API.
1714

1815
## How Transformers Work
1916

@@ -62,7 +59,6 @@ To create a transformer in UserClouds, go to the Policies page, accessible from
6259
Finally, test your transformer by adding raw data to the "Data" field and clicking "Run Test". Once you are happy with the test results, click "Save Transformer" to finish.
6360
</Step>
6461
</Steps>
65-
![The Create Transformer Page](https://files.readme.io/bee6a69-image_9.png)
6662

6763
## Creating a transformer via the API
6864

content/docs/guides/(data-access)/how-to-guides/create-an-access-policy.mdx

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ New access policies can be created by writing a new policy or template from scra
1616

1717
Access policies and templates are managed under the Access Rules element in the UserClouds Console sidebar.
1818

19-
![Policies and templates can be managed from the Policies page, accessible from the sidebar of UserClouds Console.](https://files.readme.io/184bfbc-image_4.png)
20-
2119
## Creating Policy Templates in the UI
2220

2321
Policy templates are parametrizable functions that can be parametrized to create access policies. To create a policy template, go to the Policies page and click Create Policy Template.
@@ -27,16 +25,12 @@ Policy templates are parametrizable functions that can be parametrized to create
2725
**Create your <Glossary>access policy template</Glossary>**
2826

2927
Specify a name, a description and a javascript function for your policy. The javascript function may optionally accept parameters, which you can test below.
30-
31-
![The Create Policy Template page.](https://files.readme.io/085e410-image_5.png)
3228
</Step>
3329
<Step>
3430

3531
**Test and save your policy template**
3632

3733
Use the "Test Your Draft" card at the bottom of the page to test your policy template. You can add test parameters to simulate turning the policy template into an access policy, and then test that access policy with test context. The interface will show the result of your test as "Access Allowed" or "Access Denied".
38-
39-
![The "Test Your Draft" card allows you to parametrize your draft template (creating an access policy) and then test that access policy with test context.](https://files.readme.io/ef73d2e-spaces_66DzLwptb2SejhKV7Bhn_uploads_oGa62N4DTjIR8mFABEN5_image.webp)
4034
</Step>
4135
</Steps>
4236

@@ -51,15 +45,10 @@ Policy templates are parametrizable functions that can be parametrized to create
5145
**Set your <Glossary>access policy</Glossary> name and description**
5246

5347
Next, add a name and a description for your policy.
54-
55-
![The Create Access Policy page in UserClouds Console.](https://files.readme.io/e0bf498-image_6.png)
56-
5748
</Step>
5849
<Step>
5950
**Compose your policy**
6051

61-
![The Compose Policy Card](https://files.readme.io/1249f6f-image_7.png)
62-
6352
Next, compose the policy from one or more policies and templates in the "Compose Policy" card.
6453

6554
Use the dropdowns and "Add policy" button to add policies or templates to add policies to your composition. When you add a template, set the parameters in the adjacent text input to turn the template into a policy. When you add a policy, the "Parameters" input will be disabled, since policy instances are already parametrized

content/docs/guides/(data-access)/how-to-guides/edit-existing-user-data/create-a-mutator.mdx

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,6 @@ Next, pick the user records and <Glossary>column</Glossary>s the mutator will re
4848
When creating a user via the `CreateUserWithMutator` API, you should use the selector `{id} = ?`. For more info on creating users in User Store, see Create a User.
4949

5050
Add columns by selecting from the dropdown and clicking "Add Column".
51-
52-
![Select which columns the mutator will write data to, then select a normalizer defining if / how data should be manipulated before being saved. ](https://files.readme.io/b410a49-image.png)
53-
5451
</Step>
5552
<Step>
5653
### Define how the mutator should normalize inbound data
@@ -77,9 +74,6 @@ Finally, select an <Glossary>access policy</Glossary> for the mutator. The acces
7774

7875
For more information on what access policies do, see [Access Policies](/docs/guides/definitions/access-policies). For more information on creating access policies, see our [How To Guide on Creating Access Policies](/docs/guides/how-to-guides/create-an-access-policy).
7976

80-
![The access policy controls whether the whether a given write is allowed.](https://files.readme.io/8cb3a7a-spaces_66DzLwptb2SejhKV7Bhn_uploads_CroH4gBpzCJ5B5zSLyq5_image.webp)
81-
82-
8377
Nice job! You can now click Save to create your mutator. You can learn how to invoke this mutator in the next article.
8478
</Step>
8579
</Steps>

0 commit comments

Comments
 (0)