Generación de políticas del Analizador de acceso de IAM - AWS Identity and Access Management

Generación de políticas del Analizador de acceso de IAM

Como administrador o desarrollador, puede conceder permisos a entidades (usuarios o roles) de IAM más allá de lo que requieren. IAM proporciona varias opciones para ayudarle a perfeccionar los permisos que concede. Una opción es generar una política de IAM basada en la actividad de acceso de una entidad. El Analizador de acceso de IAM revisa los registros de AWS CloudTrail y genera una plantilla de política que contiene los permisos que la entidad ha utilizado en su intervalo de fechas especificado. Puede utilizar la plantilla para crear una política con permisos detallados que otorguen solo los permisos necesarios para admitir su caso de uso específico.

Cómo funciona la generación de políticas

El Analizador de acceso de IAM analiza los eventos de CloudTrail para identificar acciones y servicios que han sido utilizados por una entidad (usuario o rol) de IAM. A continuación, genera una política de IAM basada en esa actividad. Puede perfeccionar los permisos de una entidad cuando reemplaza una política de permisos amplia asociada a la entidad por la política generada. A continuación se presenta información general de alto nivel del proceso de generación de políticas.

  • Configuración para la generación de plantillas: especifique un período de tiempo de hasta 90 días para que el Analizador de acceso de IAM analice los eventos históricos de AWS CloudTrail. Debe especificar un rol de servicio existente o crear uno nuevo. El rol de servicio da acceso al Analizador de acceso de IAM a la información del registro de seguimiento de CloudTrail y al último acceso al servicio para identificar los servicios y acciones que se utilizaron. Debe especificar el registro de seguimiento de CloudTrail que registra eventos para la cuenta antes de poder generar una política. Para obtener más información sobre las cuotas del Analizador de acceso de IAM para los datos de CloudTrail, consulte Cuotas del Analizador de acceso de IAM.

  • Generar políticas: el Analizador de acceso de IAM genera una política basada en la actividad de acceso de los eventos de CloudTrail.

  • Revisar y personalizar la política: una vez generada la política, puede revisar los servicios y las acciones que utilizó la entidad durante el intervalo de fechas especificado. Puede personalizar aún más la política, agregando o quitando permisos, especificando recursos y agregando condiciones a la plantilla de política.

  • Crear y asociar la política: tiene la opción de guardar la política generada mediante la creación de una política administrada. Puede asociar la política que cree al usuario o rol cuya actividad se utilizó para generar la política.

Información de nivel de servicio y acción

Cuando el Analizador de acceso de IAM genera una política de IAM, se devuelve información para ayudarle a personalizar aún más la política. Cuando se genera una política, se pueden devolver dos categorías de información:

  • Política con información de nivel de acción: para algunos servicios de AWS, como Amazon EC2, el Analizador de acceso de IAM puede identificar las acciones encontradas en los eventos de CloudTrail y enumera las acciones utilizadas en la política que genera. Para obtener una lista de los servicios compatibles, consulte Servicios de generación de políticas del Analizador de acceso de IAM. Para algunos servicios, el Analizador de acceso de IAM le pide que agregue acciones para los servicios a la política generada.

  • Política con información de nivel de servicio: el Analizador de acceso de IAM utiliza la última información a la que se accedió para crear una plantilla de política con todos los servicios utilizados recientemente. Cuando utilice la AWS Management Console, le pedimos que revise los servicios y agregue acciones para completar la política.

Para obtener una lista de acciones de cada servicio, consulte Acciones, recursos y claves de condiciones de servicios de AWS en la Referencia de autorizaciones de servicio.

Cosas que debe saber acerca de la generación de políticas

