AWS Identity and Access Management (IAM) controls access to AWS resources. Use this integration to manage users, roles, policies, groups, and access keys, or simulate a principal’s permissions before changing them.
Simulate Principal Policy returns one result per action regardless of how many resource ARNs you pass. The top-level decision is the aggregate across every resource — most restrictive wins — and the top-level resource name is an ARN template for the resource type, not one of your ARNs. Per-resource answers live in resourceSpecificResults, and when you supply concrete ARNs, missing context keys are reported there too rather than at the top level. Read resourceSpecificResults whenever you simulate against more than one resource: the aggregate alone will tell you a principal is denied when it is in fact allowed on some of them.
The secret half of a new access key is returned once and is hidden from block output display and execution logs. It stays resolvable downstream, so rotation workflows can pass it straight to the system that needs it — but a block you pass it into will log it under that block's own inputs.
Create and manage users, roles, policies, groups, and access keys.
List IAM users in your AWS account
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key pathPrefixstring No Path prefix to filter users (e.g., /division_abc/) maxItemsnumber No Maximum number of users to return (1-1000, default 100) markerstring No Pagination marker from a previous request
Parameter Type Description usersjson List of IAM users with userName, userId, arn, path, and dates isTruncatedboolean Whether there are more results available markerstring Pagination marker for the next page of results countnumber Number of users returned
Get detailed information about an IAM user
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key userNamestring No The name of the IAM user to retrieve (defaults to the caller if omitted)
Parameter Type Description userNamestring The name of the user userIdstring The unique ID of the user arnstring The ARN of the user pathstring The path to the user createDatestring Date the user was created passwordLastUsedstring Date the password was last used permissionsBoundaryArnstring ARN of the permissions boundary policy tagsjson Tags attached to the user (key, value pairs)
Create a new IAM user
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key userNamestring Yes Name for the new IAM user (1-64 characters) pathstring No Path for the user (e.g., /division_abc/), defaults to /
Parameter Type Description messagestring Operation status message userNamestring The name of the created user userIdstring The unique ID of the created user arnstring The ARN of the created user pathstring The path of the created user createDatestring Date the user was created
Delete an IAM user
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key userNamestring Yes The name of the IAM user to delete
Parameter Type Description messagestring Operation status message
List IAM roles in your AWS account
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key pathPrefixstring No Path prefix to filter roles (e.g., /application/) maxItemsnumber No Maximum number of roles to return (1-1000, default 100) markerstring No Pagination marker from a previous request
Parameter Type Description rolesjson List of IAM roles with roleName, roleId, arn, path, and dates isTruncatedboolean Whether there are more results available markerstring Pagination marker for the next page of results countnumber Number of roles returned
Get detailed information about an IAM role
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key roleNamestring Yes The name of the IAM role to retrieve
Parameter Type Description roleNamestring The name of the role roleIdstring The unique ID of the role arnstring The ARN of the role pathstring The path to the role createDatestring Date the role was created descriptionstring Description of the role maxSessionDurationnumber Maximum session duration in seconds assumeRolePolicyDocumentstring The trust policy document (JSON) roleLastUsedDatestring Date the role was last used roleLastUsedRegionstring AWS region where the role was last used
Create a new IAM role with a trust policy
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key roleNamestring Yes Name for the new IAM role (1-64 characters) assumeRolePolicyDocumentstring Yes Trust policy JSON specifying who can assume this role descriptionstring No Description of the role pathstring No Path for the role (e.g., /application/), defaults to / maxSessionDurationnumber No Maximum session duration in seconds (3600-43200, default 3600)
Parameter Type Description messagestring Operation status message roleNamestring The name of the created role roleIdstring The unique ID of the created role arnstring The ARN of the created role pathstring The path of the created role createDatestring Date the role was created
Delete an IAM role
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key roleNamestring Yes The name of the IAM role to delete
Parameter Type Description messagestring Operation status message
Attach a managed policy to an IAM user
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key userNamestring Yes The name of the IAM user policyArnstring Yes The ARN of the managed policy to attach
Parameter Type Description messagestring Operation status message
Remove a managed policy from an IAM user
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key userNamestring Yes The name of the IAM user policyArnstring Yes The ARN of the managed policy to detach
Parameter Type Description messagestring Operation status message
Attach a managed policy to an IAM role
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key roleNamestring Yes The name of the IAM role policyArnstring Yes The ARN of the managed policy to attach
Parameter Type Description messagestring Operation status message
Remove a managed policy from an IAM role
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key roleNamestring Yes The name of the IAM role policyArnstring Yes The ARN of the managed policy to detach
Parameter Type Description messagestring Operation status message
List managed IAM policies
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key scopestring No Filter by scope. Must be exactly one of: All, AWS (AWS-managed), Local (customer-managed) onlyAttachedboolean No If true, only return policies attached to an entity pathPrefixstring No Path prefix to filter policies maxItemsnumber No Maximum number of policies to return (1-1000, default 100) markerstring No Pagination marker from a previous request
Parameter Type Description policiesjson List of policies with policyName, policyId, arn, path, attachmentCount, isAttachable, defaultVersionId, permissionsBoundaryUsageCount, and dates. AWS never returns policy descriptions from ListPolicies — use IAM Get Policy for a description. isTruncatedboolean Whether there are more results available markerstring Pagination marker for the next page of results countnumber Number of policies returned
Get details about a managed IAM policy, including its description — the field ListPolicies never returns
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key policyArnstring Yes ARN of the managed policy to retrieve (e.g., arn:aws:iam::aws:policy/ReadOnlyAccess)
Parameter Type Description policyNamestring The friendly name of the policy policyIdstring The stable unique ID of the policy arnstring The ARN of the policy pathstring The path to the policy attachmentCountnumber Number of entities the policy is attached to isAttachableboolean Whether the policy can be attached createDatestring Date the policy was created updateDatestring Date the policy was last updated descriptionstring The policy description defaultVersionIdstring The identifier of the default policy version permissionsBoundaryUsageCountnumber Number of entities using the policy as a permissions boundary tagsjson Tags attached to the policy (key, value pairs)
Create a new access key pair for an IAM user
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key userNamestring No The IAM user to create the key for (defaults to current user)
Parameter Type Description messagestring Operation status message accessKeyIdstring The new access key ID secretAccessKeystring The new secret access key (only shown once) userNamestring The user the key was created for statusstring Status of the access key (Active) createDatestring Date the key was created
Delete an access key pair for an IAM user
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key accessKeyIdToDeletestring Yes The access key ID to delete userNamestring No The IAM user whose key to delete (defaults to current user)
Parameter Type Description messagestring Operation status message
List an IAM user's access key IDs with their status and age — use to find stale keys and to confirm which keys remain after a rotation
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key userNamestring No The IAM user whose keys to list (defaults to the calling user if omitted) maxItemsnumber No Maximum number of access keys to return (1-1000) markerstring No Pagination marker from a previous request
Parameter Type Description accessKeysjson Access key metadata: accessKeyId, userName, status (Active/Inactive), createDate. The secret access key is never returned by this operation. isTruncatedboolean Whether there are more results available markerstring Pagination marker for the next page of results countnumber Number of access keys returned
Activate or deactivate an IAM access key — deactivate an old key and verify nothing breaks before deleting it
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key accessKeyIdToUpdatestring Yes The access key ID whose status to change statusstring Yes The status to set. Must be exactly one of: Active, Inactive. An Inactive key is rejected by AWS but can be reactivated. userNamestring No The IAM user that owns the key (defaults to the calling user if omitted)
Parameter Type Description messagestring Operation status message
List IAM groups in your AWS account
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key pathPrefixstring No Path prefix to filter groups maxItemsnumber No Maximum number of groups to return (1-1000, default 100) markerstring No Pagination marker from a previous request
Parameter Type Description groupsjson List of IAM groups with groupName, groupId, arn, and path isTruncatedboolean Whether there are more results available markerstring Pagination marker for the next page of results countnumber Number of groups returned
Add an IAM user to a group
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key userNamestring Yes The name of the IAM user groupNamestring Yes The name of the IAM group
Parameter Type Description messagestring Operation status message
Remove an IAM user from a group
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key userNamestring Yes The name of the IAM user groupNamestring Yes The name of the IAM group
Parameter Type Description messagestring Operation status message
List all managed policies attached to an IAM role
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key roleNamestring Yes Name of the IAM role pathPrefixstring No Path prefix to filter policies (e.g., /application/) maxItemsnumber No Maximum number of policies to return (1-1000) markerstring No Pagination marker from a previous request
Parameter Type Description attachedPoliciesjson List of attached policies with policyName and policyArn isTruncatedboolean Whether there are more results available markerstring Pagination marker for the next page of results countnumber Number of attached policies returned
List all managed policies attached to an IAM user
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key userNamestring Yes Name of the IAM user pathPrefixstring No Path prefix to filter policies (e.g., /application/) maxItemsnumber No Maximum number of policies to return (1-1000) markerstring No Pagination marker from a previous request
Parameter Type Description attachedPoliciesjson List of attached policies with policyName and policyArn isTruncatedboolean Whether there are more results available markerstring Pagination marker for the next page of results countnumber Number of attached policies returned
Simulate whether a user, role, or group is allowed to perform specific AWS actions — useful for pre-flight access checks
Inputs and outputsParameter Type Required Description regionstring Yes AWS region (e.g., us-east-1) accessKeyIdstring Yes AWS access key ID secretAccessKeystring Yes AWS secret access key policySourceArnstring Yes ARN of the user, group, or role to simulate (e.g., arn:aws:iam::123456789012:user/alice) actionNamesstring Yes Comma-separated list of AWS actions to simulate (e.g., s3:GetObject,ec2:DescribeInstances) resourceArnsstring No Comma-separated list of resource ARNs to simulate against (defaults to * if not provided). Read the per-ARN verdict from resourceSpecificResults, not from evalDecision. contextEntriesarray No Condition context keys to supply to the simulation. Without these, any policy gated by a Condition simulates as denied with missing context values. maxResultsnumber No Maximum number of simulation results to return (1-1000) markerstring No Pagination marker from a previous request
Parameter Type Description evaluationResultsjson One result per simulated action. evalDecision is the AGGREGATE, most-restrictive decision across every resource ARN, and evalResourceName is the resource-type ARN template (e.g. an arn:aws:s3:::BUCKET/KEY shape with the bucket and key left as placeholders), not a customer ARN. For the verdict on an individual ARN read resourceSpecificResults[]: evalResourceName, evalResourceDecision (allowed/explicitDeny/implicitDeny), matchedStatements, missingContextValues, permissionsBoundaryAllowed. When concrete resource ARNs are supplied, missing context values appear there rather than at the top level. isTruncatedboolean Whether there are more results available markerstring Pagination marker for the next page of results countnumber Number of evaluation results returned