

# Permisos para utilizar el simulador de políticas
<a name="permissions-required_policy-simulator"></a>

Los permisos que necesita dependen de si utiliza la AWS CLI o la API de AWS, o la consola de IAM, y del modo que utilice.

------
#### [ Console ]

Necesita permiso para llamar a `iam:GetContextKeysForCustomPolicy` para utilizar el simulador de política de IAM en la consola.

Los permisos adicionales que necesite dependerán del modo. En el modo Principal, necesita permisos de lectura adicionales para enumerar las identidades de la cuenta y leer las políticas asociadas. Para reducir lo que tiene que conceder, use el modo Personalizado si solo necesita probar las políticas que pega.

**Modo Personalizado**  
Para usar el modo Personalizado, en el que se pegan las políticas que se desean probar, también se necesita `iam:SimulateCustomPolicy`

**Modo principal**  
Para usar el modo Principal, en el que la consola carga y muestra las identidades y políticas de su cuenta, necesita el permiso común y lo siguiente. Este es el conjunto más grande, ya que la consola tiene que detectar las identidades y leer las políticas adjuntas.

Simulación:
+ `iam:SimulatePrincipalPolicy`

Enumeración de identidades:
+ `iam:ListUsers`, `iam:ListRoles`, `iam:ListGroups`
+ `iam:ListGroupsForUser`

Listado de políticas asociadas:
+ `iam:ListPolicies`, `iam:ListUserPolicies`, `iam:ListRolePolicies`, `iam:ListGroupPolicies`
+ `iam:ListAttachedUserPolicies`, `iam:ListAttachedRolePolicies`, `iam:ListAttachedGroupPolicies`

Obtención de documentos de políticas:
+ `iam:GetPolicyVersion`, `iam:GetUserPolicy`, `iam:GetRolePolicy`, `iam:GetGroupPolicy`

Obtención de límites de permisos:
+ `iam:GetUser`, `iam:GetRole`

**Permisos adicionales para el modo Principal para simular políticas basadas en recursos**  
Para incluir la política de un recurso en una simulación en modo Principal, agregue el permiso de lectura para ese tipo de recurso:
+ `s3:GetBucketPolicy`, `sns:GetTopicAttributes`, `sqs:GetQueueUrl`, `sqs:GetQueueAttributes`, `glacier:GetVaultAccessPolicy`

Para ver políticas de ejemplo que conceden acceso al simulador, consulte [Ejemplos de políticas: AWS Identity and Access Management (IAM)](access_policies_examples.md#policy_library_IAM).

------
#### [ AWS CLI and AWS API ]

En el caso de la AWS CLI y la API de AWS, solo necesita el permiso para llamar a la acción de simulación correspondiente al tipo de política que desea probar. Si primero utiliza `iam:GetContextKeysForCustomPolicy` y `iam:GetContextKeysForPrincipalPolicy` para detectar las claves de contexto, conceda también permisos a estas acciones. Por motivos de seguridad, las acciones se dividen en los dos modos siguientes. Conceda únicamente los permisos que coincidan con lo que desea simular.

**Para simular las políticas que se pasan directamente a la API en forma de cadenas (políticas personalizadas)**  

+ `iam:SimulateCustomPolicy`
+ `iam:GetContextKeysForCustomPolicy` (solo si utiliza el paso de detección de claves de contexto)

Estas acciones le permiten probar políticas que aún no están asociadas a un usuario, grupo de usuarios o rol. Las políticas se pasan como cadenas y solo se utilizan en la simulación.

**Para simular políticas que están asociadas a un usuario, grupo de usuarios, rol o recurso de IAM**  

+ `iam:SimulatePrincipalPolicy`
+ `iam:GetContextKeysForPrincipalPolicy` (solo si utiliza el paso de detección de claves de contexto)

------

Dado que estas acciones pueden revelar los permisos asignados a otras entidades de IAM, considere restringir quién puede llamarlas. Por ejemplo, para conceder a un usuario llamado Bob permiso para simular una política asignada a una usuaria llamada Alice, conceda a Bob acceso al recurso `arn:aws:iam::777788889999:user/alice`.

Para ver una política de ejemplo que permita utilizar la API del simulador de políticas para políticas asociadas y no asociadas en la cuenta de Cuenta de AWS actual, consulte [IAM: acceso a la API del simulador de políticas](reference_policies_examples_iam_policy-sim.md). Para ver un ejemplo de política dirigida a los usuarios con una ruta específica, consulte [IAM: obtiene acceso a la API del simulador de políticas en función de la ruta de acceso del usuario](reference_policies_examples_iam_policy-sim-path.md).