Antes de generar una política, revise los siguientes detalles importantes.

  • Habilite un registro de seguimiento de CloudTrail: debe tener habilitado un registro de seguimiento de CloudTrail para que su cuenta genere una política basada en la actividad de acceso. Al crear un registro de seguimiento de CloudTrail, CloudTrail envía los eventos relacionados con el registro de seguimiento al bucket Amazon S3 que especifique. Para obtener más información sobre cómo crear un registro de seguimiento de CloudTrail, consulte Creación de un registro de seguimiento para la cuenta de AWS en la Guía del usuario de AWS CloudTrail.

  • Eventos de datos no disponibles: el Analizador de acceso de IAM no identifica la actividad de nivel de acción para eventos de datos, como eventos de datos de Amazon S3, en las políticas generadas.

  • PassRole: CloudTrail no rastrea la acción iam:PassRole, y esta no está incluida en las políticas generadas.

  • Reducir el tiempo de generación de políticas: para generar una política más rápido, reduzca el intervalo de fechas que especifique durante la configuración para la generación de políticas.

  • Uso de CloudTrail para auditorías: no utilice la generación de políticas con fines de auditoría; en su lugar, utilice CloudTrail. Para obtener más información sobre cómo utilizar CloudTrail, consulte Registro de IAM y llamadas API AWS STS con AWS CloudTrail.

  • Acciones denegadas: la generación de políticas revisa todos los eventos de CloudTrail, incluidas las acciones denegadas.

  • Consola de IAM de una política: puede tener una política generada a la vez en la consola de IAM.

  • Disponibilidad de políticas generadas en la consola de IAM: puede revisar una política generada en la consola de IAM durante un máximo de 7 días después de generarla. Después de 7 días, debe generar una nueva política.

  • Cuotas de generación de políticas: para obtener información adicional acerca de las cuotas de generación de políticas del Analizador de acceso de IAM, consulte Cuotas del Analizador de acceso de IAM.

  • Se aplican las tarifas de Amazon S3 Standard: cuando utiliza la característica de generación de políticas, el Analizador de acceso de IAM revisa los registros de CloudTrail en su bucket de S3. No hay cargos adicionales de almacenamiento para acceder a sus registros de CloudTrail para la generación de políticas. AWS cobra las tarifas estándares de Amazon S3 para las solicitudes y la transferencia de datos de los registros de CloudTrail almacenados en su bucket de S3.

  • Soporte de AWS Control Tower: la generación de políticas no admite AWS Control Tower para la generación de políticas.

Permisos necesarios para generar una política

Los permisos que necesita para generar una política por primera vez difieren de los que necesita para generar una política para usos posteriores.

Configuración por primera vez

Cuando genere una política por primera vez, debe elegir un rol de servicio existente adecuado en su cuenta o crear un nuevo rol de servicio. El rol de servicio proporciona al Analizador de acceso de IAM acceso a CloudTrail y a la última información del servicio a la que se accedió en su cuenta. Sólo los administradores deben tener los permisos necesarios para crear y configurar roles. Por lo tanto, se recomienda que un administrador cree el rol de servicio durante la primera instalación. Para obtener más información sobre los permisos necesarios para crear roles de servicio, consulte Creación de un rol para delegar permisos a un servicio de AWS.

Cuando se crea un rol de servicio, se configuran dos políticas para el rol. Asocia una política de permisos de IAM al rol, que especifica lo que éste puede hacer. También puede asociar una política de confianza de rol al rol que especifica la entidad principal que puede utilizar el rol.

En el primer ejemplo de política se muestra la política de permisos para el rol de servicio necesario para generar una política. El segundo ejemplo de política muestra la política de confianza de rol necesaria para el rol de servicio. Puede utilizar estas políticas para poder crear un rol de servicio cuando utiliza la API o AWS CLI de AWS para generar una política. Cuando utiliza la consola de IAM para crear un rol de servicio como parte del proceso de generación de políticas, nosotros generamos estas políticas por usted.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloudtrail:GetTrail", "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:GetServiceLastAccessedDetails", "iam:GenerateServiceLastAccessedDetails" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] } ] }

En el siguiente ejemplo de política se muestra la política de confianza de roles con los permisos que le permiten al Analizador de acceso de IAM asumir el rol.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "access-analyzer.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Usos posteriores

Para generar políticas en la AWS Management Console, un usuario de IAM debe tener una política de permisos que le permita transferir el rol de servicio que se utiliza para la generación de políticas al Analizador de acceso de IAM. iam:PassRole suele ir acompañado de iam:GetRole para que el usuario pueda obtener los detalles del rol que se va a transferir. En este ejemplo, el usuario puede transferir únicamente los roles que existen en la cuenta especificada con nombres que empiezan con AccessAnalyzerMonitorServiceRole*. Para obtener más información sobre la transmisión de roles de IAM a servicios de AWS, consulte Concesión de permisos a un usuario para transferir un rol a un servicio de AWS.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowUserToPassRole", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole" ], "Resource": "arn:aws:iam::123456789012:role/service-role/AccessAnalyzerMonitorServiceRole*" } ] }

También debe tener los siguientes permisos del Analizador de acceso de IAM para generar políticas en la AWS Management Console, la API de AWS o la AWS CLI, como se muestra en la instrucción de política a continuación.

