IntegrationsAwsActions
Simulate IAM principal policy
Simulate whether a principal is allowed to perform actions. Does not accept caller-supplied policy documents. Requires iam:SimulatePrincipalPolicy.
iam.principal_policy.simulate · AWS · v1
Details
Scopes
iam:SimulatePrincipalPolicy
Input
| Name | Type | Required | Constraints |
|---|---|---|---|
(root) | object | Yes | additionalProperties false |
policy_source_arn | string | Yes | minLength 20; maxLength 2048; pattern ^arn:aws:.+$ |
action_names | array<string> | Yes | minItems 1; maxItems 50 |
action_names[] | string | Yes | minLength 3; maxLength 128; pattern ^[a-z0-9-]+:[A-Za-z0-9*]+$ |
resource_arns | array<string> | No | maxItems 50 |
resource_arns[] | string | Yes | minLength 1; maxLength 2048; pattern ^(?:\*|arn:aws:.+)$ |
context_entries | array<object> | No | maxItems 50 |
context_entries[] | object | Yes | additionalProperties false |
context_entries[].name | string | Yes | minLength 1; maxLength 256 |
context_entries[].values | array<string> | Yes | minItems 1; maxItems 20 |
context_entries[].values[] | string | Yes | minLength 1; maxLength 1024 |
context_entries[].type | string | Yes | enum string | stringList | numeric | numericList | boolean | booleanList | ip | ipList | binary | binaryList | date | dateList |
page_size | integer | No | minimum 1; maximum 1000 |
cursor | string | No | minLength 1; maxLength 16384; pattern ^(?!.*://)[^\x00-\x1f\x7f]+$ |
Output
| Name | Type | Required | Constraints |
|---|---|---|---|
(root) | object | Yes | additionalProperties false |
evaluations | array<object> | Yes | maxItems 1000 |
evaluations[] | object | Yes | additionalProperties false |
evaluations[].action_name | string | Yes | minLength 3; maxLength 128; pattern ^[a-z0-9-]+:[A-Za-z0-9*]+$ |
evaluations[].resource_arn | string | No | minLength 1; maxLength 2048 |
evaluations[].decision | string | Yes | enum allowed | explicitDeny | implicitDeny |
evaluations[].missing_context_values | array<string> | Yes | maxItems 50 |
evaluations[].missing_context_values[] | string | Yes | minLength 1; maxLength 256 |
evaluations[].matched_statements | array<object> | Yes | maxItems 50 |
evaluations[].matched_statements[] | object | Yes | additionalProperties false |
evaluations[].matched_statements[].source_policy_id | string | No | maxLength 256 |
evaluations[].matched_statements[].source_policy_type | string | No | maxLength 128 |
evaluations[].permissions_boundary_decision | boolean | No | — |
evaluations[].organizations_decision | boolean | No | — |
next_cursor | string | No | minLength 1; maxLength 16384; pattern ^(?!.*://)[^\x00-\x1f\x7f]+$ |
Raw schema
Input
{
"type": "object",
"additionalProperties": false,
"properties": {
"policy_source_arn": {
"type": "string",
"minLength": 20,
"maxLength": 2048,
"pattern": "^arn:aws:.+$"
},
"action_names": {
"type": "array",
"items": {
"type": "string",
"minLength": 3,
"maxLength": 128,
"pattern": "^[a-z0-9-]+:[A-Za-z0-9*]+$"
},
"minItems": 1,
"maxItems": 50
},
"resource_arns": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 2048,
"pattern": "^(?:\\*|arn:aws:.+)$"
},
"maxItems": 50
},
"context_entries": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"values": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 1024
},
"minItems": 1,
"maxItems": 20
},
"type": {
"type": "string",
"enum": [
"string",
"stringList",
"numeric",
"numericList",
"boolean",
"booleanList",
"ip",
"ipList",
"binary",
"binaryList",
"date",
"dateList"
]
}
},
"required": [
"name",
"values",
"type"
]
},
"maxItems": 50
},
"page_size": {
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 16384,
"pattern": "^(?!.*://)[^\\x00-\\x1f\\x7f]+$"
}
},
"required": [
"policy_source_arn",
"action_names"
]
}Output
{
"type": "object",
"additionalProperties": false,
"properties": {
"evaluations": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"action_name": {
"type": "string",
"minLength": 3,
"maxLength": 128,
"pattern": "^[a-z0-9-]+:[A-Za-z0-9*]+$"
},
"resource_arn": {
"type": "string",
"minLength": 1,
"maxLength": 2048
},
"decision": {
"type": "string",
"enum": [
"allowed",
"explicitDeny",
"implicitDeny"
]
},
"missing_context_values": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"maxItems": 50
},
"matched_statements": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"source_policy_id": {
"type": "string",
"maxLength": 256
},
"source_policy_type": {
"type": "string",
"maxLength": 128
}
}
},
"maxItems": 50
},
"permissions_boundary_decision": {
"type": "boolean"
},
"organizations_decision": {
"type": "boolean"
}
},
"required": [
"action_name",
"decision",
"missing_context_values",
"matched_statements"
]
},
"maxItems": 1000
},
"next_cursor": {
"type": "string",
"minLength": 1,
"maxLength": 16384,
"pattern": "^(?!.*://)[^\\x00-\\x1f\\x7f]+$"
}
},
"required": [
"evaluations"
]
}