Skip to content

Commit 0dee526

Browse files
authored
Merge branch 'main' into cn-grpc-bridge
2 parents 3bdd365 + 7ccd3c8 commit 0dee526

File tree

211 files changed

+4162
-5552
lines changed

Some content is hidden

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

211 files changed

+4162
-5552
lines changed

.github/workflows/build-docs.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ on:
88
- 'charts/**'
99
- 'mkdocs.yml'
1010
- 'docker-jans-**/README.md'
11+
- 'CHANGELOG.md'
1112
pull_request:
1213
branches:
1314
- main
@@ -16,6 +17,7 @@ on:
1617
- 'charts/**'
1718
- 'mkdocs.yml'
1819
- 'docker-jans-**/README.md'
20+
- 'CHANGELOG.md'
1921
release:
2022
types:
2123
- published
@@ -87,6 +89,12 @@ jobs:
8789
github.event_name == 'workflow_dispatch'
8890
run: |
8991
mv ../mkdocs.yml mkdocs.yml
92+
cp ../CHANGELOG.md docs/CHANGELOG.md
93+
94+
- name: Sync CHANGELOG to docs
95+
if: github.event_name != 'workflow_dispatch'
96+
run: |
97+
cp CHANGELOG.md docs/CHANGELOG.md
9098
9199
- name: Copy generated chart from main
92100
run: |

docs/CHANGELOG.md

Lines changed: 1989 additions & 177 deletions
Large diffs are not rendered by default.

docs/cedar-intro.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ For example, you may have a policy that says *Admins* can *write* to the */confi
2727
is the Principal, *write* is the Action, and the */config* folder is the Resource. The Context is used to
2828
specify information about the environment, like the time of day or network address.
2929

30-
![Cedar, Cedarling, and Lock diagram](../assets/lock-cedarling-diagram-3.jpg)
30+
![Cedar, Cedarling, and Lock diagram](assets/lock-cedarling-diagram-3.jpg)
3131

3232
Fine grain access control makes sense in both the frontend and backend. In the frontend, mastery of
3333
authz can help developers build better UX. For example, why display form fields a user is not

