Commit Graph
288 Commits
Author SHA1 Message Date
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
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 b7739cd214 chore: generated files 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
Damian Debkowski 50990d1b19 chore: generated files 2024-01-16 13:53:44 -08:00
Hugo 1c3b1b42f7 feat(proto): Create Policy SDK and API Service (#793) 2024-01-16 13:53:41 -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 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 0259f2f26b internal/handlers: add credential store pagination 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 eca27b00c9 internal/proto: rename refresh token to list token 2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn e2fd8f9701 internal/proto: refactor list proto definitions
This aligns it more with the new domain use.
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 84e5b9401d proto: add pagination Refresh Token
The ListRefreshToken type is used, in its marshalled form,
for pagination requests. A new refresh token is returned
which each invocation of a list method (unless
there was no input refresh token and there were no results).
2024-01-05 07:43:19 -08:00
Jeff Mitchell de4ce93931 Update main module deps (#3971) 2023-11-01 16:21:17 -04:00
daniandDanielle Miu a7c1876d7b remove deprecated option application-credential-source (#3728)
Co-authored-by: Danielle Miu <29378233+DanielleMiu@users.noreply.github.com>
2023-09-22 15:58:18 -04:00
Sepehr 16d86d601a Add additional observation tags, remove from version and authorized_action 2023-09-22 11:31:42 -04:00
Sepehr 14af8e8cd7 observation tags proto messages 2023-09-22 11:31:42 -04:00
Jim d5411a26f6 chore: update protobuf dep (#3669) 2023-09-05 13:10:03 -04:00
hashicorp-copywrite[bot]andJohan Brandhorst-Satzkorn 29da0bcb92 [COMPLIANCE] License changes (#3567)
* Adding explicit MPL license for sub-package.

This directory and its subdirectories (packages) contain files licensed with the MPLv2 `LICENSE` file in this directory and are intentionally licensed separately from the BSL `LICENSE` file at the root of this repository.

* Adding explicit MPL license for sub-package

This directory and its subdirectories (packages) contain files licensed with the MPLv2 `LICENSE` file in this directory and are intentionally licensed separately from the BSL `LICENSE` file at the root of this repository.

* Updating the license from MPL to Business Source License

Going forward, this project will be licensed under the Business Source License v1.1. Please see our blog post for more details at https://hashi.co/bsl-blog, FAQ at www.hashicorp.com/licensing-faq, and details of the license at www.hashicorp.com/bsl.

* Update copyright file headers to BUS-1.1

* Rerun make gen

This will pick up the last of the license changes

* Revert "Rerun make gen"

This reverts commit dbe0968bffd92745d8663c6940debae098395a6b.

* Remove copywrite from generation script

The current version of copywrite is not sophisticated enough
to only apply the copywrite changes to certain subdirectories,
so to avoid accidentally relicensing our api and sdk modules,
we will stop running the copywrite script until such time
that it can do the right thing.

* License protobuf API as MPL

The protobuf API files are used to generate the SDK,
since we want the SDK to be MPL, the protobuf files
must also be MPL. This extends to all protobuf files
whose sources end up in the SDK directory, including:

- internal/proto/controller/api
- internal/proto/controller/custom_options
- internal/proto/plugin

It also includes the generated service directory in
internal/gen/controller/api/services, since they are
generated from the protobuf sources used for the SDK.

* Change website license file name

This makes the naming scheme consistent with the rest
of the repository.

* Add note on licensing to README

* Set copywrite license to BUSL

* Revert "Add note on licensing to README"

This reverts commit 4d865a91a7a4f11605f0dc4609355d7e3c3cfffe.

---------

Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
2023-08-11 10:31:53 -07:00
Johan Brandhorst-Satzkorn e4f49e1bb0 api: add classification to session recordings (#3300) 2023-06-08 23:01:39 -07:00
Johan Brandhorst-Satzkorn 0c8177590f Upgrade grpc-gateway dependency (#3257)
* proto: correct classification of authz token

The target authorization token had the invalid classification
"private". Fortunately, classification is a fail-closed system,
so this won't have exposed users authorization tokens, but
we should still use the correct classification. Use "secret".

* scripts: add Go script to remove gotags comments

The new version of grpc-gateway includes our gotags
comments in the generate swagger documentation. This
script removes all mentions of these.

* Upgrade grpc-gateway dependency

Mainly we need this to fix generation of our docs side API docs,
but it also includes a nice fix for the new Download RPC, i.e. it
now contains the correct response schema (a binary stream).
2023-06-01 06:41:09 -07:00
Louis Ruch 8ea61054cd feat(storage): Add support for Storage Bucket API 2023-05-31 12:18:14 +00:00
Todd bc48f2d0e0 Add monitor session job proto and controller changes
This adds a new Job type that is for generic session state monitoring.  Monitoring sessions does not include any information about specific connections.
2023-05-31 12:18:12 +00:00
Todd 4c801cca18 update the recording msg type enums 2023-05-31 12:18:12 +00:00
Todd dbe3473874 Add CreateChannel enum for upstream message handler 2023-05-31 12:18:11 +00:00
Todd 68dc4da50e Add CloseConnectionRecording enums to the upstream message service 2023-05-31 12:18:11 +00:00
Johan Brandhorst-Satzkorn 7632143861 add session recording API definitions 2023-05-31 12:18:10 +00:00
Jim b9cc441227 feature (handlers): add UpstreamMessageService and its oss impl.
Define OSS protos for UpstreamMessageService rpc which defines a way
to send an upstream message to a controller (across multi-hops if
needed).

Implement OSS versions of both workers and controllers for the
UpstreamMessageService. The upstream requests/responses are encrypted
using the originating worker's NodeCredential's key.

The worker always forwards the request upstream.

The controller attends to find a registered UpstreamMessageHandler to
handle the msg; if none if found, then an Unimplemented status error
is returned.
2023-05-31 12:18:09 +00:00
Jeff Mitchell 7bdbe8ab8e Update changelog (#3250) 2023-05-30 16:16:31 -04:00
Jeff Mitchell c149bc4a79 Allow slashes in authorize-session when using target name (#3249)
This requires specifying `**` as the selector in the proto, which will
match any segments and simply requires that the verb is the last part of
the URL, which it already is.
2023-05-30 16:03:27 -04:00
Jim 63a2b62b85 chore (deps): update GKW and protobuf; and run "make gen" (#3111) 2023-03-22 14:32:52 -04:00
Jim 982c9c263c chore: update buf version to 1.15.1 (#3102) 2023-03-20 10:37:40 -04:00
Jim 86192f75eb feature (auth/ldap): add LDAP auth method along with associated accounts and managed groups (#2912)
* feature (auth): required schema changes for auth ldap method (#2669)

chore (auth/ldap): move schema changes to next avail migration number

* feature (auth/ldap): define AuthMethod and all its value objects (#2703)

* feature (auth/ldap): storage protos
* feature (auth/ldap): define AuthMethod and all its value objects

* feature (auth/ldap): add repo and reading an auth method (#2718)

* feature (auth/ldap): add Repository.CreateAuthMethod(...) and Repository.DeleteAuthMethod(...) (#2724)

* feature (auth/ldap): add Repository.UpdateAuthMethod(...) (#2739)

* feature (auth/ldap): add Account

* feature (auth/ldap): add AuthMethod.EnableGroups

* fix (auth/ldap): refactor AuthMethod.oplog to enforce proper constraints

* feature (auth/ldap): add Account repo functions

* refactor (auth/ldap): remove entry attributes from account

Realized the entry attributes could have absolutely anything in them
(including binary data) and since we absolutely don't have to have them
there's just no reason to take on the risk.

* feature (auth/ldap): add AuthMethod.UseTokenGroups

* feature (auth/ldap): add Authenticate(...)

* refactor (auth/ldap): ensure options take a context as the 1st parameter

* feature (auth/ldap): add Account attribute maps

* chore (auth/ldap): make fmt deltas

* feature (auth/ldap): add managed groups (#2760)

* tests (auth/ldap): add missing unit test to Repository.DeleteAccount(...)

Add bits to test the delete operation when you're not able to generate
oplog metadata

* feature (auth/ldap): add managed groups

fixup! feature (auth/ldap): add managed groups (#2760)

* feature (auth/ldap): service proto definition (#2761)

* feature (handlers/authmethods): add handlers for ldap auth method operations (#2794)

* feature (auth/ldap): add Account attribute maps

* chore (auth/ldap): update cap/ldap to latest version

* feature (auth/ldap): add ldap api generation definitions

* feature (authmethods): add ldap repo NewService(...)

* feature (authmethods/ldap): add proper mask_mapping to protobufs

* feature (authmethods): add support to get an ldap auth method

* refactor (auth/ldap): export TestGenerateCA(...)

* feature (authmethods): add support to create an ldap auth method

* feature (authmethods): add support to delete an ldap auth method

* feature (authmethods): add support to list ldap auth methods

* refactor (auth/ldap): make urls optional for NewAuthMethod(...)

* refactor (auth/ldap): export ldap.TestInvalidPem

* chore: make fmt changes

* fix (auth/ldap): properly handle group search config

Add constraints and tests to ensure when an ldap AuthMethod.EnableGroups
is true, and UseTokenGroups is false; that there's a GroupDn configured
for finding a user's associated groups

* feature (authmethods): add support to update an ldap auth methods

* chore (db/ldap): tmp mv migrations so there's no conflict with ongoing work

* feature (verifier): add ldap auth method to verifier bits

* fix (controller): prevent panic when controller stops when there's no listener

* feature (authmethods): add support to authenticate via ldap auth methods

* chore (migrations): fix whitespace in stmt

* chore: fmt fixup

* tests (auth/ldap): invalid err msg

* feature (cli/authmethods): add support for ldap auth-methods CRUD and authenticate (#2810)

* feature (authmethods): add CLI support for ldap auth methods CRUD

* tests (api/auth): ldap auth method classification tests

* feature (authmethods): add CLI support for ldap auth authenticate

* feature (auth/ldap): set request timeouts for ldap server connections

* feature (handlers/authmethods): handle u_anon listing properly.

* feature (account/handers): ldap account and managed group CRUDL APIs (#2852)

* feature (auth/ldap) add repository Listing of ManagedGroupMemberAccount

* feature (controller/handlers): add ldapRepoFn to accounts service

* feature (auth/ldap) register ldap managed group subtype

* feature (account/handlers): ldap account CRUDL APIs

* feature (controller/handlers): add ldapRepo to managed groups service

* feature (account/handlers): ldap managed group CRUDL APIs

* docs (domain): add LDAP accounts, auth-methods and managed groups (#2857)

* feature (ldap/cli) add ldap accounts and managed groups CRUDL commands (#2856)

* fix (handlers/authmethods): fix ldap authorized actions (#2892)

* feature (cli/ldap/authenticate): use primary auth method if none is provided (#2890)

* fix (auth/ldap): support setting the state attribute

* feature (cli/ldap/authenticate): use primary auth method if none is provided

* feature (wh/ldap) add tests for new ldap auth method and accounts (#2919)

* refactor (migrations/ldap): mv to correct directory

* chore: add copyright headers

* fix (api/authmethods/ldap): renumber new LdapAuthMethodAttributes field

* fix (auth/ldap): allow the auth method state to be updated (#2951)

* chore: update sdk and api versions for llb - this is tmp until merging

* tests (managed groups): add required errContains for new test
2023-03-15 11:40:40 -04:00
Todd fe5b554370 AuthorizedDownstreamWorkers now separated from AuthorizedWorkers to maintain API compatibility (#2957)
* AuthorizedDownstreamWorkers now separated from AuthorizedWorkers to maintain API compatibility
2023-02-13 13:52:25 -08:00