Cómo los permisos y políticas permiten realizar administración de acceso
La parte de administración del acceso de AWS Identity and Access Management (IAM) lo ayuda a definir qué puede hacer una entidad principal en una cuenta. Una entidad principal es una persona o aplicación autenticada mediante una entidad de IAM (usuario de IAM o rol de IAM). La gestión del acceso a menudo se denomina autorización. Puede administrar el acceso en AWS creando políticas y asociándolas a identidades de IAM (usuarios de IAM, grupos de IAM o roles de IAM) o a recursos de AWS. Una política es un objeto de AWS que, cuando se asocia a una identidad o un recurso, define sus permisos. AWS evalúa estas políticas cuando una entidad principal utiliza una entidad de IAM (usuario de IAM o rol de IAM) para realizar una solicitud. Los permisos en las políticas determinan si la solicitud se permite o se deniega. La mayoría de las políticas se almacenan en AWS como documentos JSON. Para obtener más información sobre los tipos de políticas y sus usos, consulte Políticas y permisos en AWS Identity and Access Management.
Políticas y cuentas
Si administra una única cuenta en AWS, definirá los permisos dentro de dicha cuenta mediante políticas. Si administra permisos de varias cuentas, le resultará más difícil la administración de permisos para sus usuarios de IAM. Puede utilizar roles de IAM, políticas basadas en recursos o listas de control de acceso (ACL) para gestionar los permisos entre cuentas. Sin embargo, si es propietario de varias cuentas, es recomendable utilizar el servicio AWS Organizations para administrar esos permisos. Para obtener más información, consulte Qué es AWS Organizations en la Guía del usuario de Organizations.
Políticas y usuarios
Los usuarios de IAM son identidades en la Cuenta de AWS. Cuando se crean usuarios de IAM, estos no pueden obtener acceso a ningún elemento de la cuenta hasta que se les conceda permiso. Se conceden permisos a un usuario de IAM mediante la creación de una política basada en identidades, que se adjunta al usuario de IAM o a un grupo de IAM al que este usuario de IAM pertenece. En el siguiente ejemplo, se muestra una política JSON que permite al usuario de IAM realizar todas las acciones de Amazon DynamoDB (dynamodb:*
) en la tabla Books
de la cuenta 123456789012
de la región us-east-2
.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "dynamodb:*", "Resource": "arn:aws:dynamodb:us-east-2:123456789012:table/Books" } }
Una vez que adjunte esta política a su usuario de IAM, el usuario tendrá permiso para realizar todas las acciones en la tabla Books
de su instancia de DynamoDB. La mayoría de los usuarios de IAM tienen múltiples políticas que se combinan para representar el total de permisos otorgados.
De forma predeterminada, se deniegan las acciones o recursos que no estén de manera explícita autorizados por una política. Por ejemplo, si la política anterior es la única política adjunta a un usuario, entonces ese usuario podrá realizar acciones de DynamoDB en la tabla Books
, pero no podrá realizar acciones en otras tablas. De manera similar, el usuario no tiene permitido realizar ninguna acción en Amazon EC2, Amazon S3 ni en ningún otro servicio de AWS porque los permisos para trabajar con esos servicios no están incluidos en la política.
Políticas y grupos de IAM
Puede organizar a los usuarios de IAM en grupos de IAM y asociar una política a cada grupo de IAM. En ese caso, los usuarios de IAM individuales conservan sus propias credenciales; no obstante, todos los usuarios de IAM en el grupo de IAM comparten los permisos adjuntos al grupo. Utilice grupos de IAM para facilitar la administración de los permisos.
Los usuarios de IAM o los grupos de IAM pueden tener asociadas varias políticas que concedan permisos diferentes. En ese caso, la combinación de políticas determina los permisos en vigor para la entidad principal. Si la entidad principal no cuenta con permisos Allow
explícitos tanto para una acción como para un recurso, entonces la entidad principal no posee esos permisos.
Usuarios federados y roles
Los usuarios federados no tienen identidades permanentes en su Cuenta de AWS tal y como las tienen los usuarios de IAM. Para asignar permisos a usuarios federados, puede crear una entidad a la que se hace referencia como rol y definir permisos para el rol. Cuando un usuario federado inicia sesión en AWS, se asocia el usuario al rol y se le conceden los permisos que están definidos en el rol. Para obtener más información, consulte Crear un rol para un proveedor de identidad de terceros (federación).
Políticas basadas en identidad y políticas basadas en recursos
Las políticas basadas en identidad son políticas de permisos que se asocian a una identidad de IAM, como un usuario, grupo o rol de IAM. Las políticas basadas en recursos son políticas de permisos que se asocian a un recurso, como un bucket de Amazon S3 o una política de confianza de un rol de IAM.
Las políticas basadas en identidad controlan qué acciones puede realizar la identidad, en qué recursos y en qué condiciones. Las políticas basadas en la identidad pueden clasificarse así:
-
Políticas administradas: políticas independientes basadas en la identidad que puede adjuntar a varios usuarios, grupos y funciones en su Cuenta de AWS. Puede utilizar dos tipos de políticas administradas:
-
Políticas administradas de AWS – Políticas administradas creadas y administradas por AWS. Si es la primera vez que utiliza políticas, le recomendamos que empiece a utilizar las políticas administradas por AWS.
-
Políticas administradas por el cliente: políticas administradas que crea y administra en su Cuenta de AWS. Las políticas administradas por el cliente ofrecen un control más preciso sobre las políticas que las políticas administradas por AWS. Puede crear, editar y validar una política de IAM en el editor visual o mediante la creación del documento de política de JSON directamente. Para obtener más información, consulte Definición de permisos de IAM personalizados con políticas administradas por el cliente y Edición de políticas de IAM.
-
-
Políticas insertadas – Políticas que crea y administra y que están integradas directamente en un único usuario, grupo o rol. En la mayoría de los casos no es recomendable el uso de políticas insertadas.
Las políticas basadas en recursos controlan qué acciones puede realizar una entidad principal en ese recurso y en qué condiciones. Las políticas basadas en recursos son políticas en línea y no hay políticas administradas basadas en recursos. Para habilitar el acceso entre cuentas, puede especificar toda una cuenta o entidades de IAM de otra cuenta como entidad principal de una política basada en recursos.
El servicio IAM admite un tipo de política basada en recursos llamada política de confianza de rol, la cual se adjunta a un rol de IAM. Debido a que un rol de IAM es tanto una identidad como un recurso que admite políticas basadas en recursos, es necesario adjuntar tanto una política de confianza como una política basada en identidad a un rol de IAM. Las políticas de confianza definen qué entidades principales (cuentas, usuarios, roles y usuarios federados) puede asumir el rol. Para obtener información sobre cómo difieren los roles de IAM con respecto a otras políticas basadas en recursos, consulte Acceso a recursos entre cuentas en IAM.
Para ver qué servicios admiten políticas basadas en recursos, consulte Servicios de AWS que funcionan con IAM. Para obtener más información sobre las políticas basadas en recursos, consulte Políticas basadas en identidad y políticas basadas en recursos.