docs/cedarling/developer/sidecar/cedarling-sidecar-overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ Example request to the evaluation endpoint:
9090
}
9191
```
9292

93-
Cedarling requires OpenID Userinfo, Access, and ID tokens to construct the principal entity, as described [here](../../cedarling-authz.md). These values are sent in the subject field's properties. Furthermore, the sidecar expects the SHA256 checksum of the subject and resource's `properties` dictionary to be passed as their corresponding IDs, as shown in the example above. A more detailed example of creating an AuthZen request can be seen in the [gateway example](./cedarling-sidecar-tutorial.md#setup-test-gateway)
93+
Cedarling requires OpenID Userinfo, Access, and ID tokens to construct the principal entity, as described [here](../../reference/cedarling-authz.md). These values are sent in the subject field's properties. Furthermore, the sidecar expects the SHA256 checksum of the subject and resource's `properties` dictionary to be passed as their corresponding IDs, as shown in the example above. A more detailed example of creating an AuthZen request can be seen in the [gateway example](./cedarling-sidecar-tutorial.md#setup-test-gateway).
9494

9595
Upon creating the principal, action, resource, and context entities, cedarling will evaluate these entities against the policies defined in the policy store. Then it will return a true/false decision. If the decision is false, the sidecar will analyze cedarling diagnostics and provide additional information for the admin.
9696

docs/cedarling/reference/cedarling-authz.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ grain access controls needed to implement the business rules of their applicatio
2121
to define schema and policies is to use the [AgamaLab](https://cloud.gluu.org/agama-lab) Policy
2222
Designer. This is a free developer tool hosted by [Gluu](https://gluu.org).
2323

24-
![](../assets/lock-cedarling-diagram-2.jpg)
24+
![Diagram showing Cedarling authorization flow with JWTs, Resource, Action, and Context](../../assets/lock-cedarling-diagram-2.jpg)
2525

2626
The JWTs, Resource, Action, and Context are sent in the authz request. Cedar Pricipals entities
2727
are derived from JWT tokens. The OpenID Connect ("OIDC") JWTs are joined by the Cedarling to create

docs/cedarling/reference/cedarling-jwt-validation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ This feature is toggled with the `CEDARLING_JWT_STATUS_VALIDATION` property.
174174

175175
JWTs (JSON Web Tokens) contain authorization information that is used by the Cedarling to construct the Principal entities. In order to verify the authenticity of this information, the Cedarling can verify the integrity of the JWT by validating its signature and status(active, expired, or revoked). It does so by fetching the public keyset and the list of active tokens from the issuer of the JWT.
176176

177-
![](../assets/lock-cedarling-diagram-4.jpg)
177+
![Cedarling JWT validation flow diagram showing token verification process](../../assets/lock-cedarling-diagram-4.jpg)
178178

179179
## Local JWKS
180180

docs/cedarling/reference/cedarling-lock-server.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ After creation, **export the SSA token** and save it securely.
4646

4747
### 2. Setting up the Interception Script
4848

49-
Next, configure an [*interception script*](../janssen-server/developer/interception-scripts.md) to automatically add the required scopes when a Cedarling client registers.
49+
Next, configure an [*interception script*](../../janssen-server/developer/scripts/README.md) to automatically add the required scopes when a Cedarling client registers.
5050

5151
In your server, create a script file at `/opt/jans/jetty/jans-auth/custom/script/add_cedarling_scopes.py` with the following content:
5252

@@ -170,24 +170,24 @@ Next, create a JSON file named `script_schema.json` with the following content:
170170
"programmingLanguage": "python",
171171
"moduleProperties": [],
172172
"configurationProperties": [
173-
{
174-
"value1": "jwks_uri",
175-
"value2": "https://demoexample.jans.io/jans-auth/restv1/jwks",
176-
"hide": false,
177-
"description": "JWKS URI used for the SSA validation"
178-
},
179-
{
180-
"value1": "scope_list",
181-
"value2": "https://jans.io/oauth/lock/log.write https://jans.io/oauth/lock/health.write https://jans.io/oauth/lock/telemetry.write",
182-
"hide": false,
183-
"description": "space-separated scopes that will be added by the script"
184-
},
185-
{
186-
"value1": "trigger_scope",
187-
"value2": "cedarling",
188-
"hide": false,
189-
"description": "the scope that must be present for the script to run"
190-
}
173+
{
174+
"value1": "jwks_uri",
175+
"value2": "https://demoexample.jans.io/jans-auth/restv1/jwks",
176+
"hide": false,
177+
"description": "JWKS URI used for the SSA validation"
178+
},
179+
{
180+
"value1": "scope_list",
181+
"value2": "https://jans.io/oauth/lock/log.write https://jans.io/oauth/lock/health.write https://jans.io/oauth/lock/telemetry.write",
182+
"hide": false,
183+
"description": "space-separated scopes that will be added by the script"
184+
},
185+
{
186+
"value1": "trigger_scope",
187+
"value2": "cedarling",
188+
"hide": false,
189+
"description": "the scope that must be present for the script to run"
190+
}
191191
],
192192
"level": 100,
193193
"revision": 0,
@@ -239,7 +239,7 @@ A successful response will contain the following scopes:
239239

240240
> Note:
241241
>
242-
> If you want to learn more about configuring the example interception script, see the [reference](../janssen-server/developer/interception-scripts.md).
242+
> If you want to learn more about configuring the example interception script, see the [reference](../../janssen-server/developer/scripts/README.md).
243243
244244
---
245245

docs/cedarling/tutorials/cedarling-getting-started.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -487,7 +487,7 @@ Cedarling currently provides two modes of authorization:
487487
- Doesn't use principal and all token information is stored in context.
488488
- This makes authorization decisions by rules based on context values (token payloads).
489489

490-
[More information](./cedarling-multi-issuer.md)
490+
[More information](../reference/cedarling-multi-issuer.md)
491491

492492
### Logging
493493

docs/cedarling/tutorials/go.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,6 @@ Auto-generated documentation is available on [pkg.go.dev](https://pkg.go.dev/git
421421

422422
## See Also
423423

424-
- [Multi-Issuer Authorization Details](../cedarling-authz.md#multi-issuer-authorization-authorize_multi_issuer)
425-
- [JWT Mapping for Multi-Issuer](../cedarling-jwt-mapping.md#multi-issuer-jwt-mapping-authorize_multi_issuer)
426-
- [Policy Store Configuration](../cedarling-policy-store.md#multi-issuer-token-entities)
424+
- [Multi-Issuer Authorization Details](../reference/cedarling-authz.md)
425+
- [JWT Mapping for Multi-Issuer](../reference/cedarling-jwt-mapping.md)
426+
- [Policy Store Configuration](../reference/cedarling-policy-store.md)

docs/contribute/implementation-design/jans-cedarling-design/cedarling-technical-overview.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ The Cedarling performs other tasks associated with a Policy Decision Point, or "
3737
## Cedarling Flow
3838

3939
### Startup Requirements
40-
1. [Bootstrap Properties](../../../cedarling/cedarling-properties.md)
41-
2. [Policy Store](../../../cedarling/cedarling-policy-store.md)
40+
1. [Bootstrap Properties](../../../cedarling/reference/cedarling-properties.md)
41+
2. [Policy Store](../../../cedarling/reference/cedarling-policy-store.md)
4242

4343
### Authorization Flow
4444

@@ -63,7 +63,7 @@ Handled via `JwtService` in the `jwt` module. JWTs from untrusted issuers are re
6363

6464
Criteria for valid JWT:
6565
* Comes from a trusted issuer:
66-
* Has a defined [token metadata](../../../cedarling/cedarling-policy-store.md#token-metadata-schema)
66+
* Has a defined [token metadata](../../../cedarling/reference/cedarling-policy-store.md#token-metadata-schema)
6767

6868

6969

@@ -73,7 +73,7 @@ Handled via `EntityBuilder` in the `entity_builder` module. JWTs from untrusted
7373

7474
JWT claims are mapped to Cedar attributes (1:1 by default).
7575

76-
Mappings are configured via the Token Entity Metadata Schema's `claim mapping` field in the [Policy Store](../../../cedarling/cedarling-policy-store.md#claim-mapping).
76+
Mappings are configured via the Token Entity Metadata Schema's `claim mapping` field in the [Policy Store](../../../cedarling/reference/cedarling-policy-store.md#claim-mapping).
7777

7878

7979
!!! Note

0 commit comments

Comments
 (0)