Commit Graph
236 Commits
Author SHA1 Message Date
Jeff Mitchell e91c4cbfe2 Remove support for 'id' field in grants (#4290) 2024-01-25 15:58:55 -05:00
Louis Ruch 7921ce22fd test(grant): Use ID to validate version check (#4274)
* test(grant): Use ID to validate version check

* Update docs from id to ids

* Remove 'id' in 0.16.0
2024-01-25 13:27:22 -05:00
f5dd457b34 Multiple grant scope IDs (#4251)
Co-authored-by: Timothy Messier <tim.messier@gmail.com>
Co-authored-by: Todd <github@quaddi.com>
2024-01-23 14:33:09 -05:00
Jeff Mitchell 3414e09cbb Remove announced deprecated code allowing ports in target addrs (#4265)
We made it an error in the API to do this a while back; this cleans up
the logic to disallow it for existing targets too.
2024-01-22 13:49:17 -05:00
Louis Ruch 22fcf8a2ba Projects do not have perm to attach/detach policy 2024-01-19 09:39:13 -08:00
Jeff Mitchell 253d79116c Swap id field in grants to ids since that's now standardized (#4250)
* Swap id field in grants to ids since that's now standardized

* Fix some tests I missed

* Update generated resource table
2024-01-17 23:54:49 -08:00
Damian Debkowski 2dda19aafe fix: reapply-storage-policy 2024-01-16 13:53:44 -08:00
Louis Ruch f26243e9af feat(recording): Delete Session Recording 2024-01-16 13:53:44 -08:00
Damian Debkowski 0a853c2262 feat(handler): reapply storage policy unimplemented 2024-01-16 13:53:44 -08:00
Johan Brandhorst-Satzkorn 07be75b7be internal/handlers: add pagination to storage policies 2024-01-16 13:53:44 -08:00
Johan Brandhorst-Satzkorn b454b28912 internal/handlers: add policy list resource type 2024-01-16 13:53:44 -08:00
Louis Ruch 45de26bfe9 feat(scope): Add API for Attach/Detach StoragePolicy to scope 2024-01-16 13:53:44 -08:00
Damian Debkowski 6ca1bc3c3f feat(handlers): utilize service func for scope service 2024-01-16 13:53:44 -08:00
Hugo edbb33de5b feat(handlers): Implement Policy Service
This also includes adding new grant and type primitives, as well as
package domain names.
2024-01-16 13:53:43 -08:00
Johan Brandhorst-Satzkorn 3daa55b913 internal/handlers: add scope list pagination 2024-01-05 07:43:21 -08:00
Michael Milton 52b1c1b4c7 Managed group list pagination (#4208)
* wip

* managed groups pagination

* address PR comments

* missed one change
2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn b7e474d277 internal/handlers: add accounts pagination 2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn f38c79a5ce internal/handlers: add host catalog pagination 2024-01-05 07:43:21 -08:00
Todd 40d9c3fd1d Paginate iam groups (#4194) 2024-01-05 07:43:21 -08:00
Michael MiltonandMichael Gaffney 8d50a0913f Auth Method list pagination (#4165)
* wip

* implement list pagination for auth methods

* remove unused code

* update tests to fix sorting

* address PR comments

* simplify query, add token tests

* change test name

* wip sql testing

* add boolean column to indicate whether auth methods should be returned to unauthenticated users, remove secrets from api response

* is_active_public not null

* remove secrets and unwrapping

* move not null to immediately after data migration

* order public_id descending

* fix(db): Fix auth method migrations (#4193)

* wip

* fix db tests

* fix failing api tests

* reverse order of create time and update time in test

---------

Co-authored-by: Michael Gaffney <mike@gaffney.cc>
2024-01-05 07:43:21 -08:00
Todd 0fad770d8a Paginate iam user (#4185)
* paginate iam user
2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn 050bcdfec9 handlers/host_sets: implement pagination for host sets
Adds protobuf types and handler logic to support pagination of host sets.
2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn f29d559d60 handlers/session_recordings: add pagination support 2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn 24130c4313 handlers/storage_buckets: add pagination fields 2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn 597ac645b2 internal/handlers: fix some comments 2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn f89e53d5f0 internal/handlers: tidy up test times 2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn 17b6ad5c5c handlers/hosts: implement pagination for hosts
Adds protobuf types and handler logic to support pagination of hosts.
2024-01-05 07:43:21 -08:00
Todd 5aa560387c Add pagination for iam Roles (#4161)
* Add pagination for iam Roles
2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn df93313b9a all: fix test failures after rebase
The stability of the authorized_actions have been removed in main,
so we need to add these sorts to all our new tests.
2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn 0259f2f26b internal/handlers: add credential store pagination 2024-01-05 07:43:20 -08:00
Todd 3558589c90 Return and consume InvalidListToken error code (#4141)
* Return and consume InvalidListToken error code
2024-01-05 07:43:20 -08:00
Todd 2d18f82c9f Rename refresh token errors to list error (#4138) 2024-01-05 07:43:20 -08:00
Todd b2fec2e4f0 Store and use refresh tokens in the client cache (#3857)
* Refresh resources using refresh tokens
2024-01-05 07:43:20 -08:00
Michael Milton 6ba3676c37 Auth token pagination (#4113)
* Add pagination support for auth tokens

* change analyze count estimate comment

* adjust queries for efficiency and security

* even more efficient queries
2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 6b03363eb8 internal/handlers: add credential library pagination 2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 9f6ac602ee internal/handlers: add credential pagination support 2024-01-05 07:43:20 -08:00
Michael Milton 9c3eb16046 Sessions list pagination (#4079)
* Session list pagination refactor

* address pr comments, add explanatory comments, clean up sql queries, move tests into proper files

* fix build error

* fix test error
2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 575e9641f8 Some pagination tweaks (#4074)
* internal/target: fix some target tests

We had dupes and missing test cases, this fixes them.

* internal/handlers: move listtoken parsing into helper

This significantly simplifies the parsing logic needed in each handler.
2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 00c4f825c7 handlers/targets: refactor for new pagination design
Refactor the application layer to use the new domain layer
pagination functionality.
2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn f062a8cd75 internal/handlers: add list token helpers
Mostly a rename from refresh token, but also a new helper
for assembling the final list token.
2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 5984f5bba6 handlers/targets: add pagination support 2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn a5b24e79b9 handlers: add refresh token helpers
Helpers for parsing, marshalling and converting types
to domain types.
2024-01-05 07:43:19 -08:00
Elim Tsiagbey 053421600d feat(oidc-prompts): Add Validation for Prompts (#4130)
Add validation to prevent "none" from being combined with multiple prompts.

- Valid `["none"]`
- Invalid `["none", "select_account"]`
- Valid `["consent", "select_account"]`
2023-12-08 09:51:54 -05:00
Timothy Messier a7730b02ac test(host_catalog): Fix flaky assertion 2023-12-04 21:38:31 +00:00
Timothy Messier 51adde4b2c feat(handlers): Register actions for each resource type
This registers the ActionSets for each resource when the handler
packages are initialized. This then allows other packages to retrieve
the ActionSets for a given resource from the action package.

The initial consumer of this will be the ratelimit package so that it
can programmatically enumerate all of the valid combinations of a
resource and action.

This leaves a number of TODO to refactor the handler packages to also
retrieve the action sets from the registered actions instead of using a
package variable. This is left as a TODO since there is some
inconsistencies in how these package variables are used between the
handlers. For example a number of packages use a map of subtypes to
ActionSets which is then used withing the handler implementation. Others
use a map, but don't seem to use it at all. And others just use an
ActionSet.
2023-12-04 16:20:29 +00:00
Timothy Messier c52caae345 refact(action): Make ActionSet behave as a set instead of a list
This switches the implementation of an ActionSet from a slice to a map
to ensure the elements in an ActionSet are unique. This allows for other
packages to perform set operations such as a union or difference without
needing to account for duplicates.
2023-12-04 16:20:29 +00:00
Jim 798e86cefe tests (ldap managed groups): extend tests to include ldap grps for GrantsForUser(...) (#3972)
* chore (managed groups): just a small rename to improve readability

* test (aut/ldap): add a test for user grants based on ldap grp

* tests (role grant): extend TestGrantsForUser(...) to cover ldap grps

* refact (iam.(Repository).GrantsForUser): more readable grantsQuery

Convert existing CTE to use sub-selects for readability
2023-11-29 16:29:36 -05:00
Johan Brandhorst-Satzkorn a89573b35f subtypes,handlers: add runtime trace regions (#4060)
* subtypes,handlers: add runtime trace regions

The subtype.Filterable and handlers.ProtoToStruct functions
are costly and worth measuring whenever runtime tracing
is in use. This has almost no cost when tracing is not in use,
so there's little harm in having them in place.

* testing: Add TRACING.md

TRACING.md contains information about how to perform
Go runtime tracing of the Boundary application.
2023-11-27 13:37:04 -08:00
Elim Tsiagbey 8b8d2822df feat(oidc): OIDC Prompt (#4053)
Boundary OIDC method does not currently support passing in prompts during authentication. This change adds the capability of passing OIDC prompts. Prompts are optional OIDC parameters that determine the behaviour of the authentication server: https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest

## Changes

- New `auth_oidc_prompt` table which contains all the prompts for OIDC auth method
- New `auth_oidc_prompt_enm` table which contains possible enum values for a prompt
  - Currently supported:
    - `none`: 
The Authorization Server MUST NOT display any authentication or consent user interface pages
    - `login`: The Authorization Server SHOULD prompt the End-User for reauthentication
    - `consent`: The Authorization Server SHOULD prompt the End-User for consent before returning information to the Client
    - `select_account`: The Authorization Server SHOULD prompt the End-User to select a user account
- `oidc_auth_method_with_value_obj` view has been updated to return `prompt` value
- Add `prompt` option for OIDC auth method CLI create and update
- Pass configured prompt during OIDC authentication
- Add `prompt` API validation for create and update
2023-11-21 11:30:02 -05:00
b6df5693b5 Add generic read/update/delete commands (#3992)
* Add generic read/update/delete commands

This adds three generic commands that use the resource prefix to
determine the subcommand to run and pass through args over to that
subcommand. Since this occurs very early on and to avoid loading
essentially every internal resource package, I moved subtype definitions
to globals.

This replaces #3967

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

* De-duplicate Subtype code (#4031)

Co-authored-by: Timothy Messier <tim.messier@gmail.com>

---------

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
Co-authored-by: Timothy Messier <tim.messier@gmail.com>
2023-11-15 19:55:46 -05:00