* Sessions support for read:self and cancel:self permissions. This is automatic with fallback; no API change is needed.
* Strips out values from listing if only self actions are allowed on the resource and the user ID is different. This prevents a default ACL of id=*;type=session;actions=read:self,cancel:self from causing all values to be visible when listing.
* Adds an unprivileged user to development/testing instances. This user has only default permissions plus the ability to authorize sessions in the default target.
* Remove list:self from main
As per futher discussions, we won't be supporting this, in favor of
simply read:self and cancel:self (since listing now already filters out
items on which you have no permissions).
This doesn't remove list:self entirely from the code base as much of
that will simply be converted to read:self and cancel:self -- that will
be in a later PR. However, with this removed if we want to release we
won't expose an API publicly that isn't going to stick around.
If it's a useful named resource and people accidentally delete it e.g.
with TF, they can't get it back. This doesn't affect TF's ability to
manage it, just delete.
* Update protos and gen
* Add new values to targets CLI command
* Lots more plumbing of new parameters through everything
* allow fields to be set to zero value.
* Disallow set but empty name/description strings in create/update verifiers
Co-authored-by: Jim Lambert <jlambert@hashicorp.com>
* 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