Michael Ansel
30b71cbbac
Add constraints on the Common Name for certificate-based authentication ( #2595 )
...
* Refactor to consolidate constraints on the matching chain
* Add CN prefix/suffix constraint
* Maintain backwards compatibility (pick a random cert if multiple match)
* Vendor go-glob
* Replace cn_prefix/suffix with required_name/globbing
Move all the new tests to acceptance-capable tests instead of embedding in the CRL test
* Allow authenticating against a single cert
* Add new params to documentation
* Add CLI support for new param
* Refactor for style
* Support multiple (ORed) name patterns
* Rename required_names to allowed_names
* Update docs for parameter rename
* Use the new TypeCommaStringSlice
2017-04-30 11:37:10 -04:00
Jeff Mitchell
9a72b3162f
Flip back to sstarcher go-okta post-merge
2017-04-28 17:21:49 -04:00
Calvin Leung Huang
ff4cf41ebb
Add test for ca and crl case
2017-04-28 08:55:28 -04:00
Jeff Mitchell
0f214cc502
Switch to jefferai/go-okta for now to work around Fatal lines in upstream ( #2658 )
...
Switch to jefferai/go-okta for now to work around Fatal lines in upstream
2017-04-28 08:39:51 -04:00
Vishal Nayak
8bb6c8caef
Return error message for failure to parse CSR ( #2657 )
2017-04-28 08:30:24 -04:00
Calvin Leung Huang
802d030506
Refactor cert_util_test
2017-04-27 17:09:59 -04:00
Calvin Leung Huang
b5990321bf
Verify update operation was performed on revokeCert
2017-04-27 12:30:44 -04:00
Calvin Leung Huang
3b27a9c12c
Rename tests, use HandleRequest() for existing paths
2017-04-27 09:47:56 -04:00
Brian Kassouf
53752c3002
Add check to ensure we don't overwrite existing connections
2017-04-26 16:43:42 -07:00
Brian Kassouf
081101c7cf
Add an error check to reset a plugin if it is closed
2017-04-26 15:55:34 -07:00
Brian Kassouf
d0cad5345a
Update to a RWMutex
2017-04-26 15:23:14 -07:00
Calvin Leung Huang
628e5d594b
Add remaining tests
2017-04-26 16:05:58 -04:00
Brian Kassouf
4782d9d2af
Update the error messages for renew and revoke
2017-04-26 10:29:16 -07:00
Brian Kassouf
892812d67d
Change ttl types to TypeDurationSecond
2017-04-26 10:02:37 -07:00
Calvin Leung Huang
d24757f2e0
Fix crl_util test
2017-04-26 09:58:34 -04:00
Calvin Leung Huang
18ed2d6097
Tests for cert and crl util
2017-04-26 02:46:01 -04:00
Brian Kassouf
e3e5f12f9e
Default deny when allowed roles is empty
2017-04-25 11:48:24 -07:00
Brian Kassouf
207d01fd39
Update the connection details data and fix allowedRoles
2017-04-25 11:11:10 -07:00
Brian Kassouf
eb0f831d6a
Rename path_role_create to path_creds_create
2017-04-25 10:39:17 -07:00
Brian Kassouf
3d3e4eb5a4
Use TypeCommaStringSlice for allowed_roles
2017-04-25 10:26:23 -07:00
Brian Kassouf
bed1c17b1e
Update logging to new structure
2017-04-25 10:24:19 -07:00
Brian Kassouf
f25b367732
Don't uppercase ErrorResponses
2017-04-24 14:03:48 -07:00
Brian Kassouf
378ae98809
s/DatabaseType/Database/
2017-04-24 13:59:12 -07:00
Joel Thompson
e06a78a474
Create unified aws auth backend ( #2441 )
...
* Rename builtin/credential/aws-ec2 to aws
The aws-ec2 authentication backend is being expanded and will become the
generic aws backend. This is a small rename commit to keep the commit
history clean.
* Expand aws-ec2 backend to more generic aws
This adds the ability to authenticate arbitrary AWS IAM principals using
AWS's sts:GetCallerIdentity method. The AWS-EC2 auth backend is being to
just AWS with the expansion.
* Add missing aws auth handler to CLI
This was omitted from the previous commit
* aws auth backend general variable name cleanup
Also fixed a bug where allowed auth types weren't being checked upon
login, and added tests for it.
* Update docs for the aws auth backend
* Refactor aws bind validation
* Fix env var override in aws backend test
Intent is to override the AWS environment variables with the TEST_*
versions if they are set, but the reverse was happening.
* Update docs on use of IAM authentication profile
AWS now allows you to change the instance profile of a running instance,
so the use case of "a long-lived instance that's not in an instance
profile" no longer means you have to use the the EC2 auth method. You
can now just change the instance profile on the fly.
* Fix typo in aws auth cli help
* Respond to PR feedback
* More PR feedback
* Respond to additional PR feedback
* Address more feedback on aws auth PR
* Make aws auth_type immutable per role
* Address more aws auth PR feedback
* Address more iam auth PR feedback
* Rename aws-ec2.html.md to aws.html.md
Per PR feedback, to go along with new backend name.
* Add MountType to logical.Request
* Make default aws auth_type dependent upon MountType
When MountType is aws-ec2, default to ec2 auth_type for backwards
compatibility with legacy roles. Otherwise, default to iam.
* Pass MountPoint and MountType back up to the core
Previously the request router reset the MountPoint and MountType back to
the empty string before returning to the core. This ensures they get set
back to the correct values.
2017-04-24 15:15:50 -04:00
Brian Kassouf
6f9d178370
Calls to builtin plugins now go directly to the implementation instead of go-plugin
2017-04-20 18:46:41 -07:00
Brian Kassouf
af9ff63e9a
Merge remote-tracking branch 'oss/master' into database-refactor
2017-04-19 15:16:00 -07:00
Chris Hoffman
847c86f788
Rename ParseDedupAndSortStrings to ParseDedupLowercaseAndSortStrings ( #2614 )
2017-04-19 10:39:07 -04:00
Chris Hoffman
938eab37b6
Do not lowercase groups attached to users in ldap ( #2613 )
2017-04-19 10:36:45 -04:00
Chris Hoffman
2ee593c6ea
Mssql driver update ( #2610 )
...
* Switching driver from mssql to sqlserver
* Adding explicit database to sp_msloginmappings call
2017-04-18 17:49:59 -04:00
Jeff Mitchell
4995c69763
Update sign-verbatim to correctly set generate_lease ( #2593 )
2017-04-18 15:54:31 -04:00
Mitch Davis
a051ec1b59
Use service bind for searching LDAP groups ( #2534 )
...
Fixes #2387
2017-04-18 15:52:05 -04:00
Jeff Mitchell
0897da93f0
Parse and dedup but do not lowercase principals in SSH certs. ( #2591 )
2017-04-18 12:21:02 -04:00
Jeff Mitchell
822d86ad90
Change storage of entries from colons to hyphens and add a
...
lookup/migration path
Still TODO: tests on migration path
Fixes #2552
2017-04-18 11:14:23 -04:00
Jeff Mitchell
e8adc13826
Fix cassandra dep breakage
2017-04-17 11:51:42 -04:00
Vishal Nayak
09cd069435
Consider new bounds as a criteria to allow role creation ( #2600 )
...
* Consider new bounds as a criteria to allow role creation
* Added a test
2017-04-17 10:36:11 -04:00
Jeff Mitchell
79fb8bdf69
Verify that a CSR specifies IP SANs before checking whether it's allowed ( #2574 )
2017-04-13 13:40:31 -04:00
Brian Kassouf
883c80540a
Add allowed_roles parameter and checks
2017-04-13 10:33:34 -07:00
Brian Kassouf
0cfe1ea81c
Cleanup path files
2017-04-12 17:35:02 -07:00
Brian Kassouf
a9a05f5bba
Update Type() to return an error
2017-04-12 16:41:06 -07:00
Brian Kassouf
8ccf10641b
Merge branch 'master' into database-refactor
2017-04-12 14:29:10 -07:00
Brian Kassouf
128f25c13d
Update help text and comments
2017-04-11 11:50:34 -07:00
Brian Kassouf
c85b7be22f
Remove unnecessary abstraction
2017-04-10 18:38:34 -07:00
Brian Kassouf
8071aed758
Mlock the plugin process
2017-04-10 17:12:52 -07:00
Brian Kassouf
f6ff3b1146
Add a flag to tell plugins to verify the connection was successful
2017-04-10 15:36:59 -07:00
Brian Kassouf
db91a80540
Update plugin test
2017-04-10 14:12:28 -07:00
Brian Kassouf
bbbd81220c
Update the interface for plugins removing functions for creating creds
2017-04-10 12:24:16 -07:00
Brian Kassouf
459e3eda4e
Update backend tests
2017-04-10 10:35:16 -07:00
Brian Kassouf
93136ea51e
Add backend test
2017-04-07 15:50:03 -07:00
Shivaram Lingamneni
2117dfd717
implement a no_store option for pki roles ( #2565 )
2017-04-07 11:25:47 -07:00
Jeff Mitchell
f805618a2c
Update SSH CA documentation
...
Fixes #2551
Fixes #2569
2017-04-07 11:59:25 -04:00
Brian Kassouf
62d59e5f4e
Move plugin code into sub directory
2017-04-06 12:20:10 -07:00
Brian Kassouf
ca2c3d0c53
Refactor to use builtin plugins from an external repo
2017-04-05 16:20:31 -07:00
Calvin Leung Huang
2255884a4c
Do not mark conn as initialized until the end ( #2567 )
2017-04-04 14:26:59 -07:00
Brian Kassouf
305ccd54f7
Don't return strings, always structs
2017-04-04 11:33:58 -07:00
Calvin Leung Huang
9dd666c7e6
Database refactor invalidate ( #2566 )
...
* WIP on invalidate function
* cassandraConnectionProducer has Close()
* Delete database from connections map on successful db.Close()
* Move clear connection into its own func
* Use const for database config path
2017-04-04 11:32:42 -07:00
vishalnayak
049e086b07
Fix typo. Closes GH-2528
2017-04-04 12:29:18 -04:00
Jeff Mitchell
709389dd36
Use ParseStringSlice on PKI organization/organizational unit. ( #2561 )
...
After, separately dedup and use new flag to not lowercase value.
Fixes #2555
2017-04-04 08:54:18 -07:00
Brian Kassouf
b506bd7790
On change of configuration rotate the database type
2017-04-03 18:30:38 -07:00
Brian Kassouf
d7dd0ab35c
Merge branch 'database-refactor' of github.com:hashicorp/vault into database-refactor
2017-04-03 17:52:41 -07:00
Brian Kassouf
e8781b6a2b
Plugin catalog
2017-04-03 17:52:29 -07:00
Calvin Leung Huang
aa15a1d3a9
Database refactor mssql ( #2562 )
...
* WIP on mssql secret backend refactor
* Add RevokeUser test, and use sqlserver driver internally
* Remove debug statements
* Fix code comment
2017-04-03 09:59:30 -07:00
Brian Kassouf
210fa77e3c
fix for plugin commands that have more than one paramater
2017-03-28 14:37:57 -07:00
Brian Kassouf
50729a4528
Add comments to connection and credential producers
2017-03-28 13:08:11 -07:00
Brian Kassouf
b09526e1c9
Cleanup the db factory code and add comments
2017-03-28 12:57:30 -07:00
Brian Kassouf
6b877039e7
Update tests
2017-03-28 12:20:17 -07:00
Brian Kassouf
c50a6ebc39
Add functionaility to build db objects from disk so restarts work
2017-03-28 11:30:45 -07:00
Brian Kassouf
02b0230f19
Fix for checking types of database on update
2017-03-28 10:04:42 -07:00
Brian Kassouf
494f963581
Wrap the database calls with tracing information
2017-03-27 15:17:28 -07:00
Brian Kassouf
2799586f45
Remove the unused sync.Once object
2017-03-27 11:46:20 -07:00
Brian Kassouf
29ae4602dc
More work on getting tests to pass
2017-03-23 15:54:15 -07:00
Brian Kassouf
c0223d888e
Remove unsused code block
2017-03-22 17:09:39 -07:00
Brian Kassouf
1068076703
s/postgres/mysql/
2017-03-22 16:44:33 -07:00
Brian Kassouf
dac1bb210b
Add test files for postgres and mysql databases
2017-03-22 16:39:08 -07:00
Brian Kassouf
ae9961b811
Add a error message for empty creation statement
2017-03-22 12:40:16 -07:00
Brian Kassouf
c55bef85d3
Fix race with deleting the connection
2017-03-22 09:54:19 -07:00
Brian Kassouf
85ef468d46
Add a delete method
2017-03-21 17:19:30 -07:00
Brian Kassouf
83ff132705
Verify connections regardless of if this connections is already existing
2017-03-21 16:05:59 -07:00
Vishal Nayak
003ef004c6
sshca: ensure atleast cert type is allowed ( #2508 )
2017-03-19 18:58:48 -04:00
Brian Kassouf
a4e5e0f8c9
Comment and fix plugin Type function
2017-03-16 18:24:56 -07:00
Brian Kassouf
417770a58f
Change the handshake config from the default
2017-03-16 17:51:25 -07:00
Brian Kassouf
2873825848
Add a secure config to verify the checksum of the plugin
2017-03-16 16:20:18 -07:00
Brian Kassouf
f2df4ef0e7
Comment and slight refactor of the TLS plugin helper
2017-03-16 14:14:49 -07:00
Brian Kassouf
0a52ea5c69
Break tls code into helper library
2017-03-16 11:55:21 -07:00
Jeff Mitchell
24886c1006
Ensure CN check is made when exclude_cn_from_sans is used
...
Fixes #2363
2017-03-16 11:41:13 -04:00
Jeff Mitchell
ae8967d635
Always include a hash of the public key and "vault" (to know where it ( #2498 )
...
came from) when generating a cert for SSH.
Follow on from #2494
2017-03-16 11:14:17 -04:00
Mike Okner
95df7beed9
Adding allow_user_key_ids field to SSH role config ( #2494 )
...
Adding a boolean field that determines whether users will be allowed to
set the ID of the signed SSH key or whether it will always be the token
display name. Preventing users from changing the ID and always using
the token name is useful for auditing who actually used a key to access
a remote host since sshd logs key IDs.
2017-03-16 08:45:11 -04:00
Brian Kassouf
eb6117cbb2
Work on TLS communication over plugins
2017-03-15 17:14:48 -07:00
Jeff Mitchell
12e5132779
Allow roles to specify whether CSR SANs should be used instead of ( #2489 )
...
request values. Fix up some documentation.
Fixes #2451
Fixes #2488
2017-03-15 14:38:18 -04:00
Jeff Mitchell
7ab6844eb4
Set CA chain when intermediate does not have an authority key ID.
...
This is essentially an approved review of the code provided in #2465 .
Fixes #2465
2017-03-15 11:52:02 -04:00
Brian Kassouf
3ecb344878
wrap plugin database type with metrics middleware
2017-03-14 13:12:47 -07:00
Brian Kassouf
822a3eb20a
Add a metrics middleware
2017-03-14 13:11:28 -07:00
Stanislav Grozev
662b372364
Reads on unconfigured SSH CA public key return 400
2017-03-14 10:21:48 -04:00
Stanislav Grozev
7d59d7d3ac
Reads on ssh/config/ca return the public keys
...
If configured/generated.
2017-03-14 10:21:48 -04:00
Stanislav Grozev
830de2dbbd
If generating an SSH CA signing key - return the public part
...
So that the user can actually use the SSH CA, by adding the public key
to their respective sshd_config/authorized_keys, etc.
2017-03-14 10:21:48 -04:00
Brian Kassouf
2054fff890
Add a way to initalize plugins and builtin databases the same way.
2017-03-13 14:39:55 -07:00
Brian Kassouf
71b81aad23
Add checksum attribute
2017-03-10 14:10:42 -08:00
Brian Kassouf
a11911d4d4
Rename reset to close
2017-03-09 22:35:45 -08:00
Brian Kassouf
fda45f531d
Add special path to enforce root on plugin configuration
2017-03-09 21:31:29 -08:00
Brian Kassouf
748c70cfb4
Add plugin file
2017-03-09 17:43:58 -08:00
Brian Kassouf
9099231229
Add plugin features
2017-03-09 17:43:37 -08:00