{ "Sid": "AllowUserToGeneratePolicy", "Effect": "Allow", "Action": [ "access-analyzer:CancelPolicyGeneration", "access-analyzer:GetGeneratedPolicy", "access-analyzer:ListPolicyGenerations", "access-analyzer:StartPolicyGeneration" ], "Resource": "*" }
Tanto para primer uso como para usos posteriores

Cuando utiliza la AWS Management Console para generar una política, debe tener permiso cloudtrail:ListTrails para enumerar los registros de seguimiento de CloudTrail de su cuenta como se muestra en la siguiente instrucción de política.

{ "Sid": "AllowUserToListTrails", "Effect": "Allow", "Action": [ "CloudTrail:ListTrails" ], "Resource": "*" }

Generación de una política basada en la actividad (consola) de CloudTrail

Puede generar una política para un usuario o rol de IAM.

Paso 1: generar una política basada en la actividad de CloudTrail

En el siguiente procedimiento se explica cómo generar una política para un rol mediante la AWS Management Console.

Generación de una política para un rol de IAM
  1. Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación de la izquierda, seleccione Roles.

    nota

    Los pasos para generar una política basada en la actividad de un usuario de IAM son casi idénticos. Para ello, elija Usuarios en lugar de Roles.

  3. En la lista de roles de su cuenta, elija el nombre del rol cuya actividad desea utilizar para generar una política.

  4. En la pestaña Permisos, en la sección Generar política basada en eventos de CloudTrail, elija Generar política.

  5. En la página Generar política especifique el período de tiempo en el que desea que el Analizador de acceso de IAM analice los eventos de CloudTrail para las acciones realizadas con el rol. Puede elegir un rango de hasta 90 días. Le recomendamos que elija el período de tiempo más corto posible para reducir el tiempo de generación de políticas.

  6. En la sección Acceso a CloudTrail, elija un rol existente adecuado o cree uno nuevo si no existe un rol adecuado. Este rol otorga al Analizador de acceso de IAM permisos para acceder al registro de seguimiento de CloudTrail en su nombre para revisar la actividad de acceso e identificar los servicios y acciones que se han utilizado. Para obtener más información sobre los permisos necesarios para este rol, consulte Permisos necesarios para generar una política.

  7. En la sección del registro de seguimiento de CloudTrail que se va a analizar, especifique el registro de seguimiento de CloudTrail que registra los eventos de la cuenta.

    Si elige un seguimiento de CloudTrail que almacene los registros en una cuenta diferente, se mostrará un cuadro de información sobre el acceso entre cuentas. El acceso entre cuentas requiere una configuración adicional. Para obtener más información, consulte Choose a role for cross-account access más adelante en este tema.

  8. Elija Generar política.

  9. Mientras la generación de políticas está en curso, volverá a la página Resumen de roles en la pestaña Permisos. Espere hasta que el estado de la sección Detalles de solicitud de política muestre Realizado correctamente, y, a continuación, elija Ver política generada. Puede ver la política generada durante un máximo de siete días. Si genera otra política, la política existente se sustituye por la nueva que genere.

Paso 2: revise los permisos y agregue acciones para los servicios utilizados

Revise los servicios y acciones utilizados por el rol, de acuerdo a lo que identificó el Analizador de acceso de IAM. Puede agregar acciones para cualquier servicio que se haya utilizado a la plantilla de política generada.

  1. Revise las siguientes secciones:

    • En la página Revisar permisos, revise la lista de Acciones incluidas en la política generada. La lista muestra los servicios y las acciones identificados por el Analizador de acceso de IAM que fueron utilizados por el rol en el intervalo de fechas especificado.

    • La sección Servicios utilizados muestra servicios adicionales que el Analizador de acceso de IAM identificó como utilizados por el rol en el intervalo de fechas especificado. Es posible que la información sobre las acciones que se utilizaron no esté disponible para los servicios enumerados en esta sección. Utilice los menús de cada servicio enumerado para seleccionar manualmente las acciones que desea incluir en la política.

  2. Cuando haya terminado de agregar acciones, elija Siguiente.

Paso 3: personalice aún más la política generada

Puede personalizar aún más la política agregando o quitando permisos o especificando recursos.

