Caleb Doxsey
6a833b365a
core/ppl: add groups criterion ( #4916 )
...
* core/ppl: add groups criterion
* remove dead code
* add additional test
2024-01-30 09:40:15 -07:00
Kenneth Jenkins
acbad4fb96
policy: add client cert SAN match criteria ( #4913 )
...
Expand the Certificate Matcher to support matching on DNS, email, or URI
Subject Alternative Names, using the existing String Matcher conditions.
2024-01-24 16:05:22 -08:00
Caleb Doxsey
24b04bed35
core/opa: update for rego 1.0 ( #4895 )
...
* core/opa: update headers rego script
* core/opa: update ppl
* further updates
2024-01-16 09:43:35 -07:00
Caleb Doxsey
a2fd95aae6
core/ci: update linting ( #4844 )
...
* core/ci: update linting
* re-add exportloopref
* re-add gocheckcompilerdirectives
* re-add stylecheck
* re-add usestdlibvars
* upgrade lint
---------
Co-authored-by: Denis Mishin <dmishin@pomerium.com>
2023-12-14 09:07:54 -08:00
Kenneth Jenkins
ac475f4c5d
ppl: add new client certificate criterion ( #4448 )
...
Add a new client_certificate criterion that accepts a "Certificate
Matcher" object. Start with two certificate match conditions:
fingerprint and SPKI hash, each of which can accept either a single
string or an array of strings.
Add new "client-certificate-ok" and "client-certificate-unauthorized"
reason strings.
2023-08-09 09:47:23 -07:00
Kenneth Jenkins
8401170443
authorize: add "client-certificate-required" reason ( #4389 )
...
Add a new reason "client-certificate-required" that will be returned by
the invalid_client_certificate criterion in the case that no client
certificate was provided. Determine this using the new 'presented' field
populated from the Envoy metadata.
2023-07-25 10:03:51 -07:00
Kenneth Jenkins
4698e4661a
authorize: omit client cert rule when not needed ( #4386 )
...
Currently we always add an invalid_client_certificate deny rule to all
PPL policies. Instead, let's add this rule only when a client CA is
configured. This way, if a user is not using client certificates at all,
they won't see any reason strings related to client certificates in the
authorize logs.
Change the "valid-client-certificate-or-none-required" reason string to
just "valid-client-certificate" accordingly.
Pass the main Evaluator config to NewPolicyEvaluator so that we can
determine whether there is a client CA configured or not. Extract the
existing default deny rule to a separate method. Add unit tests
exercising the new behavior.
2023-07-24 15:27:57 -07:00
Caleb Doxsey
d315e68335
Merge pull request from GHSA-pvrc-wvj2-f59p
...
* authorize: use route id from envoy for policy evaluation
* authorize: normalize URL query params
* config: enable envoy normalize_path option
* fix tests
---------
Co-authored-by: Kenneth Jenkins <51246568+kenjenkins@users.noreply.github.com>
2023-05-26 13:34:21 -07:00
Caleb Doxsey
bbed421cd8
config: remove source, remove deadcode, fix linting issues ( #4118 )
...
* remove source, remove deadcode, fix linting issues
* use github action for lint
* fix missing envoy
2023-04-21 17:25:11 -06:00
Caleb Doxsey
76a7ce3a6f
authorize: allow access to /.pomerium/webauthn when policy denies access ( #4015 )
2023-02-27 09:49:06 -07:00
Caleb Doxsey
c86ca6f76f
webauthn: require session when accessing /.pomerium/webauthn ( #3814 )
...
* webauthn: require session when accessing /.pomerium/webauthn
* remove dead code
* remove unusued PomeriumDomains field
2022-12-16 10:59:21 -07:00
Caleb Doxsey
b375dc4896
jwt: require logged in user to return .pomerium/jwt ( #3807 )
...
* jwt: require logged in user to return .pomerium/jwt
* fix test
* update test
2022-12-13 13:49:36 -07:00
Caleb Doxsey
c178819875
move directory providers ( #3633 )
...
* remove directory providers and support for groups
* idp: remove directory providers
* better error messages
* fix errors
* restore postgres
* fix test
2022-11-03 11:33:56 -06:00
dependabot[bot]
ec495bb682
chore(deps): bump github.com/golangci/golangci-lint from 1.48.0 to 1.50.0 ( #3667 )
...
* chore(deps): bump github.com/golangci/golangci-lint
Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint ) from 1.48.0 to 1.50.0.
- [Release notes](https://github.com/golangci/golangci-lint/releases )
- [Changelog](https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md )
- [Commits](https://github.com/golangci/golangci-lint/compare/v1.48.0...v1.50.0 )
---
updated-dependencies:
- dependency-name: github.com/golangci/golangci-lint
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* lint
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Caleb Doxsey <cdoxsey@pomerium.com>
2022-10-19 09:36:59 -06:00
Caleb Doxsey
de804edc19
ppl: support special characters in claim keys ( #3639 )
...
* ppl: support special characters in claim keys
* fix test
2022-10-03 07:35:18 -06:00
Caleb Doxsey
25a7afd6e6
ppl: support . in object_get paths ( #3263 )
2022-04-11 09:24:39 -06:00
dependabot[bot]
9916db2ed7
chore(deps): bump github.com/open-policy-agent/opa from 0.35.0 to 0.36.0 ( #2911 )
...
* chore(deps): bump github.com/open-policy-agent/opa from 0.35.0 to 0.36.0
Bumps [github.com/open-policy-agent/opa](https://github.com/open-policy-agent/opa ) from 0.35.0 to 0.36.0.
- [Release notes](https://github.com/open-policy-agent/opa/releases )
- [Changelog](https://github.com/open-policy-agent/opa/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-policy-agent/opa/compare/v0.35.0...v0.36.0 )
---
updated-dependencies:
- dependency-name: github.com/open-policy-agent/opa
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* fix tests
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Caleb Doxsey <cdoxsey@pomerium.com>
2022-01-14 12:13:33 -07:00
Caleb Doxsey
5b9a981191
handle device states in deny block, fix default device type ( #2919 )
...
* handle device states in deny block, fix default device type
* fix tests
2022-01-11 11:56:54 -07:00
Caleb Doxsey
2d04106e6d
ppl: add support for http_path and http_method ( #2813 )
...
* ppl: add support for http_path and http_method
* fix import ordering
2021-12-10 07:28:51 -07:00
Caleb Doxsey
3497c39b9b
authorize: add support for webauthn device policy enforcement ( #2700 )
...
* authorize: add support for webauthn device policy enforcement
* update docs
* group statuses
2021-10-25 09:41:03 -06:00
Caleb Doxsey
6e48627b4d
ppl: add support for additional data ( #2696 )
...
* ppl: add support for additional data
* remove unused NewCriterionDeviceRule
2021-10-22 12:32:20 -06:00
Caleb Doxsey
efffe57bf0
ppl: pass contextual information through policy ( #2612 )
...
* ppl: pass contextual information through policy
* maybe fix nginx
* fix nginx
* pr comments
* go mod tidy
2021-09-20 16:02:26 -06:00
Caleb Doxsey
eca2fc62d8
ppl: use session.user_id instead of user.id for user criterion ( #2562 )
...
* ppl: use session.user_id instead of user.id for user criterion
* fix test
2021-09-03 07:53:00 -06:00
Caleb Doxsey
6af0655206
protoutil: add NewAny method for deterministic serialization ( #2462 )
2021-08-09 17:51:57 -06:00
Caleb Doxsey
1a95036b8c
sessions: add impersonate_session_id, remove legacy impersonation ( #2407 )
...
* sessions: add impersonate_session_id, remove legacy impersonation
* show impersonated user details
* fix headers
* address feedback
* only check impersonate id on non-nil pbSession
* Revert "only check impersonate id on non-nil pbSession"
This reverts commit a6f7ca5abd
.
2021-07-30 08:42:36 -06:00
Caleb Doxsey
c34118360d
ppl: remove support for aliases ( #2400 )
2021-07-27 12:29:42 -06:00
Caleb Doxsey
21ffe44dff
authorize: support boolean deny results ( #2338 )
...
* authorize: support boolean deny results
* add client certificate test
* handle different array lengths
2021-07-06 12:52:26 -06:00
Caleb Doxsey
11a619390a
ppl: fix not/nor rules ( #2313 )
...
* ppl: fix not/nor rules
* use set comprehension with count
2021-06-25 05:41:24 -06:00
Caleb Doxsey
96b9702ee3
ppl: add data type, implement string and list matchers ( #2228 )
...
* ppl: add data type, implement string and list matchers
* update policy converter
2021-05-21 11:28:41 -06:00
Caleb Doxsey
bdccd4f785
ppl: bubble up values, bug fixes ( #2213 )
2021-05-18 14:01:36 -06:00
Caleb Doxsey
e138054cb9
Pomerium Policy Language ( #2202 )
...
* policy: add parser and generator for Pomerium Policy Language
* add criteria
* add additional criteria
2021-05-17 15:30:51 -06:00