

# Políticas basadas en identidad y políticas basadas en recursos
<a name="access_policies_identity-vs-resource"></a>

Una política es un objeto de AWS que, cuando se asocia a una identidad o un recurso, define sus permisos. Al crear una política de permisos para restringir el acceso a un recurso, puede elegir una *política basada en identidad* o una *política basada en recursos*.

Las **políticas basadas en identidad** se asocian a un usuario, grupo o rol de IAM. Estas políticas le permiten especificar lo que esa identidad puede hacer (sus permisos). Por ejemplo, puede asociar la política a un usuario de IAM llamado John, indicando que tiene permiso para utilizar la acción `RunInstances` de Amazon EC2. La política podría indicar también que John tiene permiso para obtener elementos de una tabla de Amazon DynamoDB denominada `MyCompany`. También puede permitir a John administrar sus propias credenciales de seguridad de IAM. Las políticas basadas en la identidad pueden ser [administradas o insertadas](access_policies_managed-vs-inline.md).

Las **políticas basadas en recursos** se asocian a un recurso. Por ejemplo, puede asociar políticas basadas en recursos a buckets de Amazon S3, colas de Amazon SQS, puntos de conexión de VPC, claves de cifrado de AWS Key Management Service y tablas y secuencias de Amazon DynamoDB. Para obtener una lista de las políticas que admiten los permisos basados en recursos, consulte [Servicios de AWS que funcionan con IAM](reference_aws-services-that-work-with-iam.md).

Con las políticas basadas en recursos, puede especificar quién tiene acceso al recurso y qué acciones puede realizar en él. Consulte [¿Qué es IAM Access Analyzer?](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html) para saber si las entidades principales de las cuentas fuera de su zona de confianza (cuenta u organización de confianza) tienen acceso para asumir sus roles. Las políticas basadas en recursos solo son insertadas, no se administran.

**nota**  
Las políticas *basadas en recursos* difieren de los permisos *en el nivel de recursos*. Puede asociar políticas basadas en recursos directamente a un recurso, tal y como se describe en este tema. Los permisos de nivel de recursos se refieren a la capacidad de utilizar [ARN](reference_identifiers.md#identifiers-arns) para especificar recursos individuales en una política. Las políticas basadas en recursos solo se admiten en algunos servicios de AWS. Para obtener una lista de los servicios que admiten las políticas basadas en recursos y de nivel de recursos, consulte [Servicios de AWS que funcionan con IAM](reference_aws-services-that-work-with-iam.md).

Para obtener información sobre cómo interactúan las políticas basadas en identidad y las políticas basadas en recursos dentro de la misma cuenta, consulte [Evaluación de políticas para solicitudes dentro de una misma cuenta](reference_policies_evaluation-logic_policy-eval-basics.md).

Para obtener información sobre cómo interactúan las políticas entre las cuentas, consulte [Lógica de evaluación de políticas entre cuentas](reference_policies_evaluation-logic-cross-account.md).

Para comprender mejor estos conceptos, vea la siguiente ilustración. El administrador de la cuenta `123456789012` asociada a las *políticas basadas en identidad* a los usuarios `John`, `Carlos` y `Mary`. Algunas de las acciones de estas políticas pueden realizarse en recursos específicos. Por ejemplo, el usuario `John` puede realizar algunas acciones en `Resource X`. Se trata de un *permiso de nivel de recursos* en una política basada en la identidad. El administrador también ha añadido *políticas basadas en recursos* a `Resource X`, `Resource Y` y `Resource Z`. Las políticas basadas en recursos le permiten especificar quién puede acceder a ese recurso. Por ejemplo, la política basada en recursos en `Resource X` permite a la lista de usuarios `John` y `Mary` acceso de lectura al recurso.

![Políticas basadas en identidad y políticas basadas en recursos](http://docs.aws.amazon.com/es_es/IAM/latest/UserGuide/images/Types_of_Permissions.diagram.png)


El ejemplo de cuenta `123456789012` permite a los siguientes usuarios realizar las acciones indicadas:
+ **John**: John puede realizar acciones de lista y lectura en `Resource X`. Se le concede este permiso mediante la política basada en la identidad en su usuario y la política basada en recursos en `Resource X`.
+ **Carlos**: Carlos puede realizar acciones de lista, lectura y escritura en `Resource Y`, pero se deniega el acceso a `Resource Z`. La política basada en la identidad en Carlos le permite realizar acciones de lista y lectura en `Resource Y`. La política basada en recursos `Resource Y` le permite también permisos de escritura. Sin embargo, aunque su política basada en la identidad le permite el acceso a `Resource Z`, la política basada en recursos `Resource Z` deniega ese tipo de acceso. Una denegación `Deny` explícita anula un permiso `Allow`, lo que le impide el acceso a `Resource Z`. Para obtener más información, consulte [Lógica de evaluación de políticas](reference_policies_evaluation-logic.md). 
+ **Mary**: Mary puede realizar operaciones de lista, lectura y escritura en `Resource X`, `Resource Y` y `Resource Z`. Su política basada en la identidad le permite más acciones en más recursos de las políticas basadas en recursos, pero ninguno de ellos deniega el acceso.
+ **Zhang**: Zhang tiene acceso total a `Resource Z`. Zhang no tiene políticas basadas en la identidad, pero la política basada en recursos `Resource Z` le permite el acceso completo al recurso. Zhang también puede realizar acciones de lista y lectura en `Resource Y`.

Las políticas basadas en la identidad y las políticas basadas en recursos son políticas de permisos y se evalúan juntas. Para una solicitud a la que se aplican solo políticas de permisos, AWS en primer lugar comprueba todas las políticas de `Deny`. Si existe, se deniega la solicitud. A continuación, AWS comprueba cada permiso `Allow`. Si al menos una instrucción de la política permite la acción en la solicitud, la solicitud se permite. No importa si el permiso `Allow` se encuentra en la política basada en identidad o en la política basada en recursos.

**importante**  
Esta lógica solo se aplica cuando la solicitud se realiza dentro de una cuenta única de Cuenta de AWS. Para las solicitudes realizadas de una cuenta a otra, el solicitante de la cuenta `Account A` debe tener una política basada en identidad que le permita realizar una solicitud al recurso en la cuenta `Account B`. Además, la política basada en recursos en `Account B` debe permitir al solicitante en `Account A` obtener acceso al recurso. Debe haber políticas en ambas cuentas que permitan la operación; de lo contrario, la solicitud producirá un error. Para obtener más información acerca del uso de políticas basadas en recursos para acceso entre cuentas, consulte [Acceso a recursos entre cuentas en IAM](access_policies-cross-account-resource-access.md).

Un usuario que tenga permisos específicos puede solicitar un recurso que también tenga una política de permisos asociada. En ese caso, AWS evalúa ambos conjuntos de permisos al determinar si debe conceder acceso al recurso. Para obtener información sobre cómo se evalúan las políticas, consulte [Lógica de evaluación de políticas](reference_policies_evaluation-logic.md). 

**nota**  
Amazon S3 admite las políticas basadas en identidad y las políticas basadas en recursos (a las que se denomina *políticas de bucket*). Además, Amazon S3 es compatible con un mecanismo de permiso conocido como una *lista de control de acceso (ACL)* independiente de las políticas y los permisos de IAM. Puede utilizar políticas de IAM combinadas con ACL de Amazon S3. Para obtener más información, consulte [Control de acceso ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingAuthAccess.html) en la *Guía del usuario de Amazon Simple Storage Service*. 