Para personalizar la política generada
  1. Actualice la plantilla de política. La plantilla de política contiene marcadores de posición ARN de recursos para acciones que admiten permisos de nivel de recursos, como se muestra en la siguiente imagen. Los permisos de nivel de recursos hacen referencia a la capacidad de especificar en qué recursos los usuarios tienen permitido realizar acciones. Se recomienda utilizar ARN para especificar los recursos individuales en la política para las acciones que admiten permisos de nivel de recursos. Puede reemplazar los ARN de marcador de posición de recursos por ARN de recursos válidos para su caso de uso.

    Si una acción de la API no admite ARN individuales, debe utilizar un comodín (*) para especificar que la acción puede afectar a todos los recursos. Para saber qué servicios de AWS admiten permisos en el nivel de recursos, consulte Servicios de AWS que funcionan con IAM. Para obtener una lista de las acciones de cada servicio y para saber qué acciones admiten permisos de nivel de recursos, consulte Acciones, Recursos y Claves de condición para servicios de AWS.

    Marcador de posición del ARN de recursos en la plantilla de política
  2. (Opcional) Agregue, modifique o elimine instrucciones de política JSON en la plantilla. Para obtener más información sobre cómo escribir políticas JSON, consulte Creación de políticas de IAM (consola).

  3. Cuando haya terminado de personalizar la plantilla de política, tiene las siguientes opciones:

    • (Opcional) Puede copiar el JSON en la plantilla para utilizarlo por separado fuera de la página de la Política generada. Por ejemplo, si desea utilizar el JSON para crear una política en una cuenta diferente. Si la política de la plantilla supera el límite de 6144 caracteres para las políticas JSON, la política se divide en varias políticas.

    • Elija Siguiente para revisar y crear una política administrada en la misma cuenta.

Paso 4: revisar y crear una política administrada

Si tiene permisos para crear y asociar política de IAM, puede crear una política administrada a partir de la política que se generó. A continuación, puede asociar la política a un usuario o rol de su cuenta.

Para revisar y crear una política
  1. En la página Revisar y crear política administrada, especifique Nombre y Descripción (opcional) para la política que está creando.

  2. (Opcional) En la sección Resumen, puede revisar los permisos que se incluirán en la política.

  3. (Opcional) Agregar metadatos a la política al adjuntar las etiquetas como pares de clave-valor. Para obtener más información acerca del uso de etiquetas en IAM, consulte Etiquetado de los recursos de IAM.

  4. Cuando haya terminado, realice una de las siguientes acciones:

    • Puede asociar la nueva política directamente al rol que se utilizó para generar la política. Para ello, cerca de la parte inferior de la página, seleccione la casilla de verificación situada junto a Asociar política a YourRoleName. A continuación, elija Crear y asociar política.

    • De lo contrario, seleccione Crear política. Puede encontrar la política que creó en la lista de políticas en el panel de navegación Políticas de la consola de IAM.

  5. Puede asociar la política que creó a una entidad de su cuenta. Después de asociar la política, puede eliminar cualquier otra política demasiado amplia que pueda estar asociada a la entidad. Para saber cómo se adjunta una política administrada, consulte Agregar permisos de identidad de IAM (consola).

Generación de una política mediante datos de AWS CloudTrail en otra cuenta

Puede crear pistas de CloudTrail que almacenen datos en cuentas centrales para optimizar las actividades gobernantes. Por ejemplo, puede utilizar AWS Organizations para crear un registro de seguimiento que registra todos los eventos para todas las Cuentas de AWS en esa organización. El seguimiento pertenece a una cuenta central. Si desea generar una política para un usuario o rol en una cuenta que sea diferente de la cuenta donde se almacenan los datos de registro de CloudTrail, debe conceder acceso entre cuentas. Para ello, necesita un rol y una política de bucket que otorguen permisos del Analizador de acceso de IAM a los registros de CloudTrail. Para obtener más información sobre los registros de seguimiento de Organizations, consulte Creación de registros de seguimiento de una organización.

En este ejemplo, suponga que desea generar una política para un usuario o un rol en la cuenta A. El seguimiento de CloudTrail en la cuenta A almacena los registros de CloudTrail en un bucket en la cuenta B. Antes de poder generar una política, debe realizar las siguientes actualizaciones:

  1. Elija un rol existente o cree un nuevo rol de servicio que otorgue acceso del Analizador de acceso de IAM al bucket de la cuenta B (donde se almacenan los registros de CloudTrail).

  2. Verifique la propiedad de los objetos del bucket de Amazon S3 y la política de permisos del bucket en la cuenta B para que el Analizador de acceso de IAM pueda acceder a los objetos del bucket.

