Skip to content

Commit

Permalink
[VAULT-3519] Return no_default_policy on token role read (#12565)
Browse files Browse the repository at this point in the history
* [VAULT-3519] Return no_default_policy on token role read if set

* [VAULT-3519] Add changelog

* [VAULT-3519] Always return token_no_default_policy on role read

* Fix broken test

* Update role read response in docs
  • Loading branch information
pmmukh committed Sep 21, 2021
1 parent 68065df commit cf45b2b
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 8 deletions.
3 changes: 3 additions & 0 deletions changelog/12565.txt
@@ -0,0 +1,3 @@
```release-note:improvement
core/token: Return the token_no_default_policy config on token role read if set
```
1 change: 1 addition & 0 deletions vault/token_store.go
Expand Up @@ -3223,6 +3223,7 @@ func (ts *TokenStore) tokenStoreRoleRead(ctx context.Context, req *logical.Reque
"renewable": role.Renewable,
"token_type": role.TokenType.String(),
"allowed_entity_aliases": role.AllowedEntityAliases,
"token_no_default_policy": role.TokenNoDefaultPolicy,
},
}

Expand Down
26 changes: 18 additions & 8 deletions vault/token_store_test.go
Expand Up @@ -3194,6 +3194,7 @@ func TestTokenStore_RoleCRUD(t *testing.T) {
"token_type": "default-service",
"token_num_uses": 123,
"allowed_entity_aliases": []string(nil),
"token_no_default_policy": false,
}

if resp.Data["bound_cidrs"].([]*sockaddr.SockAddrMarshaler)[0].String() != "0.0.0.0/0" {
Expand All @@ -3213,12 +3214,13 @@ func TestTokenStore_RoleCRUD(t *testing.T) {
// automatically due to the existence check
req.Operation = logical.CreateOperation
req.Data = map[string]interface{}{
"period": "79h",
"allowed_policies": "test3",
"path_suffix": "happenin",
"renewable": false,
"explicit_max_ttl": "80h",
"token_num_uses": 0,
"period": "79h",
"allowed_policies": "test3",
"path_suffix": "happenin",
"renewable": false,
"explicit_max_ttl": "80h",
"token_num_uses": 0,
"token_no_default_policy": true,
}

resp, err = core.HandleRequest(namespace.RootContext(nil), req)
Expand Down Expand Up @@ -3256,6 +3258,7 @@ func TestTokenStore_RoleCRUD(t *testing.T) {
"renewable": false,
"token_type": "default-service",
"allowed_entity_aliases": []string(nil),
"token_no_default_policy": true,
}

if resp.Data["bound_cidrs"].([]*sockaddr.SockAddrMarshaler)[0].String() != "0.0.0.0/0" {
Expand Down Expand Up @@ -3308,6 +3311,7 @@ func TestTokenStore_RoleCRUD(t *testing.T) {
"renewable": false,
"token_type": "default-service",
"allowed_entity_aliases": []string(nil),
"token_no_default_policy": true,
}

if resp.Data["bound_cidrs"].([]*sockaddr.SockAddrMarshaler)[0].String() != "0.0.0.0/0" {
Expand All @@ -3326,8 +3330,9 @@ func TestTokenStore_RoleCRUD(t *testing.T) {
// Update path_suffix and bound_cidrs with empty values
req.Operation = logical.CreateOperation
req.Data = map[string]interface{}{
"path_suffix": "",
"bound_cidrs": []string{},
"path_suffix": "",
"bound_cidrs": []string{},
"token_no_default_policy": false,
}
resp, err = core.HandleRequest(namespace.RootContext(nil), req)
if err != nil || (resp != nil && resp.IsError()) {
Expand Down Expand Up @@ -3360,6 +3365,7 @@ func TestTokenStore_RoleCRUD(t *testing.T) {
"renewable": false,
"token_type": "default-service",
"allowed_entity_aliases": []string(nil),
"token_no_default_policy": false,
}

if diff := deep.Equal(expected, resp.Data); diff != nil {
Expand Down Expand Up @@ -4428,6 +4434,7 @@ func TestTokenStore_RoleTokenFields(t *testing.T) {
"renewable": false,
"token_type": "batch",
"allowed_entity_aliases": []string(nil),
"token_no_default_policy": false,
}

if resp.Data["bound_cidrs"].([]*sockaddr.SockAddrMarshaler)[0].String() != "127.0.0.1" {
Expand Down Expand Up @@ -4483,6 +4490,7 @@ func TestTokenStore_RoleTokenFields(t *testing.T) {
"renewable": false,
"token_type": "default-service",
"allowed_entity_aliases": []string(nil),
"token_no_default_policy": false,
}

if resp.Data["bound_cidrs"].([]*sockaddr.SockAddrMarshaler)[0].String() != "127.0.0.1" {
Expand Down Expand Up @@ -4537,6 +4545,7 @@ func TestTokenStore_RoleTokenFields(t *testing.T) {
"renewable": false,
"token_type": "default-service",
"allowed_entity_aliases": []string(nil),
"token_no_default_policy": false,
}

if resp.Data["token_bound_cidrs"].([]*sockaddr.SockAddrMarshaler)[0].String() != "127.0.0.1" {
Expand Down Expand Up @@ -4593,6 +4602,7 @@ func TestTokenStore_RoleTokenFields(t *testing.T) {
"renewable": false,
"token_type": "service",
"allowed_entity_aliases": []string(nil),
"token_no_default_policy": false,
}

if resp.Data["token_bound_cidrs"].([]*sockaddr.SockAddrMarshaler)[0].String() != "127.0.0.1" {
Expand Down
1 change: 1 addition & 0 deletions website/content/api-docs/auth/token.mdx
Expand Up @@ -636,6 +636,7 @@ $ curl \
"period": 0,
"renewable": true,
"token_explicit_max_ttl": 0,
"token_no_default_policy": false,
"token_period": 0,
"token_type": "default-service"
},
Expand Down

0 comments on commit cf45b2b

Please sign in to comment.