Commit Graph
371 Commits
Author SHA1 Message Date
Jeff Mitchell f8237fb945 Move some packages into SDK, out of internal 2020-09-09 01:24:25 -04:00
Jeff Mitchell 36f975a952 Add some recovery KMS functions needed for external clients (#339) 2020-09-09 01:15:29 -04:00
Jeff Mitchell f94f21fd97 Update API codes (#336) 2020-09-08 23:57:26 -04:00
Todd Knight 99d5456d7a Scopes type field and types in updates allowed (#335) 2020-09-08 16:04:19 -07:00
Todd Knight c3ecea172d Generate new version of SDK resources and Add Tests (#331) 2020-09-08 16:27:51 -04:00
Jim 96e4b1cdba add option db.WithSkipVetForWrite(true) so the db tests don't get intercepted by app validation (#332) 2020-09-07 13:20:49 -04:00
Todd Knight 1c2c078e0a Adding Authz checks that support new pathing (#328) 2020-09-04 14:48:11 -07:00
Jim 3d944a616f fix name typo (#330) 2020-09-04 17:11:51 -04:00
Jeff Mitchell 26ac00e67b Fix asset generation.
Apparently now it's not recursive?
2020-09-04 16:27:51 -04:00
Jeff Mitchell 23156afa11 Add in most of the proxy flow (#326) 2020-09-03 13:24:34 -04:00
Jeff Mitchell 1822c47ef5 Migrate KMS code to the new database DEKs (#324) 2020-09-03 13:23:46 -04:00
Todd Knight c55153ff3d Fix allowed scope checks and added tests for creating in global scope. (#327) 2020-09-03 08:02:30 -07:00
Michael Gaffney 4ae3a52056 Define session database schema (#322)
* Define session database schema

* Update comments

* Add insert trigger for session state

* Add canceling state and update foreign keys to 'set null' on delete
2020-09-03 10:49:27 -04:00
Todd Knight 37e56ab46b Pathing updated to support new and old styles (#323) 2020-09-02 19:43:41 -07:00
Jeff Mitchell 2a98432143 Fix test build 2020-09-02 21:40:34 -04:00
Jeff Mitchell cad7bb3ead Don't use 2 suffix when only new style is enabled (#325) 2020-09-02 21:23:43 -04:00
Todd Knight 5553fd989f Host Set and Target SDK Generation using new Pathing (#320)
* Adding new style template starts.

* Host-set crud changes generated and tested.

* Add templates for every resource with the new pathing.  Only host-sets has testing or the backed pathing.

* Only generate new style API if requested in the input.  Have disabling old be opt in.
2020-09-02 12:31:30 -07:00
Jim f29869b715 support for additional deks: oplog, session and token and new CreateKeysTx() (#321) 2020-09-02 14:37:19 -04:00
Jeff Mitchell ee35a92f7f Fix space issue in protobuf that apparently doesn't matter? Also apparently postgres migrations weren't run. 2020-09-02 13:38:07 -04:00
Jim f3dd62d5d8 database DEKs (#317) 2020-09-02 07:42:03 -04:00
Todd Knight 544e78b593 Target Handler and SDK CRUDL & add|set|remove-host-sets methods. (#310) 2020-09-01 15:05:46 -07:00
Todd Knight 24ec9620ca fix: Correct missed name updates to OutgoingInterceptor. 2020-09-01 10:08:18 -07:00
Jeff Mitchell c4522aa813 Update host sets and auth system to new paradigm (#319) 2020-09-01 12:31:54 -04:00
Todd Knight 0aba6db720 Enable Split Cookies (#318) 2020-09-01 09:23:41 -07:00
Jeff Mitchell a4c20164f3 Add add/remove/set hosts functions to host-sets command (#316) 2020-08-31 10:06:21 -04:00
Jim 09112d1e96 refactor and remove kms/common pkg (#315) 2020-08-29 19:06:21 -04:00
Jeff Mitchell 514856c020 Fix broken CLI output 2020-08-28 15:58:15 -04:00
Jeff Mitchell b8c8d29008 Switch ordering of CLI create/update vs static commands (#314) 2020-08-28 13:31:20 -04:00
Jeff Mitchell 1f065316ee Initial (#313) 2020-08-28 01:28:26 -04:00
Jeff Mitchell 20aef738c4 Add host-catalogs CLI command. (#312) 2020-08-28 00:17:09 -04:00
Jeff Mitchell 17ecb6f2ce Separate accounts/host catalogs/host sets into their own packages (#311) 2020-08-27 20:43:33 -04:00
Jeff Mitchell 936c970635 Remove unneeded and breaking test 2020-08-27 18:41:52 -04:00
Jeff Mitchell 28df6eb7b0 Update config encrypt/decrypt CLI command (#309)
This updates the command to our emergent standards. It also enables
using a separate config file for a config kms, which allows non-string
values to be encrypted.

This allowed some nice cleanup as well.
2020-08-27 16:38:44 -04:00
Jeff Mitchell 274afa6b02 Shave off an IAM lookup if the user is the anonymous user (#305)
* Shave off an IAM lookup if the user is the anonymous user

* Fix build

* If authz failures are turned off, make the token type unknown instead of invalid

* Change returned token format when authz failures are disabled

* Change logic back

* Fix logic
2020-08-26 23:28:38 -04:00
Jeff Mitchell b53812a5c1 Add ability to skip automatic auth method creation (#306)
This is useful if you, for instance, want Terraform to be 100%
responsible for creation of resources (outside of the static ones that
cannot be removed or modified, like u_anon). This will mean using the
recovery mechanism for initial setup, but that isn't an issue once TF
supports that :-)
2020-08-26 23:27:46 -04:00
Jeff Mitchell 490be8a7e4 Add ability to skip role creation on scope create (#308)
* Initial work on scope creation skipping

* Fix things
2020-08-26 23:27:25 -04:00
Todd Knight e4da5e9ab5 add|set|remove-hosts for host-sets SDK and API (#304)
* Adding ability to add host set members.

* Adding SDK and API for add|set|remove hosts.
2020-08-26 11:04:26 -07:00
Jim fcb61d4b67 targets repo (#298) 2020-08-26 13:58:46 -04:00
Michael Gaffney 58dec98ea2 Rename table from servers to server (#307) 2020-08-26 13:15:12 -04:00
Michael Gaffney 9ca8a4ec20 Host set members (#301)
* Update host set member test

* Add ListSetMembers method signature and doc

* Move repository methods for host set members to new file

* Add TestSetMembers

* Implement ListSetMembers

* Return hosts from ListSetMembers

* Implement AddSetMembers

* Implement DeleteSetMembers

* Use sql.QueryContext not sql.Query

* Implement SetSetMembers

* Refactor: extract getHosts method

* Refactor: extract createMembers method

* Refactor: extract common functions

* Return correct count of changed

In SetSetMembers, retrieving the current list of hosts in the set
happens after the transaction to modify the set has completed. This
retrieval can result in an error but the number of modified rows is not
effected.

* Make list set members an unexported method

* Get hosts within the same transaction as mutations of the set

* Return hosts of set from LookupSet method

* Return hosts of set from UpdateSet method

* Remove listSetMembers

* Fix merge conflict

* Add NOTE and TODOs about using new pattern in "SetMembers" methods
2020-08-26 12:31:18 -04:00
Jeff Mitchell 39721047e4 Fix CORS test 2020-08-25 12:45:16 -04:00
Michael Gaffney de162c5533 Replace and remove ErrNilParameter with ErrInvalidParameter (#295) 2020-08-25 12:18:14 -04:00
Jeff Mitchell 8f579c75c3 paum -> ampw (#303) 2020-08-25 00:21:08 -04:00
Jeff Mitchell 74544f6324 Encrypt tokens on the way out and decrypt on the way in (#302)
* Encrypt tokens on the way out and decrypt on the way in

This isn't a security feature related to tokens specifically; it's so
that we can discard cryptographically bad tokens before we ever hit the
DB. This way we can't pass through a DDoS to the database due to
fetching obviously invalid token values.

I'm using base58 to encode the resulting value as there aren't great
base62 options, and allowing base64 / and + values can hamper usability
by creating copying/highlighting breaks.
2020-08-25 00:20:50 -04:00
Jeff Mitchell 647d5502b5 Change ListServers to use SeachWhere (#300) 2020-08-24 14:10:41 -04:00
Jeff Mitchell ac4d9fa311 Add nonce storage and replay prevention test (#293) 2020-08-24 13:22:10 -04:00
Randall Morey b9a14d25ac docs: add UI passthrough example to README (#299) 2020-08-24 11:46:25 -04:00
Jeff Mitchell a1490228b8 Add address to worker status tracing 2020-08-21 16:53:47 -04:00
Todd Knight c4d3414016 Add Host Set CUDLR handler and SDK (#290) 2020-08-21 10:57:30 -07:00
Todd Knight e423b6589e Request Validation logic moved into a helper (#296)
* Move all the validation logic into a helper tool.

* Adding tests for verifier helpers.
2020-08-21 08:15:32 -07:00