@intentius/chant-lexicon-cedar 0.44.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +190 -0
- package/dist/avp/ambient.d.ts +54 -0
- package/dist/avp/ambient.d.ts.map +1 -0
- package/dist/avp/client.d.ts +127 -0
- package/dist/avp/client.d.ts.map +1 -0
- package/dist/avp/describe-resources.d.ts +42 -0
- package/dist/avp/describe-resources.d.ts.map +1 -0
- package/dist/avp/embed.d.ts +120 -0
- package/dist/avp/embed.d.ts.map +1 -0
- package/dist/avp/live-export.d.ts +94 -0
- package/dist/avp/live-export.d.ts.map +1 -0
- package/dist/avp/ownership.d.ts +97 -0
- package/dist/avp/ownership.d.ts.map +1 -0
- package/dist/avp/statement.d.ts +22 -0
- package/dist/avp/statement.d.ts.map +1 -0
- package/dist/avp/store.d.ts +82 -0
- package/dist/avp/store.d.ts.map +1 -0
- package/dist/avp/testdata/mock-transport.d.ts +55 -0
- package/dist/avp/testdata/mock-transport.d.ts.map +1 -0
- package/dist/codegen/docs-cli.d.ts +3 -0
- package/dist/codegen/docs-cli.d.ts.map +1 -0
- package/dist/codegen/docs.d.ts +26 -0
- package/dist/codegen/docs.d.ts.map +1 -0
- package/dist/codegen/emit.d.ts +85 -0
- package/dist/codegen/emit.d.ts.map +1 -0
- package/dist/codegen/generate-cli.d.ts +3 -0
- package/dist/codegen/generate-cli.d.ts.map +1 -0
- package/dist/codegen/generate.d.ts +37 -0
- package/dist/codegen/generate.d.ts.map +1 -0
- package/dist/codegen/naming.d.ts +48 -0
- package/dist/codegen/naming.d.ts.map +1 -0
- package/dist/codegen/package.d.ts +10 -0
- package/dist/codegen/package.d.ts.map +1 -0
- package/dist/composites/deny-by-default-set.d.ts +58 -0
- package/dist/composites/deny-by-default-set.d.ts.map +1 -0
- package/dist/composites/index.d.ts +12 -0
- package/dist/composites/index.d.ts.map +1 -0
- package/dist/composites/owner-can-manage.d.ts +48 -0
- package/dist/composites/owner-can-manage.d.ts.map +1 -0
- package/dist/config.d.ts +102 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/coverage.d.ts +59 -0
- package/dist/coverage.d.ts.map +1 -0
- package/dist/detect.d.ts +18 -0
- package/dist/detect.d.ts.map +1 -0
- package/dist/generated/index.d.ts +251 -0
- package/dist/generated/index.d.ts.map +1 -0
- package/dist/generated/runtime.d.ts +2 -0
- package/dist/generated/runtime.d.ts.map +1 -0
- package/dist/import/adapter.d.ts +21 -0
- package/dist/import/adapter.d.ts.map +1 -0
- package/dist/import/clause-text.d.ts +38 -0
- package/dist/import/clause-text.d.ts.map +1 -0
- package/dist/import/generator.d.ts +53 -0
- package/dist/import/generator.d.ts.map +1 -0
- package/dist/import/parser.d.ts +57 -0
- package/dist/import/parser.d.ts.map +1 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/init-templates.d.ts +32 -0
- package/dist/init-templates.d.ts.map +1 -0
- package/dist/integrity.json +22 -0
- package/dist/lint/audit-catalog.d.ts +29 -0
- package/dist/lint/audit-catalog.d.ts.map +1 -0
- package/dist/lint/post-synth/cedar-helpers.d.ts +97 -0
- package/dist/lint/post-synth/cedar-helpers.d.ts.map +1 -0
- package/dist/lint/post-synth/cedc010.d.ts +17 -0
- package/dist/lint/post-synth/cedc010.d.ts.map +1 -0
- package/dist/lint/post-synth/cedc011.d.ts +17 -0
- package/dist/lint/post-synth/cedc011.d.ts.map +1 -0
- package/dist/lint/post-synth/cedc012.d.ts +21 -0
- package/dist/lint/post-synth/cedc012.d.ts.map +1 -0
- package/dist/lint/post-synth/cedc013.d.ts +20 -0
- package/dist/lint/post-synth/cedc013.d.ts.map +1 -0
- package/dist/lint/post-synth/cedc014.d.ts +19 -0
- package/dist/lint/post-synth/cedc014.d.ts.map +1 -0
- package/dist/lint/post-synth/cede010.d.ts +34 -0
- package/dist/lint/post-synth/cede010.d.ts.map +1 -0
- package/dist/lint/post-synth/cede011.d.ts +22 -0
- package/dist/lint/post-synth/cede011.d.ts.map +1 -0
- package/dist/lint/post-synth/ceds010.d.ts +24 -0
- package/dist/lint/post-synth/ceds010.d.ts.map +1 -0
- package/dist/lint/post-synth/ceds011.d.ts +19 -0
- package/dist/lint/post-synth/ceds011.d.ts.map +1 -0
- package/dist/lint/post-synth/ceds012.d.ts +17 -0
- package/dist/lint/post-synth/ceds012.d.ts.map +1 -0
- package/dist/lint/post-synth/index.d.ts +3 -0
- package/dist/lint/post-synth/index.d.ts.map +1 -0
- package/dist/lint/post-synth/wasm-helpers.d.ts +108 -0
- package/dist/lint/post-synth/wasm-helpers.d.ts.map +1 -0
- package/dist/lint/rules/index.d.ts +10 -0
- package/dist/lint/rules/index.d.ts.map +1 -0
- package/dist/lint/rules/policy-shape.d.ts +31 -0
- package/dist/lint/rules/policy-shape.d.ts.map +1 -0
- package/dist/lsp/completions.d.ts +24 -0
- package/dist/lsp/completions.d.ts.map +1 -0
- package/dist/lsp/hover.d.ts +11 -0
- package/dist/lsp/hover.d.ts.map +1 -0
- package/dist/lsp/registry.d.ts +45 -0
- package/dist/lsp/registry.d.ts.map +1 -0
- package/dist/manifest.json +8 -0
- package/dist/mcp/index.d.ts +34 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/policy-coverage.d.ts +81 -0
- package/dist/mcp/policy-coverage.d.ts.map +1 -0
- package/dist/meta.json +699 -0
- package/dist/okf/index.md +37 -0
- package/dist/okf/rules/CEDC001.md +11 -0
- package/dist/okf/rules/CEDC010.md +11 -0
- package/dist/okf/rules/CEDC011.md +15 -0
- package/dist/okf/rules/CEDC012.md +11 -0
- package/dist/okf/rules/CEDC013.md +15 -0
- package/dist/okf/rules/CEDC014.md +15 -0
- package/dist/okf/rules/CEDE010.md +15 -0
- package/dist/okf/rules/CEDE011.md +15 -0
- package/dist/okf/rules/CEDS010.md +15 -0
- package/dist/okf/rules/CEDS011.md +11 -0
- package/dist/okf/rules/CEDS012.md +15 -0
- package/dist/okf/types/AdminAction.md +14 -0
- package/dist/okf/types/Application.md +14 -0
- package/dist/okf/types/ApproveAction.md +13 -0
- package/dist/okf/types/CommentAction.md +14 -0
- package/dist/okf/types/CreateAction.md +14 -0
- package/dist/okf/types/DeleteAction.md +14 -0
- package/dist/okf/types/Document.md +18 -0
- package/dist/okf/types/Folder.md +15 -0
- package/dist/okf/types/Group.md +14 -0
- package/dist/okf/types/ListAction.md +14 -0
- package/dist/okf/types/Policy.md +29 -0
- package/dist/okf/types/ReadAction.md +14 -0
- package/dist/okf/types/ServiceAccount.md +15 -0
- package/dist/okf/types/ShareAction.md +14 -0
- package/dist/okf/types/Team.md +14 -0
- package/dist/okf/types/User.md +18 -0
- package/dist/okf/types/WriteAction.md +14 -0
- package/dist/package-cli.d.ts +3 -0
- package/dist/package-cli.d.ts.map +1 -0
- package/dist/plugin.d.ts +8 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/rules/cedar-helpers.ts +209 -0
- package/dist/rules/cedc010.ts +80 -0
- package/dist/rules/cedc011.ts +47 -0
- package/dist/rules/cedc012.ts +64 -0
- package/dist/rules/cedc013.ts +68 -0
- package/dist/rules/cedc014.ts +73 -0
- package/dist/rules/cede010.ts +89 -0
- package/dist/rules/cede011.ts +58 -0
- package/dist/rules/ceds010.ts +57 -0
- package/dist/rules/ceds011.ts +42 -0
- package/dist/rules/ceds012.ts +50 -0
- package/dist/rules/policy-shape.ts +148 -0
- package/dist/rules/wasm-helpers.ts +315 -0
- package/dist/serializer.d.ts +138 -0
- package/dist/serializer.d.ts.map +1 -0
- package/dist/spec/fetch.d.ts +71 -0
- package/dist/spec/fetch.d.ts.map +1 -0
- package/dist/spec/parse.d.ts +113 -0
- package/dist/spec/parse.d.ts.map +1 -0
- package/dist/spec/pin.d.ts +116 -0
- package/dist/spec/pin.d.ts.map +1 -0
- package/dist/spec/pinned-names.json +18 -0
- package/dist/spec/wasm.d.ts +143 -0
- package/dist/spec/wasm.d.ts.map +1 -0
- package/dist/types/index.d.ts +219 -0
- package/dist/validate-cli.d.ts +3 -0
- package/dist/validate-cli.d.ts.map +1 -0
- package/dist/validate.d.ts +25 -0
- package/dist/validate.d.ts.map +1 -0
- package/package.json +75 -0
- package/src/avp/OWNERSHIP.md +125 -0
- package/src/avp/ambient.test.ts +113 -0
- package/src/avp/ambient.ts +124 -0
- package/src/avp/client.ts +310 -0
- package/src/avp/describe-resources.test.ts +316 -0
- package/src/avp/describe-resources.ts +215 -0
- package/src/avp/embed.test.ts +114 -0
- package/src/avp/embed.ts +190 -0
- package/src/avp/live-export.test.ts +232 -0
- package/src/avp/live-export.ts +185 -0
- package/src/avp/ownership.test.ts +101 -0
- package/src/avp/ownership.ts +170 -0
- package/src/avp/statement.ts +50 -0
- package/src/avp/store.ts +152 -0
- package/src/avp/testdata/mock-transport.ts +147 -0
- package/src/codegen/docs-cli.ts +7 -0
- package/src/codegen/docs.ts +873 -0
- package/src/codegen/emit.ts +496 -0
- package/src/codegen/generate-cli.ts +18 -0
- package/src/codegen/generate.test.ts +128 -0
- package/src/codegen/generate.ts +123 -0
- package/src/codegen/naming.ts +101 -0
- package/src/codegen/package.ts +52 -0
- package/src/composites/composites.test.ts +206 -0
- package/src/composites/deny-by-default-set.ts +98 -0
- package/src/composites/index.ts +13 -0
- package/src/composites/owner-can-manage.ts +80 -0
- package/src/config-namespace.test.ts +44 -0
- package/src/config.test.ts +82 -0
- package/src/config.ts +119 -0
- package/src/coverage.test.ts +61 -0
- package/src/coverage.ts +166 -0
- package/src/detect.test.ts +64 -0
- package/src/detect.ts +59 -0
- package/src/generated/index.d.ts +219 -0
- package/src/generated/index.ts +279 -0
- package/src/generated/lexicon-cedar.json +699 -0
- package/src/generated/runtime.ts +2 -0
- package/src/import/adapter.ts +63 -0
- package/src/import/clause-text.ts +178 -0
- package/src/import/generator.test.ts +133 -0
- package/src/import/generator.ts +219 -0
- package/src/import/parser.test.ts +265 -0
- package/src/import/parser.ts +352 -0
- package/src/import/roundtrip.test.ts +127 -0
- package/src/import/testdata/full.cedar +36 -0
- package/src/import/testdata/full.cedar.json +238 -0
- package/src/import/testdata/realistic.cedar +35 -0
- package/src/import/testdata/simple.cedar +6 -0
- package/src/index.ts +94 -0
- package/src/init-templates.test.ts +158 -0
- package/src/init-templates.ts +358 -0
- package/src/lint/audit-catalog.ts +130 -0
- package/src/lint/post-synth/cedar-helpers.ts +209 -0
- package/src/lint/post-synth/cedc010.ts +80 -0
- package/src/lint/post-synth/cedc011.ts +47 -0
- package/src/lint/post-synth/cedc012.ts +64 -0
- package/src/lint/post-synth/cedc013.ts +68 -0
- package/src/lint/post-synth/cedc014.ts +73 -0
- package/src/lint/post-synth/cede010.ts +89 -0
- package/src/lint/post-synth/cede011.ts +58 -0
- package/src/lint/post-synth/ceds010.ts +57 -0
- package/src/lint/post-synth/ceds011.ts +42 -0
- package/src/lint/post-synth/ceds012.ts +50 -0
- package/src/lint/post-synth/index.ts +25 -0
- package/src/lint/post-synth/post-synth.test.ts +474 -0
- package/src/lint/post-synth/wasm-helpers.ts +315 -0
- package/src/lint/rules/index.ts +12 -0
- package/src/lint/rules/policy-shape.test.ts +90 -0
- package/src/lint/rules/policy-shape.ts +148 -0
- package/src/lsp/completions.test.ts +111 -0
- package/src/lsp/completions.ts +55 -0
- package/src/lsp/hover.test.ts +82 -0
- package/src/lsp/hover.ts +75 -0
- package/src/lsp/registry.ts +74 -0
- package/src/mcp/index.ts +103 -0
- package/src/mcp/policy-coverage.test.ts +176 -0
- package/src/mcp/policy-coverage.ts +205 -0
- package/src/package-cli.ts +22 -0
- package/src/plugin.test.ts +115 -0
- package/src/plugin.ts +312 -0
- package/src/serializer.test.ts +502 -0
- package/src/serializer.ts +335 -0
- package/src/skills/chant-cedar-authoring.md +180 -0
- package/src/skills/chant-cedar-avp-embedding.md +125 -0
- package/src/skills/chant-cedar-meta-policy.md +119 -0
- package/src/spec/default-schema.cedarschema +108 -0
- package/src/spec/fetch.ts +107 -0
- package/src/spec/parse.test.ts +123 -0
- package/src/spec/parse.ts +253 -0
- package/src/spec/pin.test.ts +88 -0
- package/src/spec/pin.ts +243 -0
- package/src/spec/pinned-names.json +18 -0
- package/src/spec/wasm.ts +283 -0
- package/src/validate-cli.ts +8 -0
- package/src/validate.ts +85 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
okf_version: '0.2'
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Resource types
|
|
6
|
+
|
|
7
|
+
* [AdminAction](/types/AdminAction.md) - App::Action::"admin"
|
|
8
|
+
* [Application](/types/Application.md) - App::Application
|
|
9
|
+
* [ApproveAction](/types/ApproveAction.md) - App::Action::"approve"
|
|
10
|
+
* [CommentAction](/types/CommentAction.md) - App::Action::"comment"
|
|
11
|
+
* [CreateAction](/types/CreateAction.md) - App::Action::"create"
|
|
12
|
+
* [DeleteAction](/types/DeleteAction.md) - App::Action::"delete"
|
|
13
|
+
* [Document](/types/Document.md) - App::Document
|
|
14
|
+
* [Folder](/types/Folder.md) - App::Folder
|
|
15
|
+
* [Group](/types/Group.md) - App::Group
|
|
16
|
+
* [ListAction](/types/ListAction.md) - App::Action::"list"
|
|
17
|
+
* [Policy](/types/Policy.md) - Cedar::Policy
|
|
18
|
+
* [ReadAction](/types/ReadAction.md) - App::Action::"read"
|
|
19
|
+
* [ServiceAccount](/types/ServiceAccount.md) - App::ServiceAccount
|
|
20
|
+
* [ShareAction](/types/ShareAction.md) - App::Action::"share"
|
|
21
|
+
* [Team](/types/Team.md) - App::Team
|
|
22
|
+
* [User](/types/User.md) - App::User
|
|
23
|
+
* [WriteAction](/types/WriteAction.md) - App::Action::"write"
|
|
24
|
+
|
|
25
|
+
# Rules
|
|
26
|
+
|
|
27
|
+
* [CEDC001](/rules/CEDC001.md) - a Cedar policy declaration must have a usable effect and no empty guard
|
|
28
|
+
* [CEDC010](/rules/CEDC010.md) - The emitted Cedar policy set must parse as Cedar (checkParsePolicySet)
|
|
29
|
+
* [CEDC011](/rules/CEDC011.md) - Every when/unless condition expression in an emitted policy must parse as a Cedar expression
|
|
30
|
+
* [CEDC012](/rules/CEDC012.md) - No two emitted Cedar policies may claim the same policy id
|
|
31
|
+
* [CEDC013](/rules/CEDC013.md) - An emitted policy's @id annotation must match its policy id, and annotation values must be non-empty strings
|
|
32
|
+
* [CEDC014](/rules/CEDC014.md) - An entity reference in a policy scope must be a well-formed Namespace::Type::\
|
|
33
|
+
* [CEDE010](/rules/CEDE010.md) - Every emitted Cedar policy set validates clean against the project schema (cedar-wasm validate)
|
|
34
|
+
* [CEDE011](/rules/CEDE011.md) - Cedar validation warnings (impossible policies, shadowed conditions) on an emitted policy set
|
|
35
|
+
* [CEDS010](/rules/CEDS010.md) - A bare permit(principal, action, resource) with no scope constraints and no conditions grants everything
|
|
36
|
+
* [CEDS011](/rules/CEDS011.md) - A policy set built entirely from permits carries no forbid to bound them
|
|
37
|
+
* [CEDS012](/rules/CEDS012.md) - A permit that leaves the action scope unconstrained grants every action, including future ones
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: lint-rule
|
|
3
|
+
title: CEDC001
|
|
4
|
+
description: a Cedar policy declaration must have a usable effect and no empty guard
|
|
5
|
+
id: CEDC001
|
|
6
|
+
severity: error
|
|
7
|
+
category: correctness
|
|
8
|
+
lexicon: cedar
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/cedar/rules/
|
|
10
|
+
---
|
|
11
|
+
a Cedar policy declaration must have a usable effect and no empty guard
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: CEDC010
|
|
4
|
+
description: The emitted Cedar policy set must parse as Cedar (checkParsePolicySet)
|
|
5
|
+
id: CEDC010
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: cedar
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/cedar/rules/
|
|
10
|
+
---
|
|
11
|
+
The emitted Cedar policy set must parse as Cedar (checkParsePolicySet)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: CEDC011
|
|
4
|
+
description: Every when/unless condition expression in an emitted policy must parse as a Cedar expression
|
|
5
|
+
id: CEDC011
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: cedar
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/cedar/rules/
|
|
10
|
+
---
|
|
11
|
+
Every when/unless condition expression in an emitted policy must parse as a Cedar expression
|
|
12
|
+
|
|
13
|
+
## Applies to
|
|
14
|
+
|
|
15
|
+
- [Policy](/types/Policy.md)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: CEDC012
|
|
4
|
+
description: No two emitted Cedar policies may claim the same policy id
|
|
5
|
+
id: CEDC012
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: cedar
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/cedar/rules/
|
|
10
|
+
---
|
|
11
|
+
No two emitted Cedar policies may claim the same policy id
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: CEDC013
|
|
4
|
+
description: An emitted policy's @id annotation must match its policy id, and annotation values must be non-empty strings
|
|
5
|
+
id: CEDC013
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: cedar
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/cedar/rules/
|
|
10
|
+
---
|
|
11
|
+
An emitted policy's @id annotation must match its policy id, and annotation values must be non-empty strings
|
|
12
|
+
|
|
13
|
+
## Applies to
|
|
14
|
+
|
|
15
|
+
- [Policy](/types/Policy.md)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: CEDC014
|
|
4
|
+
description: An entity reference in a policy scope must be a well-formed Namespace::Type::\
|
|
5
|
+
id: CEDC014
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: cedar
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/cedar/rules/
|
|
10
|
+
---
|
|
11
|
+
An entity reference in a policy scope must be a well-formed Namespace::Type::\
|
|
12
|
+
|
|
13
|
+
## Applies to
|
|
14
|
+
|
|
15
|
+
- [Policy](/types/Policy.md)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: CEDE010
|
|
4
|
+
description: Every emitted Cedar policy set validates clean against the project schema (cedar-wasm validate)
|
|
5
|
+
id: CEDE010
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: cedar
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/cedar/rules/
|
|
10
|
+
---
|
|
11
|
+
Every emitted Cedar policy set validates clean against the project schema (cedar-wasm validate)
|
|
12
|
+
|
|
13
|
+
## Applies to
|
|
14
|
+
|
|
15
|
+
- [Policy](/types/Policy.md)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: CEDE011
|
|
4
|
+
description: Cedar validation warnings (impossible policies, shadowed conditions) on an emitted policy set
|
|
5
|
+
id: CEDE011
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: cedar
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/cedar/rules/
|
|
10
|
+
---
|
|
11
|
+
Cedar validation warnings (impossible policies, shadowed conditions) on an emitted policy set
|
|
12
|
+
|
|
13
|
+
## Applies to
|
|
14
|
+
|
|
15
|
+
- [Policy](/types/Policy.md)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: CEDS010
|
|
4
|
+
description: A bare permit(principal, action, resource) with no scope constraints and no conditions grants everything
|
|
5
|
+
id: CEDS010
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: cedar
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/cedar/rules/
|
|
10
|
+
---
|
|
11
|
+
A bare permit(principal, action, resource) with no scope constraints and no conditions grants everything
|
|
12
|
+
|
|
13
|
+
## Applies to
|
|
14
|
+
|
|
15
|
+
- [Policy](/types/Policy.md)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: CEDS011
|
|
4
|
+
description: A policy set built entirely from permits carries no forbid to bound them
|
|
5
|
+
id: CEDS011
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: cedar
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/cedar/rules/
|
|
10
|
+
---
|
|
11
|
+
A policy set built entirely from permits carries no forbid to bound them
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: CEDS012
|
|
4
|
+
description: A permit that leaves the action scope unconstrained grants every action, including future ones
|
|
5
|
+
id: CEDS012
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: cedar
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/cedar/rules/
|
|
10
|
+
---
|
|
11
|
+
A permit that leaves the action scope unconstrained grants every action, including future ones
|
|
12
|
+
|
|
13
|
+
## Applies to
|
|
14
|
+
|
|
15
|
+
- [Policy](/types/Policy.md)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: AdminAction
|
|
4
|
+
description: cedar resource type App::Action::"admin"
|
|
5
|
+
name: AdminAction
|
|
6
|
+
lexicon: cedar
|
|
7
|
+
resource_type: App::Action::"admin"
|
|
8
|
+
---
|
|
9
|
+
`App::Action::"admin"`, a resource type of the cedar lexicon.
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- `breakGlass` (`Bool`)
|
|
14
|
+
- `mfa` (`Bool`)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: Application
|
|
4
|
+
description: cedar resource type App::Application
|
|
5
|
+
name: Application
|
|
6
|
+
lexicon: cedar
|
|
7
|
+
resource_type: App::Application
|
|
8
|
+
---
|
|
9
|
+
`App::Application`, a resource type of the cedar lexicon.
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- `name` (`String`)
|
|
14
|
+
- `owner` (`App::Team`)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: ApproveAction
|
|
4
|
+
description: cedar resource type App::Action::"approve"
|
|
5
|
+
name: ApproveAction
|
|
6
|
+
lexicon: cedar
|
|
7
|
+
resource_type: App::Action::"approve"
|
|
8
|
+
---
|
|
9
|
+
`App::Action::"approve"`, a resource type of the cedar lexicon.
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- `mfa` (`Bool`)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: CommentAction
|
|
4
|
+
description: cedar resource type App::Action::"comment"
|
|
5
|
+
name: CommentAction
|
|
6
|
+
lexicon: cedar
|
|
7
|
+
resource_type: App::Action::"comment"
|
|
8
|
+
---
|
|
9
|
+
`App::Action::"comment"`, a resource type of the cedar lexicon.
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- `mfa` (`Bool`)
|
|
14
|
+
- `reason` (`String`)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: CreateAction
|
|
4
|
+
description: cedar resource type App::Action::"create"
|
|
5
|
+
name: CreateAction
|
|
6
|
+
lexicon: cedar
|
|
7
|
+
resource_type: App::Action::"create"
|
|
8
|
+
---
|
|
9
|
+
`App::Action::"create"`, a resource type of the cedar lexicon.
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- `mfa` (`Bool`)
|
|
14
|
+
- `reason` (`String`)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: DeleteAction
|
|
4
|
+
description: cedar resource type App::Action::"delete"
|
|
5
|
+
name: DeleteAction
|
|
6
|
+
lexicon: cedar
|
|
7
|
+
resource_type: App::Action::"delete"
|
|
8
|
+
---
|
|
9
|
+
`App::Action::"delete"`, a resource type of the cedar lexicon.
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- `approvedBy` (`App::User`)
|
|
14
|
+
- `mfa` (`Bool`)
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: Document
|
|
4
|
+
description: cedar resource type App::Document
|
|
5
|
+
name: Document
|
|
6
|
+
lexicon: cedar
|
|
7
|
+
resource_type: App::Document
|
|
8
|
+
---
|
|
9
|
+
`App::Document`, a resource type of the cedar lexicon.
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- `classification` (`String`)
|
|
14
|
+
- `folder` (`App::Folder`)
|
|
15
|
+
- `owner` (`App::User`)
|
|
16
|
+
- `public` (`Bool`)
|
|
17
|
+
- `tags` (`Set<String>`)
|
|
18
|
+
- `title` (`String`)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: Folder
|
|
4
|
+
description: cedar resource type App::Folder
|
|
5
|
+
name: Folder
|
|
6
|
+
lexicon: cedar
|
|
7
|
+
resource_type: App::Folder
|
|
8
|
+
---
|
|
9
|
+
`App::Folder`, a resource type of the cedar lexicon.
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- `name` (`String`)
|
|
14
|
+
- `owner` (`App::User`)
|
|
15
|
+
- `tags` (`Set<String>`)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: Group
|
|
4
|
+
description: cedar resource type App::Group
|
|
5
|
+
name: Group
|
|
6
|
+
lexicon: cedar
|
|
7
|
+
resource_type: App::Group
|
|
8
|
+
---
|
|
9
|
+
`App::Group`, a resource type of the cedar lexicon.
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- `description` (`String`)
|
|
14
|
+
- `name` (`String`)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: ListAction
|
|
4
|
+
description: cedar resource type App::Action::"list"
|
|
5
|
+
name: ListAction
|
|
6
|
+
lexicon: cedar
|
|
7
|
+
resource_type: App::Action::"list"
|
|
8
|
+
---
|
|
9
|
+
`App::Action::"list"`, a resource type of the cedar lexicon.
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- `mfa` (`Bool`)
|
|
14
|
+
- `sourceIp` (`String`)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: Policy
|
|
4
|
+
description: A Cedar policy — the unit this lexicon serializes to .cedar text and the JSON policy format.
|
|
5
|
+
name: Policy
|
|
6
|
+
lexicon: cedar
|
|
7
|
+
resource_type: Cedar::Policy
|
|
8
|
+
---
|
|
9
|
+
A Cedar policy — the unit this lexicon serializes to .cedar text and the JSON policy format.
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- `effect` (`permit | forbid`)
|
|
14
|
+
- `principal` (`scope`)
|
|
15
|
+
- `action` (`scope`)
|
|
16
|
+
- `resource` (`scope`)
|
|
17
|
+
- `when` (`Set<expression>`)
|
|
18
|
+
- `unless` (`Set<expression>`)
|
|
19
|
+
- `annotations` (`Record<String, String>`)
|
|
20
|
+
|
|
21
|
+
## Governed by
|
|
22
|
+
|
|
23
|
+
- [CEDC011](/rules/CEDC011.md): Every when/unless condition expression in an emitted policy must parse as a Cedar expression
|
|
24
|
+
- [CEDC013](/rules/CEDC013.md): An emitted policy's @id annotation must match its policy id, and annotation values must be non-empty strings
|
|
25
|
+
- [CEDC014](/rules/CEDC014.md): An entity reference in a policy scope must be a well-formed Namespace::Type::\
|
|
26
|
+
- [CEDE010](/rules/CEDE010.md): Every emitted Cedar policy set validates clean against the project schema (cedar-wasm validate)
|
|
27
|
+
- [CEDE011](/rules/CEDE011.md): Cedar validation warnings (impossible policies, shadowed conditions) on an emitted policy set
|
|
28
|
+
- [CEDS010](/rules/CEDS010.md): A bare permit(principal, action, resource) with no scope constraints and no conditions grants everything
|
|
29
|
+
- [CEDS012](/rules/CEDS012.md): A permit that leaves the action scope unconstrained grants every action, including future ones
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: ReadAction
|
|
4
|
+
description: cedar resource type App::Action::"read"
|
|
5
|
+
name: ReadAction
|
|
6
|
+
lexicon: cedar
|
|
7
|
+
resource_type: App::Action::"read"
|
|
8
|
+
---
|
|
9
|
+
`App::Action::"read"`, a resource type of the cedar lexicon.
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- `mfa` (`Bool`)
|
|
14
|
+
- `sourceIp` (`String`)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: ServiceAccount
|
|
4
|
+
description: cedar resource type App::ServiceAccount
|
|
5
|
+
name: ServiceAccount
|
|
6
|
+
lexicon: cedar
|
|
7
|
+
resource_type: App::ServiceAccount
|
|
8
|
+
---
|
|
9
|
+
`App::ServiceAccount`, a resource type of the cedar lexicon.
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- `name` (`String`)
|
|
14
|
+
- `owner` (`App::User`)
|
|
15
|
+
- `rotatedAt` (`String`)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: ShareAction
|
|
4
|
+
description: cedar resource type App::Action::"share"
|
|
5
|
+
name: ShareAction
|
|
6
|
+
lexicon: cedar
|
|
7
|
+
resource_type: App::Action::"share"
|
|
8
|
+
---
|
|
9
|
+
`App::Action::"share"`, a resource type of the cedar lexicon.
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- `approvedBy` (`App::User`)
|
|
14
|
+
- `mfa` (`Bool`)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: Team
|
|
4
|
+
description: cedar resource type App::Team
|
|
5
|
+
name: Team
|
|
6
|
+
lexicon: cedar
|
|
7
|
+
resource_type: App::Team
|
|
8
|
+
---
|
|
9
|
+
`App::Team`, a resource type of the cedar lexicon.
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- `costCenter` (`String`)
|
|
14
|
+
- `name` (`String`)
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: User
|
|
4
|
+
description: cedar resource type App::User
|
|
5
|
+
name: User
|
|
6
|
+
lexicon: cedar
|
|
7
|
+
resource_type: App::User
|
|
8
|
+
---
|
|
9
|
+
`App::User`, a resource type of the cedar lexicon.
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- `department` (`String`)
|
|
14
|
+
- `email` (`String`)
|
|
15
|
+
- `level` (`Long`)
|
|
16
|
+
- `manager` (`App::User`)
|
|
17
|
+
- `mfaEnabled` (`Bool`)
|
|
18
|
+
- `roles` (`Set<String>`)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: WriteAction
|
|
4
|
+
description: cedar resource type App::Action::"write"
|
|
5
|
+
name: WriteAction
|
|
6
|
+
lexicon: cedar
|
|
7
|
+
resource_type: App::Action::"write"
|
|
8
|
+
---
|
|
9
|
+
`App::Action::"write"`, a resource type of the cedar lexicon.
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- `mfa` (`Bool`)
|
|
14
|
+
- `reason` (`String`)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-cli.d.ts","sourceRoot":"","sources":["../src/package-cli.ts"],"names":[],"mappings":""}
|
package/dist/plugin.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAkD,MAAM,0BAA0B,CAAC;AAuB9G;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,aA2RzB,CAAC"}
|