Cómo los roles de IAM difieren de las políticas basadas en recursos - AWS Identity and Access Management

Cómo los roles de IAM difieren de las políticas basadas en recursos

Para algunos servicios de AWS, puede conceder acceso entre cuentas a los recursos. Para ello, debe asociar una política directamente al recurso que desea compartir, en lugar de usar un rol como proxy. El recurso que desea compartir debe admitir políticas basadas en recursos. A diferencia de una política basada en identidad, una política basada en recursos especifica quién (qué principal) puede acceder a ese recurso.

nota

Los roles de IAM y las políticas basadas en recursos delegan el acceso entre cuentas solo dentro de una única partición. Suponga, por ejemplo, que tiene una cuenta en EE.UU. Oeste (Norte de California) en la partición estándar aws. También tiene una cuenta en China (Pekín) en la partición aws-cn. No puede usar una política de Amazon S3 basada en recursos en su cuenta en China (Pekín) para permitir el acceso a los usuarios de su cuenta aws estándar.

El acceso entre cuentas con una política basada en recursos tiene algunas ventajas sobre el acceso entre cuentas con un rol. Con un recurso al que se accede a través de una política basada en recursos, el principal sigue trabajando en la cuenta de confianza y no tiene que renunciar a sus permisos para recibir los permisos de rol. Dicho de otro modo, el principal sigue teniendo acceso a los recursos de la cuenta de confianza y también al recurso de la cuenta de confianza. Esto es útil para tareas como copiar información en o desde el recurso compartido en la otra cuenta.Para obtener información sobre si las entidades principales de las cuentas que no se encuentran en su zona de confianza (cuenta u organización de confianza) tienen acceso para asumir sus roles, consulte ¿Qué es IAM Access Analyzer?.

Los principales que puede especificar en una política basada en recursos incluyen cuentas, usuarios de IAM, usuarios federados, roles de IAM, sesiones de rol asumido o servicios de AWS. Para obtener más información, consulte Especificación de una entidad principal.

La lista siguiente incluye algunos de los servicios de AWS que admiten políticas basadas en recursos. Para obtener una lista completa del número creciente de servicios de AWS que admiten la asociación de políticas de permisos a recursos en lugar de asociarlas a elementos principales, consulte Servicios de AWS que funcionan con IAM y busque los servicios que tengan en la columna basadas en recursos.

  • Buckets de Amazon S3 buckets – La política se asocia al bucket, pero la política controla el acceso tanto al bucket como a los objetos que hay en él. Para obtener más información, diríjase a Control de acceso en la Guía para desarrolladores de Amazon Simple Storage Service.

    En algunos casos, puede ser mejor utilizar roles para el acceso entre cuentas a Amazon S3. Para obtener más información, consulte los tutoriales de ejemplo en la Guía para desarrolladores de Amazon Simple Storage Service.

  • Temas de Amazon Simple Notification Service (Amazon SNS) – Para obtener más información, consulte Administración del acceso a los temas de Amazon SNS en la Guía para desarrolladores de Amazon Simple Notification Service.

  • Colas de Amazon Simple Queue Service (Amazon SQS) – Para obtener más información, diríjase a Apéndice: El lenguaje de la política de acceso en la Guía para desarrolladores de Amazon Simple Queue Service.

Cómo delegar permisos de AWS en una política basada en recursos

Si un recurso concede permisos a los principales de la cuenta, puede delegar esos permisos a identidades de IAM específicas. Las identidades son usuarios, grupos de usuarios o roles de la cuenta. Para delegar permisos debe asociar una política a la identidad. Puede otorgar el número máximo de permisos permitidos por la cuenta propietaria de los recursos.

Suponga que una política basada en recursos permite a todos los principales de la cuenta acceso administrativo completo a un recurso. A continuación, puede delegar acceso completo, acceso de solo lectura o cualquier otro acceso parcial a entidades principales de la cuenta de AWS. Alternativamente, si la política basada en recursos solo permite permisos de lista, entonces solo podrá delegar el acceso a la lista. Si intenta delegar más permisos que los que tiene la cuenta, los principales seguirán teniendo acceso únicamente a las listas. Para obtener información sobre cómo asociar una política a una identidad de IAM, consulte Administración de políticas de IAM.

nota

Los roles de IAM y las políticas basadas en recursos delegan el acceso entre cuentas solo dentro de una única partición. Por ejemplo, no puede añadir acceso entre cuentas entre una cuenta en la partición aws estándar y una cuenta en la partición aws-cn.

Por ejemplo, suponga que administra AccountA y AccountB. En AccountA, tiene el bucket de Amazon S3 llamado BucketA. Asocie una política basada en recursos al BucketA que permita a todos los principales de AccountB acceso completo a los objetos del bucket. De este modo podrán crear, leer o eliminar cualquier objeto de ese bucket. En AccountB, asocia una política al usuario de IAM llamado User2. Esta política permite al usuario acceso de solo lectura a los objetos de BucketA. Esto significa que User2 puede ver los objetos, pero no crearlos, editarlos ni eliminarlos.


        Delegar el acceso a una cuenta de AWS
  1. AccountA otorga a AccountB acceso completo a AccountB al designar aBucketA como principal en la política basada en recursos. Como resultado, AccountB está autorizado a realizar cualquier acción en BucketA, y el administrador de AccountB puede delegar el acceso a sus usuarios en AccountB.

  2. El usuario raíz de AccountB tiene todos los permisos que se conceden a la cuenta. Por lo tanto, el usuario raíz tiene acceso completo a BucketA.

  3. El administrador de AccountB no da acceso a User1. De forma predeterminada, los usuarios no tienen permisos excepto aquellos que se conceden explícitamente. Por lo tanto, User1 no tiene acceso a BucketA.

  4. El administrador de AccountB concede acceso de solo lectura de User2 a BucketA. User2 puede ver los objetos en el bucket. El nivel máximo de acceso que AccountB puede delegar es el nivel de acceso que se concede a la cuenta. En este caso, la política basada en recursos ha concedido acceso completo a AccountB, pero a User2 acceso de solo lectura.

IAM evalúa los permisos del principal en el momento en que el principal realiza una solicitud. Por lo tanto, si utiliza comodines (*) para dar a los usuarios acceso completo a los recursos, los principales pueden acceder a los recursos a los que tenga acceso la cuenta de AWS. Esto es cierto incluso para los recursos a los que agrega o para los que obtiene acceso después de crear la política del usuario.

En el ejemplo anterior, si AccountB hubiera asociado una política a User2 que permitiera el acceso completo a todos los recursos de todas las cuentas, User2 tendría acceso automáticamente a todos los recursos a los que AccountB tuviera acceso. Esto incluye el acceso a BucketA y el acceso a cualquier otro recurso otorgado por las políticas basadas en recursos en AccountA.

importante

Conceda acceso únicamente a las entidades en las que confíe y conceda el nivel mínimo de acceso necesario. Siempre que la entidad de confianza sea otra cuenta de AWS, dicha cuenta puede, a su vez, delegar acceso a cualquiera de sus usuarios de IAM. La cuenta de confianza de AWS puede delegar acceso únicamente en la medida en que se ha concedido acceso a dicha cuenta; no puede delegar más acceso que el que la propia cuenta tiene.

Para obtener información sobre los permisos, las políticas y el lenguaje de la política de permisos que debe utilizar para escribir políticas, consulte Administración de accesos para recursos de AWS.