IAM Access Groups

Introduction Access groups allow for the assignment of many policies to many members in one place. Users, service IDs and trusted profiles can be added to an access group. Each access group is bound to a specific IBM Cloud® account as are users, service IDs and trusted profiles. No longer do policies need to be created on a per user, service ID or trusted profile basis. Instead, a policy can be created for an access group, and that common policy is shared for all of the group's members. This makes it much easier for administrators to manage access control. It is an analogous concept to access control groups that are used to manage users in the Linux® operating system. For more information, see Setting up access groupshttps://cloud.ibm.com/docs/account?topic=account-groups. With access group templates and assignments you can centrally manage access for child accounts in your organization from the root enterprise account. For more information, see Working with template versionshttps://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-working-with-versions&interface=ui and Best practices for assigning access in an enterprisehttps://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-access-enterprises. SDKs for Java, Node, Python, and Go are available to make it easier to programmatically access the API from your code. The client libraries that are provided by the SDKs implement best practices for using the API and reduce the amount of code that you need to write. The tab for each language includes code examples that demonstrate how to use the client libraries. For more information about using the SDKs, see the IBM Cloud SDK Common projecthttps://github.com/IBM/ibm-cloud-sdk-common on GitHub. Installing the Go SDK Go modules recommended: Add the following import in your code, and then run go build or go mod tidy go import "github.com/IBM/platform-services-go-sdk/iamaccessgroupsv2" Go get bash go get -u github.com/IBM/platform-services-go-sdk/iamaccessgroupsv2 View on GitHub https://github.com/IBM/platform-services-go-sdkhttps://github.com/IBM/platform-services-go-sdk Installing the Java SDK Maven xml

MethodPathSummary
POST/v2/groupsCreate an access group
GET/v2/groupsList access groups
GET/v2/groups/{access_group_id}Get an access group
PATCH/v2/groups/{access_group_id}Update an access group
DELETE/v2/groups/{access_group_id}Delete an access group
PUT/v2/groups/{access_group_id}/membersAdd members to an access group
GET/v2/groups/{access_group_id}/membersList access group members
HEAD/v2/groups/{access_group_id}/members/{iam_id}Check membership in an access group
DELETE/v2/groups/{access_group_id}/members/{iam_id}Delete member from an access group
POST/v2/groups/{access_group_id}/members/deleteDelete members from an access group
DELETE/v2/groups/_allgroups/members/{iam_id}Delete member from all access groups
PUT/v2/groups/_allgroups/members/{iam_id}Add member to multiple access groups
POST/v2/groups/{access_group_id}/rulesCreate rule for an access group
GET/v2/groups/{access_group_id}/rulesList access group rules
GET/v2/groups/{access_group_id}/rules/{rule_id}Get an access group rule
PUT/v2/groups/{access_group_id}/rules/{rule_id}Replace an access group rule
DELETE/v2/groups/{access_group_id}/rules/{rule_id}Delete an access group rule
GET/v2/groups/settingsGet account settings
PATCH/v2/groups/settingsUpdate account settings
POST/v1/group_templatesCreate template
GET/v1/group_templatesList templates
POST/v1/group_templates/{template_id}/versionsCreate template version
GET/v1/group_templates/{template_id}/versionsList template versions
GET/v1/group_templates/{template_id}/versions/{version_num}Get template version
PUT/v1/group_templates/{template_id}/versions/{version_num}Update template version
DELETE/v1/group_templates/{template_id}/versions/{version_num}Delete template version
POST/v1/group_templates/{template_id}/versions/{version_num}/commitCommit a template
GET/v1/group_templates/{template_id}Get latest template version
DELETE/v1/group_templates/{template_id}Delete template
POST/v1/group_assignmentsCreate assignment
GET/v1/group_assignmentsList assignments
GET/v1/group_assignments/{assignment_id}Get assignment
PATCH/v1/group_assignments/{assignment_id}Update Assignment
DELETE/v1/group_assignments/{assignment_id}Delete assignment