Paso 1
: elija o cree un rol para el acceso entre cuentas
  • En la pantalla Generar políticas, la opción de Uso de un rol existente está preseleccionada para usted si existe un rol con los permisos necesarios en su cuenta. De lo contrario, elija Creación y uso de un nuevo rol de servicio. El nuevo rol se utiliza para conceder acceso al Analizador de acceso de IAM a los registros de CloudTrail en la cuenta B.

Paso 2: verifique o actualizar la configuración de su bucket de Amazon S3 en la cuenta B
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En la lista Buckets, elija el nombre del bucket de donde se almacenan sus registros de seguimiento de CloudTrail.

  3. Elija la pestaña Permisos y vaya a la sección Propiedad del objeto.

    Use la configuración del bucket Propiedad del objeto de Amazon S3 para controlar la propiedad de los objetos que cargue en sus buckets. De forma predeterminada, si otras Cuentas de AWS cargan objetos en su bucket, los objetos seguirán siendo propiedad de la cuenta de carga. Para generar una política, todos los objetos del bucket deben pertenecer al propietario del bucket. En función de su caso de uso de ACL, es posible que tenga que cambiar la configuración Propiedad del objeto del bucket. Establezca Propiedad del objeto en una de las siguientes opciones.

    • Propietario del bucket obligatorio (recomendado)

    • Propietario del bucket preferido

    importante

    Para generar correctamente una política, los objetos del bucket deben pertenecer al propietario del bucket. Si elige usar Propietario del bucket preferido, solo podrá generar una política para el periodo de tiempo posterior al cambio de propiedad del objeto.

    Para más información sobre la propiedad de los objetos en Amazon S3, consulte Control de la propiedad de los objetos y desactivación de las ACL para el bucket en la Guía del usuario de Amazon S3.

  4. Agregue permisos a su política de bucket de Amazon S3 en la cuenta B para permitir el acceso al rol en la cuenta A.

    El siguiente ejemplo de política permite ListBucket y GetObject para un bucket denominado DOC-EXAMPLE-BUCKET. Permite el acceso si el rol que accede al bucket pertenece a una cuenta de su organización y tiene un nombre que comienza con AccessAnalyzerMonitorServiceRole. El uso de aws:PrincipalArn como una Condition en el elemento Resource garantiza que el rol solo puede acceder a la actividad de la cuenta si pertenece a la cuenta A. Puede reemplazar DOC-EXAMPLE-BUCKET por el nombre del bucket, optional-prefix por un prefijo opcional para el bucket y organization-id por el ID de su organización.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "PolicyGenerationBucketPolicy", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/optional-prefix/AWSLogs/organization-id/${aws:PrincipalAccount}/*" ], "Condition": { "StringEquals": { "aws:PrincipalOrgID": "organization-id" }, "StringLike": { "aws:PrincipalArn": "arn:aws:iam::${aws:PrincipalAccount}:role/service-role/AccessAnalyzerMonitorServiceRole*" } } } ] }
  5. Si cifra los registros con AWS KMS, actualice la política de claves de AWS KMS en la cuenta donde almacene los registros de CloudTrail para conceder acceso al Analizador de acceso de IAM para utilizar la clave, tal y como se muestra en el siguiente ejemplo de política. Reemplazar CROSS_ACCOUNT_ORG_TRAIL_FULL_ARN con el ARN para su seguimiento y organization-id con el ID de organización.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:aws:cloudtrail:arn": "CROSS_ACCOUNT_ORG_TRAIL_FULL_ARN", "aws:PrincipalOrgID": "organization-id" }, "StringLike": { "kms:ViaService": [ "access-analyzer.*.amazonaws.com", "s3.*.amazonaws.com" ] "aws:PrincipalArn": "arn:aws:iam::${aws:PrincipalAccount}:role/service-role/AccessAnalyzerMonitorServiceRole*" } } } ] }

Generar una política basada en la actividad de CloudTrail (CLI de AWS)

Puede utilizar los siguientes comandos para generar una política mediante AWS CLI.

Cómo ver una política generada
Cómo cancelar una solicitud de generación de política
Cómo ver una lista de solicitudes de generación de políticas

Generar una política basada en la actividad de CloudTrail (API de AWS)

Puede utilizar las siguientes operaciones para generar una política mediante la API de AWS.

Cómo generar una política
Cómo ver una política generada
Cómo cancelar una solicitud de generación de política
Cómo ver una lista de solicitudes de generación de políticas