class
Amazonite::Iam::EvaluationResult
- Amazonite::Iam::EvaluationResult
- Reference
- Object
Overview
Contains the results of a simulation.
This data type is used by the return parameter of [SimulateCustomPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_SimulateCustomPolicy.html) and [SimulatePrincipalPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_SimulatePrincipalPolicy.html).
The simulator now returns a single EvaluationResult per action, regardless of how many
resource ARNs are provided. Previously, simulating one action against N resources returned N
evaluation results, each containing the same aggregate decision. The top-level fields
(EvalDecision, MatchedStatements, MissingContextValues, EvalDecisionDetails) now
represent the aggregate decision across all requested resources. The top-level EvalDecision
reflects the most restrictive decision across all resources (for example, if any resource
produces explicitDeny, the top-level decision is explicitDeny).
To see the decision for each individual resource, use ResourceSpecificResults. If your
application parses evaluation results per resource ARN, update your code to read per-resource
decisions from ResourceSpecificResults rather than from the top-level result.
Defined in:
iam/evaluation_result.crConstructors
- .from_xml(node : XML::Node) : self
- .new(eval_action_name : String, eval_decision : PolicyEvaluationDecisionType, eval_resource_name : String | Nil = nil, matched_statements : Array(Statement) | Nil = nil, missing_context_values : Array(String) | Nil = nil, organizations_decision_detail : OrganizationsDecisionDetail | Nil = nil, permissions_boundary_decision_detail : PermissionsBoundaryDecisionDetail | Nil = nil, eval_decision_details : Hash(String, PolicyEvaluationDecisionType) | Nil = nil, resource_specific_results : Array(ResourceSpecificResult) | Nil = nil)
Instance Method Summary
-
#==(other : self)
Returns
trueif this reference is the same as other. -
#eval_action_name : String
The name of the API operation tested on the indicated resource.
-
#eval_action_name=(eval_action_name : String)
The name of the API operation tested on the indicated resource.
-
#eval_decision : PolicyEvaluationDecisionType
The result of the simulation.
-
#eval_decision=(eval_decision : PolicyEvaluationDecisionType)
The result of the simulation.
-
#eval_decision_details : Hash(String, PolicyEvaluationDecisionType) | Nil
Additional details about the results of the cross-account evaluation decision.
-
#eval_decision_details=(eval_decision_details : Hash(String, PolicyEvaluationDecisionType) | Nil)
Additional details about the results of the cross-account evaluation decision.
-
#eval_resource_name : String | Nil
The ARN template for the simulated resource type (for example,
arn:${Partition}:s3:::${BucketName}/${KeyName}), or*if no ARN format is defined for the action. -
#eval_resource_name=(eval_resource_name : String | Nil)
The ARN template for the simulated resource type (for example,
arn:${Partition}:s3:::${BucketName}/${KeyName}), or*if no ARN format is defined for the action. -
#hash(hasher)
See
Object#hash(hasher) -
#matched_statements : Array(Statement) | Nil
A list of the statements in the input policies that determine the result for this scenario.
-
#matched_statements=(matched_statements : Array(Statement) | Nil)
A list of the statements in the input policies that determine the result for this scenario.
-
#missing_context_values : Array(String) | Nil
A list of context keys that are required by the included input policies but that were not provided by one of the input parameters.
-
#missing_context_values=(missing_context_values : Array(String) | Nil)
A list of context keys that are required by the included input policies but that were not provided by one of the input parameters.
-
#organizations_decision_detail : OrganizationsDecisionDetail | Nil
A structure that details how Organizations and its service control policies affect the results of the simulation.
-
#organizations_decision_detail=(organizations_decision_detail : OrganizationsDecisionDetail | Nil)
A structure that details how Organizations and its service control policies affect the results of the simulation.
-
#permissions_boundary_decision_detail : PermissionsBoundaryDecisionDetail | Nil
Contains information about the effect that a permissions boundary has on a policy simulation when the boundary is applied to an IAM entity.
-
#permissions_boundary_decision_detail=(permissions_boundary_decision_detail : PermissionsBoundaryDecisionDetail | Nil)
Contains information about the effect that a permissions boundary has on a policy simulation when the boundary is applied to an IAM entity.
-
#resource_specific_results : Array(ResourceSpecificResult) | Nil
The individual results of the simulation of the API operation specified in EvalActionName on each resource.
-
#resource_specific_results=(resource_specific_results : Array(ResourceSpecificResult) | Nil)
The individual results of the simulation of the API operation specified in EvalActionName on each resource.
- #to_query_params(prefix : String) : Array(Tuple(String, String))
- #validate! : Nil
Constructor Detail
Instance Method Detail
Returns true if this reference is the same as other. Invokes same?.
The name of the API operation tested on the indicated resource.
Additional details about the results of the cross-account evaluation decision. This parameter is populated for only cross-account simulations. It contains a brief summary of how each policy type contributes to the final evaluation decision.
In the top-level result, this map reports the most restrictive decision per policy type across all requested resources.
If the simulation evaluates policies within the same account and includes a resource ARN, then
the parameter is present but the response is empty. If the simulation evaluates policies within
the same account and specifies all resources (*), then the parameter is not returned.
When you make a cross-account request, Amazon Web Services evaluates the request in the trusting
account and the trusted account. The request is allowed only if both evaluations return true.
For more information about how policies are evaluated, see Evaluating policies within a single
account.
If an Organizations SCP included in the evaluation denies access, the simulation ends. In this case, policy evaluation does not proceed any further and this parameter is not returned.
Additional details about the results of the cross-account evaluation decision. This parameter is populated for only cross-account simulations. It contains a brief summary of how each policy type contributes to the final evaluation decision.
In the top-level result, this map reports the most restrictive decision per policy type across all requested resources.
If the simulation evaluates policies within the same account and includes a resource ARN, then
the parameter is present but the response is empty. If the simulation evaluates policies within
the same account and specifies all resources (*), then the parameter is not returned.
When you make a cross-account request, Amazon Web Services evaluates the request in the trusting
account and the trusted account. The request is allowed only if both evaluations return true.
For more information about how policies are evaluated, see Evaluating policies within a single
account.
If an Organizations SCP included in the evaluation denies access, the simulation ends. In this case, policy evaluation does not proceed any further and this parameter is not returned.
The ARN template for the simulated resource type (for example,
arn:${Partition}:s3:::${BucketName}/${KeyName}), or * if no ARN format is defined for the
action. This is not a specific customer-provided resource ARN. To find the decision for a
specific resource, use ResourceSpecificResults.
If you previously relied on EvalResourceName to identify which specific resource a result
applies to, you must now use the EvalResourceName field within individual entries in
ResourceSpecificResults instead.
The ARN template for the simulated resource type (for example,
arn:${Partition}:s3:::${BucketName}/${KeyName}), or * if no ARN format is defined for the
action. This is not a specific customer-provided resource ARN. To find the decision for a
specific resource, use ResourceSpecificResults.
If you previously relied on EvalResourceName to identify which specific resource a result
applies to, you must now use the EvalResourceName field within individual entries in
ResourceSpecificResults instead.
A list of the statements in the input policies that determine the result for this scenario. Remember that even if multiple statements allow the operation on the resource, if only one statement denies that operation, then the explicit deny overrides any allow. In addition, the deny statement is the only entry included in the result.
In the top-level result, this field contains the union of matched statements across all
requested resources. Only statements that contributed to the reported decision are included. For
per-resource matched statements, see ResourceSpecificResults. This field doesn't include
statements from service control policies (SCPs). Only statements from identity-based and
resource-based policies appear here.
A list of the statements in the input policies that determine the result for this scenario. Remember that even if multiple statements allow the operation on the resource, if only one statement denies that operation, then the explicit deny overrides any allow. In addition, the deny statement is the only entry included in the result.
In the top-level result, this field contains the union of matched statements across all
requested resources. Only statements that contributed to the reported decision are included. For
per-resource matched statements, see ResourceSpecificResults. This field doesn't include
statements from service control policies (SCPs). Only statements from identity-based and
resource-based policies appear here.
A list of context keys that are required by the included input policies but that were not
provided by one of the input parameters. This list is used when the resource in a simulation is
"*", either explicitly, or when the ResourceArns parameter blank. If you include a list of
resources, then any missing context values are instead included under the
ResourceSpecificResults section. To discover the context keys used by a set of policies, you
can call
GetContextKeysForCustomPolicy
or
GetContextKeysForPrincipalPolicy.
In the top-level result, this field contains the deduplicated set of missing context values across all requested resources. This field doesn't include context keys referenced by service control policies (SCPs). Only context keys referenced by identity-based and resource-based policies appear here.
A list of context keys that are required by the included input policies but that were not
provided by one of the input parameters. This list is used when the resource in a simulation is
"*", either explicitly, or when the ResourceArns parameter blank. If you include a list of
resources, then any missing context values are instead included under the
ResourceSpecificResults section. To discover the context keys used by a set of policies, you
can call
GetContextKeysForCustomPolicy
or
GetContextKeysForPrincipalPolicy.
In the top-level result, this field contains the deduplicated set of missing context values across all requested resources. This field doesn't include context keys referenced by service control policies (SCPs). Only context keys referenced by identity-based and resource-based policies appear here.
A structure that details how Organizations and its service control policies affect the results of the simulation. Only applies if the simulated user's account is part of an organization.
For resources that don't support organization-level evaluation, this field is omitted from the
top-level result. For per-resource details, see ResourceSpecificResults.
A structure that details how Organizations and its service control policies affect the results of the simulation. Only applies if the simulated user's account is part of an organization.
For resources that don't support organization-level evaluation, this field is omitted from the
top-level result. For per-resource details, see ResourceSpecificResults.
Contains information about the effect that a permissions boundary has on a policy simulation when the boundary is applied to an IAM entity.
Contains information about the effect that a permissions boundary has on a policy simulation when the boundary is applied to an IAM entity.
The individual results of the simulation of the API operation specified in EvalActionName on each resource.
The individual results of the simulation of the API operation specified in EvalActionName on each resource.