Use AWS IAM Identity Center to assign or revoke permission sets for AWS accounts, resolve users and groups, and inspect account access.
The same operations support the reverse direction — access review. Starting from an account, an agent can list its assignments, resolve the principals, expand groups into their members, and produce a written report of exactly who can reach that account and through which permission set.
One detail shapes how that review has to be built. AWS requires a permission set ARN alongside the account ID on this call, so List Assignments For Account returns only the assignments granted through that one permission set — not every assignment on the account. To cover an account completely, run List Permission Sets for the instance first, then call List Assignments For Account once per permission set and combine the results. Skipping that loop silently omits access granted through the permission sets you did not ask about.
Two AWS behaviors are worth knowing. Creating and deleting an account assignment are asynchronous: both return a request ID, and each has its own status poller — use Check Assignment Status for creations and Check Assignment Deletion Status for deletions, as the two request-ID types are not interchangeable. And the account-listing operations call AWS Organizations, which is global per partition; the block resolves the correct endpoint for commercial, GovCloud, and China regions automatically.
Provision and revoke temporary access to AWS accounts via IAM Identity Center (SSO). Assign permission sets to users or groups, look up users by email, and list accounts and permission sets for access request workflows.
List all AWS IAM Identity Center instances in your account
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
maxResults | number | No | Maximum number of instances to return (1-100) |
nextToken | string | No | Pagination token from a previous request |
| Parameter | Type | Description |
|---|
instances | array | Identity Center instances in the region |
↳ instanceArn | string | ARN of the Identity Center instance |
↳ identityStoreId | string | Identity Store ID backing the instance |
↳ name | string | Instance name |
↳ status | string | Instance status |
↳ statusReason | string | Explanation when the instance is not ACTIVE |
↳ ownerAccountId | string | AWS account that owns the instance |
↳ createdDate | string | ISO 8601 date the instance was created |
nextToken | string | Pagination token for the next page of results |
count | number | Number of instances returned |
List all AWS accounts in your organization
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
maxResults | number | No | Maximum number of accounts to return (1-20; the AWS Organizations ceiling) |
nextToken | string | No | Pagination token from a previous request |
| Parameter | Type | Description |
|---|
accounts | array | Accounts in the AWS organization |
↳ id | string | AWS account ID |
↳ arn | string | AWS account ARN |
↳ name | string | Account name |
↳ email | string | Root email address of the account |
↳ status | string | Account status (e.g., ACTIVE, SUSPENDED) |
↳ joinedTimestamp | string | ISO 8601 date the account joined the organization |
nextToken | string | Pagination token for the next page of results |
count | number | Number of accounts returned |
Retrieve details about a specific AWS account by its ID
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
accountId | string | Yes | AWS account ID to describe |
| Parameter | Type | Description |
|---|
id | string | AWS account ID |
arn | string | AWS account ARN |
name | string | Account name |
email | string | Root email address of the account |
status | string | Account status (ACTIVE, SUSPENDED, etc.) |
joinedTimestamp | string | Date the account joined the organization |
List all permission sets defined in an IAM Identity Center instance
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
instanceArn | string | Yes | ARN of the Identity Center instance |
maxResults | number | No | Maximum number of permission sets to return (1-100) |
nextToken | string | No | Pagination token from a previous request |
| Parameter | Type | Description |
|---|
permissionSets | array | Permission sets defined on the instance |
↳ permissionSetArn | string | ARN of the permission set |
↳ name | string | Permission set name |
↳ description | string | Permission set description |
↳ sessionDuration | string | ISO 8601 session duration (e.g., PT1H) |
↳ createdDate | string | ISO 8601 date the permission set was created |
nextToken | string | Pagination token for the next page of results |
count | number | Number of permission sets returned |
Look up a user in the Identity Store by email address
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
identityStoreId | string | Yes | Identity Store ID (from the Identity Center instance) |
email | string | Yes | Email address of the user to look up |
| Parameter | Type | Description |
|---|
userId | string | Identity Store user ID (use as principalId) |
userName | string | Username in the Identity Store |
displayName | string | Display name of the user |
email | string | Email address of the user |
Resolve an Identity Store user ID to the user behind it. Use to turn the principalId on an account assignment into a name and email.
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
identityStoreId | string | Yes | Identity Store ID (e.g., d-1234567890) |
userId | string | Yes | Identity Store user ID, such as the principalId on a USER account assignment |
| Parameter | Type | Description |
|---|
userId | string | Identity Store user ID |
userName | string | Username in the Identity Store |
displayName | string | Display name of the user, or null when the Identity Store omits it |
email | string | Primary email address, or null when the user has no email attribute |
userStatus | string | Account status (ENABLED or DISABLED), or null when the Identity Store omits it |
title | string | Job title, or null when the Identity Store omits it |
externalIds | array | External identity provider IDs linked to the user |
↳ issuer | string | Identity provider that issued the ID |
↳ id | string | Identifier at the issuer |
Look up a group in the Identity Store by display name
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
identityStoreId | string | Yes | Identity Store ID (from the Identity Center instance) |
displayName | string | Yes | Display name of the group to look up |
| Parameter | Type | Description |
|---|
groupId | string | Identity Store group ID (use as principalId) |
displayName | string | Display name of the group |
description | string | Group description |
Resolve an Identity Store group ID to the group behind it. Use to turn the principalId on an account assignment into a group name.
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
identityStoreId | string | Yes | Identity Store ID (e.g., d-1234567890) |
groupId | string | Yes | Identity Store group ID, such as the principalId on a GROUP account assignment |
| Parameter | Type | Description |
|---|
groupId | string | Identity Store group ID |
displayName | string | Display name of the group |
description | string | Group description |
externalIds | array | External identity provider IDs linked to the group |
↳ issuer | string | Identity provider that issued the ID |
↳ id | string | Identifier at the issuer |
List all groups in the Identity Store
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
identityStoreId | string | Yes | Identity Store ID (from the Identity Center instance) |
maxResults | number | No | Maximum number of groups to return (1-100) |
nextToken | string | No | Pagination token from a previous request |
| Parameter | Type | Description |
|---|
groups | array | Groups in the Identity Store |
↳ groupId | string | Identity Store group ID (use as principalId) |
↳ displayName | string | Group display name |
↳ description | string | Group description |
↳ externalIds | array | External identity provider IDs linked to the group |
↳ issuer | string | Identity provider that issued the ID |
↳ id | string | Identifier at the issuer |
nextToken | string | Pagination token for the next page of results |
count | number | Number of groups returned |
List the users who belong to an Identity Store group
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
identityStoreId | string | Yes | Identity Store ID (e.g., d-1234567890) |
groupId | string | Yes | Identity Store group ID whose members to list |
maxResults | number | No | Maximum number of memberships to return (1-100) |
nextToken | string | No | Pagination token from a previous request |
| Parameter | Type | Description |
|---|
memberships | array | Members of the group |
↳ membershipId | string | Identity Store membership ID |
↳ groupId | string | Identity Store group ID |
↳ userId | string | Identity Store user ID of the member — resolve with Describe User. Null when the member is not a user. |
nextToken | string | Pagination token for the next page of results |
count | number | Number of memberships returned |
Grant a user or group access to an AWS account via a permission set (temporary elevated access)
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
instanceArn | string | Yes | ARN of the Identity Center instance |
accountId | string | Yes | AWS account ID to grant access to |
permissionSetArn | string | Yes | ARN of the permission set to assign |
principalType | string | Yes | Type of principal: USER or GROUP |
principalId | string | Yes | Identity Store ID of the user or group |
| Parameter | Type | Description |
|---|
message | string | Status message |
status | string | Provisioning status: IN_PROGRESS, FAILED, or SUCCEEDED |
requestId | string | Request ID to use with Check Assignment Status |
accountId | string | Target AWS account ID |
permissionSetArn | string | Permission set ARN |
principalType | string | Principal type (USER or GROUP) |
principalId | string | Principal ID |
failureReason | string | Reason for failure if status is FAILED |
createdDate | string | Date the request was created |
Revoke a user or group access to an AWS account by removing a permission set assignment
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
instanceArn | string | Yes | ARN of the Identity Center instance |
accountId | string | Yes | AWS account ID to revoke access from |
permissionSetArn | string | Yes | ARN of the permission set to remove |
principalType | string | Yes | Type of principal: USER or GROUP |
principalId | string | Yes | Identity Store ID of the user or group |
| Parameter | Type | Description |
|---|
message | string | Status message |
status | string | Deprovisioning status: IN_PROGRESS, FAILED, or SUCCEEDED |
requestId | string | Request ID to use with Check Assignment Deletion Status |
accountId | string | Target AWS account ID |
permissionSetArn | string | Permission set ARN |
principalType | string | Principal type (USER or GROUP) |
principalId | string | Principal ID |
failureReason | string | Reason for failure if status is FAILED |
createdDate | string | Date the request was created |
Check the provisioning status of an account assignment creation request
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
instanceArn | string | Yes | ARN of the Identity Center instance |
requestId | string | Yes | Request ID returned from Create Account Assignment. Deletion request IDs are not accepted — use Check Assignment Deletion Status for those. |
| Parameter | Type | Description |
|---|
message | string | Human-readable status message |
status | string | Current status: IN_PROGRESS, FAILED, or SUCCEEDED |
requestId | string | The request ID that was checked |
accountId | string | Target AWS account ID |
permissionSetArn | string | Permission set ARN |
principalType | string | Principal type (USER or GROUP) |
principalId | string | Principal ID |
failureReason | string | Reason for failure if status is FAILED |
createdDate | string | Date the request was created |
Check the deprovisioning status of an account assignment deletion request
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
instanceArn | string | Yes | ARN of the Identity Center instance |
requestId | string | Yes | Request ID returned from Delete Account Assignment |
| Parameter | Type | Description |
|---|
message | string | Human-readable status message |
status | string | Current deletion status: IN_PROGRESS, FAILED, or SUCCEEDED |
requestId | string | The deletion request ID that was checked |
accountId | string | Target AWS account ID |
permissionSetArn | string | Permission set ARN |
principalType | string | Principal type (USER or GROUP) |
principalId | string | Principal ID |
failureReason | string | Reason for failure if status is FAILED |
createdDate | string | Date the request was created |
List every account and permission set a specific user or group is assigned. Use List Assignments For Account to go the other way, from an account to its principals.
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
instanceArn | string | Yes | ARN of the Identity Center instance |
principalId | string | Yes | Identity Store ID of the user or group |
principalType | string | Yes | Type of principal: USER or GROUP |
maxResults | number | No | Maximum number of assignments to return (1-100) |
nextToken | string | No | Pagination token from a previous request |
| Parameter | Type | Description |
|---|
assignments | array | Accounts and permission sets the principal is assigned |
↳ accountId | string | AWS account ID |
↳ permissionSetArn | string | Permission set ARN |
↳ principalType | string | Principal type (USER or GROUP) |
↳ principalId | string | Identity Store user or group ID |
nextToken | string | Pagination token for the next page of results |
count | number | Number of assignments returned |
List every principal assigned a specific permission set on a specific AWS account. Use for per-account access reviews.
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
instanceArn | string | Yes | ARN of the Identity Center instance |
accountId | string | Yes | AWS account ID to list assignments for (12 digits) |
permissionSetArn | string | Yes | ARN of the permission set to list assignments for |
maxResults | number | No | Maximum number of assignments to return (1-100) |
nextToken | string | No | Pagination token from a previous request |
| Parameter | Type | Description |
|---|
assignments | array | Principals assigned this permission set on the account |
↳ accountId | string | AWS account ID |
↳ permissionSetArn | string | Permission set ARN |
↳ principalType | string | Principal type (USER or GROUP) |
↳ principalId | string | Identity Store user or group ID — resolve with Describe User or Describe Group |
nextToken | string | Pagination token for the next page of results |
count | number | Number of assignments returned |