I have been browsing the Vault documentation in search of a reference document for the format of policies, without success. Especially, I am looking for a list of capabilities, and whether a wildcard can be used to say “all capabilities”.
There is no wildcard. All capabilities would be written as ["read", "list", "create", "update", "delete", "sudo"] - do not include sudo unless you genuinely want to authorize Vault administrative actions.
I can’t find the word “exhaustive” in that page? The list there was complete up to Vault 1.8 …
A new "patch" capability was added in Vault 1.9 to control the new support for using HTTP PATCH on KVs, and it seems that hasn’t been added to the documentation.
Wildcards are covered in the previously linked document.
path "*" { ... }
works as you might expect, but beware that with policy like:
path "*" { ... all the permissions ... }
path "foobar" { ... just read ... }
the more specific block takes precedence, and writes to foobar will be denied.