* conversion stage 1 * correct image paths * add sidebar title to frontmatter * docs/concepts and docs/internals * configuration docs and multi-level nav corrections * commands docs, index file corrections, small item nav correction * secrets converted * auth * add enterprise and agent docs * add extra dividers * secret section, wip * correct sidebar nav title in front matter for apu section, start working on api items * auth and backend, a couple directory structure fixes * remove old docs * intro side nav converted * reset sidebar styles, add hashi-global-styles * basic styling for nav sidebar * folder collapse functionality * patch up border length on last list item * wip restructure for content component * taking middleman hacking to the extreme, but its working * small css fix * add new mega nav * fix a small mistake from the rebase * fix a content resolution issue with middleman * title a couple missing docs pages * update deps, remove temporary markup * community page * footer to layout, community page css adjustments * wip downloads page * deps updated, downloads page ready * fix community page * homepage progress * add components, adjust spacing * docs and api landing pages * a bunch of fixes, add docs and api landing pages * update deps, add deploy scripts * add readme note * update deploy command * overview page, index title * Update doc fields Note this still requires the link fields to be populated -- this is solely related to copy on the description fields * Update api_basic_categories.yml Updated API category descriptions. Like the document descriptions you'll still need to update the link headers to the proper target pages. * Add bottom hero, adjust CSS, responsive friendly * Add mega nav title * homepage adjustments, asset boosts * small fixes * docs page styling fixes * meganav title * some category link corrections * Update API categories page updated to reflect the second level headings for api categories * Update docs_detailed_categories.yml Updated to represent the existing docs structure * Update docs_detailed_categories.yml * docs page data fix, extra operator page remove * api data fix * fix makefile * update deps, add product subnav to docs and api landing pages * Rearrange non-hands-on guides to _docs_ Since there is no place for these on learn.hashicorp, we'll put them under _docs_. * WIP Redirects for guides to docs * content and component updates * font weight hotfix, redirects * fix guides and intro sidenavs * fix some redirects * small style tweaks * Redirects to learn and internally to docs * Remove redirect to `/vault` * Remove `.html` from destination on redirects * fix incorrect index redirect * final touchups * address feedback from michell for makefile and product downloads
8.7 KiB
layout, page_title, sidebar_title, sidebar_current, description
| layout | page_title | sidebar_title | sidebar_current | description |
|---|---|---|---|---|
| api | Identity Secret Backend: Group - HTTP API | Group | api-http-secret-identity-group | This is the API documentation for managing groups in the identity store. |
Create a Group
This endpoint creates or updates a Group.
| Method | Path | Produces |
|---|---|---|
POST |
/identity/group |
200 application/json |
Parameters
-
name(string: entity-<UUID>)– Name of the group. -
id(string: <optional>)- ID of the group. If set, updates the corresponding existing group. -
type(string: "internal")- Type of the group,internalorexternal. Defaults tointernal. -
metadata(key-value-map: {})– Metadata to be associated with the group. -
policies(list of strings: [])– Policies to be tied to the group. -
member_group_ids(list of strings: [])- Group IDs to be assigned as group members. -
member_entity_ids(list of strings: [])- Entity IDs to be assigned as group members.
Sample Payload
{
"metadata": {
"hello": "world"
},
"policies": ["grouppolicy1", "grouppolicy2"]
}
Sample Request
$ curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/identity/group
Sample Response
{
"data": {
"id": "363926d8-dd8b-c9f0-21f8-7b248be80ce1",
"name": "group_ab813d63"
}
}
Read Group by ID
This endpoint queries the group by its identifier.
| Method | Path | Produces |
|---|---|---|
GET |
/identity/group/id/:id |
200 application/json |
Parameters
id(string: <required>)– Identifier of the group.
Sample Request
$ curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/identity/group/id/363926d8-dd8b-c9f0-21f8-7b248be80ce1
Sample Response
{
"data": {
"alias": {},
"creation_time": "2017-11-13T19:36:47.102945Z",
"id": "363926d8-dd8b-c9f0-21f8-7b248be80ce1",
"last_update_time": "2017-11-13T19:36:47.102945Z",
"member_entity_ids": [],
"member_group_ids": null,
"metadata": {
"hello": "world"
},
"modify_index": 1,
"name": "group_ab813d63",
"policies": [
"grouppolicy1",
"grouppolicy2"
],
"type": "internal"
}
}
Update Group by ID
This endpoint is used to update an existing group.
| Method | Path | Produces |
|---|---|---|
POST |
/identity/group/id/:id |
200 application/json |
Parameters
-
id(string: <required>)– Identifier of the entity. -
name(string: entity-<UUID>)– Name of the group. -
type(string: "internal")- Type of the group,internalorexternal. Defaults tointernal. -
metadata(key-value-map: {})– Metadata to be associated with the group. -
policies(list of strings: [])– Policies to be tied to the group. -
member_group_ids(list of strings: [])- Group IDs to be assigned as group members. -
member_entity_ids(list of strings: [])- Entity IDs to be assigned as group members.
Sample Payload
{
"name": "testgroupname",
"metadata": {
"hello": "everyone"
},
"policies": ["grouppolicy2", "grouppolicy3"]
}
Sample Request
$ curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/identity/group/id/363926d8-dd8b-c9f0-21f8-7b248be80ce1
Sample Response
{
"data": {
"id": "363926d8-dd8b-c9f0-21f8-7b248be80ce1",
"name": "testgroupname"
}
}
Delete Group by ID
This endpoint deletes a group.
| Method | Path | Produces |
|---|---|---|
DELETE |
/identity/group/id/:id |
204 (empty body) |
Parameters
id(string: <required>)– Identifier of the group.
Sample Request
$ curl \
--header "X-Vault-Token: ..." \
--request DELETE \
http://127.0.0.1:8200/v1/identity/group/id/363926d8-dd8b-c9f0-21f8-7b248be80ce1
List Groups by ID
This endpoint returns a list of available groups by their identifiers.
| Method | Path | Produces |
|---|---|---|
LIST |
/identity/group/id |
200 application/json |
GET |
/identity/group/id?list=true |
200 application/json |
Sample Request
$ curl \
--header "X-Vault-Token: ..." \
--request LIST \
http://127.0.0.1:8200/v1/identity/group/id
Sample Response
{
"data": {
"keys": [
"052567cf-1580-6f20-50c8-d38bc46dae6e",
"26da8035-6691-b89e-67ac-ebf9ea7f9893",
"363926d8-dd8b-c9f0-21f8-7b248be80ce1",
"5c4a5720-7408-c113-1dcc-9ede725d0ac8",
"d55e0f34-5c16-38ae-87af-324c9b656c43",
"e4e56e04-0dec-9b68-9b20-a450975d898e"
]
}
}
Create/Update Group by Name
This endpoint is used to create or update a group by its name.
| Method | Path | Produces |
|---|---|---|
POST |
/identity/group/name/:name |
200 application/json |
Parameters
-
name(string: entity-<UUID>)– Name of the group. -
type(string: "internal")- Type of the group,internalorexternal. Defaults tointernal. -
metadata(key-value-map: {})– Metadata to be associated with the group. -
policies(list of strings: [])– Policies to be tied to the group. -
member_group_ids(list of strings: [])- Group IDs to be assigned as group members. -
member_entity_ids(list of strings: [])- Entity IDs to be assigned as group members.
Sample Payload
{
"metadata": {
"hello": "everyone"
},
"policies": ["grouppolicy2", "grouppolicy3"]
}
Sample Request
$ curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/identity/group/name/testgroupname
Sample Response
{
"request_id": "b98b4a3d-a9f1-e151-11e1-ad91cfb08351",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"id": "5a3a04a0-0c3a-a4c3-74e8-26b1adbeaece",
"name": "testgroupname"
},
"warnings": null
}
Read Group by Name
This endpoint queries the group by its name.
| Method | Path | Produces |
|---|---|---|
GET |
/identity/group/name/:name |
200 application/json |
Parameters
name(string: <required>)– Name of the group.
Sample Request
$ curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/identity/group/name/testgroupname
Sample Response
{
"data": {
"alias": {},
"creation_time": "2018-09-19T22:02:04.395128091Z",
"id": "5a3a04a0-0c3a-a4c3-74e8-26b1adbeaece",
"last_update_time": "2018-09-19T22:02:04.395128091Z",
"member_entity_ids": [],
"member_group_ids": null,
"metadata": {
"foo": "bar"
},
"modify_index": 1,
"name": "testgroupname",
"parent_group_ids": null,
"policies": [
"grouppolicy1",
"grouppolicy2"
],
"type": "internal"
}
}
Delete Group by Name
This endpoint deletes a group, given its name.
| Method | Path | Produces |
|---|---|---|
DELETE |
/identity/group/name/:name |
204 (empty body) |
Parameters
name(string: <required>)– Name of the group.
Sample Request
$ curl \
--header "X-Vault-Token: ..." \
--request DELETE \
http://127.0.0.1:8200/v1/identity/group/name/testgroupname
List Groups by Name
This endpoint returns a list of available groups by their names.
| Method | Path | Produces |
|---|---|---|
LIST |
/identity/group/name |
200 application/json |
GET |
/identity/group/name?list=true |
200 application/json |
Sample Request
$ curl \
--header "X-Vault-Token: ..." \
--request LIST \
http://127.0.0.1:8200/v1/identity/group/name
Sample Response
{
"data": {
"keys": [
"testgroupname"
]
}
}