Genere políticas basadas en la actividad de acceso - AWS Identity and Access Management

Genere políticas basadas en la actividad de acceso

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 refinar los permisos que concede. Una opción es generar una política de IAM basada en la actividad de acceso de una entidad. IAM Access Analyzer revisa los registros AWS CloudTrail y genera una plantilla de política que contiene los permisos que la entidad utilizó en el 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.

Por ejemplo, imagine que usted es un desarrollador y que su equipo de ingeniería ha estado trabajando en un proyecto para crear una nueva aplicación. Para fomentar la experimentación y permitir que su equipo se mueva rápidamente, ha configurado un rol con amplios permisos mientras la aplicación está en desarrollo. Ahora la aplicación está lista para la producción. Antes de que la aplicación pueda iniciarse en la cuenta de producción, querrá identificar solo los permisos que necesita el rol para que la aplicación funcione. Esto le ayudará a cumplir mejor las prácticas recomendadas para conceder privilegios mínimos. Puede generar una política basada en la actividad de acceso del rol que ha estado utilizando para la aplicación en la cuenta de desarrollo. Puede refinar aún más la política generada y, a continuación, asociarla a una entidad en su cuenta de producción.

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

IAM Access Analyzer 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 refinar 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 de políticas Especifique un período de tiempo de hasta 90 días para que IAM Access Analyzer analice los eventos históricos deAWS CloudTrail. Debe especificar un rol de servicio existente o crear uno nuevo. El rol de servicio da acceso a IAM Access Analyzer 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 de IAM Access Analyzer para los datos de CloudTrail, consulte Cuotas de IAM Access Analyzer.

  • Generar políticas – IAM Access Analyzer 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 IAM Access Analyzer 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, IAM Access Analyzer puede identificar las acciones encontradas en los eventos de CloudTrail y enumera las acciones utilizadas en la política generada. En el caso de algunos servicios, le pedimos que agregue acciones para los servicios a la política generada.

    IAM Access Analyzer genera políticas con información de nivel de acción para los siguientes servicios de AWS:

    • IAM Access Analyzer

    • Amazon CloudWatch

    • Amazon Cognito Identity

    • Amazon Cognito user pools

    • Amazon EC2

    • Amazon ECS

    • Elastic Load Balancing

    • IAM

    • AWS KMS

    • AWS Lambda

    • AWS RAM

    • Amazon RDS

    • AWS Resource Groups

    • Amazon S3

    • AWS Security Token Service

    • AWS Systems Manager

  • Política con información de nivel de servicio – IAM Access Analyzer 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.

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 su cuenta de AWS en la AWS CloudTrail User Guide.

  • El seguimiento y el bucket de Amazon S3 asociado deben estar en la misma cuenta – Para generar una política, debe especificar un seguimiento de CloudTrail en la misma cuenta que la entidad (usuario o rol) de IAM que está utilizando a fin de generar la política. Además, los registros deben almacenarse en un bucket de la misma cuenta. Por ejemplo, si tiene cuentas de producción y desarrollo independientes, cree un seguimiento de CloudTrail en ambas cuentas y almacene los registros en la cuenta de forma local. Después de probar la política en su cuenta de desarrollo, podrá copiar la política administrada que generó en su cuenta de producción.

  • AWS Organizations – No se puede generar una política utilizando un registro de seguimiento de Organizations CloudTrail.

  • PassRoleiam:PassRole CloudTrail no rastrea la acción, 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 acerca del uso de CloudTrail, consulte Registro de llamadas a la API de IAM y de AWS STS con AWS CloudTrail.

  • 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 de IAM Access Analyzer, consulte Cuotas de IAM Access Analyzer.

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 "service role" (rol de servicio) existente adecuado en su cuenta o crear un nuevo rol de servicio. El rol de servicio proporciona a IAM Access Analyzer acceso aCloudTrail 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 ayudarle a crear un rol de servicio cuando utiliza la API o AWS CLI de AWSpara 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:GenerateServiceLastAccessedDetails", "iam:GetServiceLastAccessedDetails" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::{{cloudtrail-bucket}}", "arn:aws:s3:::{{cloudtrail-bucket}}/*" ] } ] }

En el siguiente ejemplo de política se muestra la política de confianza de roles con los permisos que le permiten a IAM Access Analyzer 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 a IAM Access Analyzer. 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 cómo transferir 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 de IAM Access Analyzer para generar políticas en la API AWS Management Console o AWS CLI de AWS, como se muestra en la instrucción de política a continuación.

{ "Sid": "AllowUserToGeneratePolicy", "Effect": "Allow", "Action": [ "access-analyzer:ListPolicyGenerations", "access-analyzer:StartPolicyGeneration", "access-analyzer:GetGeneratedPolicy", "access-analyzer:CancelPolicyGeneration" ], "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": "*" }

Generar 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.

Generar 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 "Users" (usuarios) en lugar de "Roles" (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 "Permissions" (permisos) , en la sección Generar política basada en eventos de CloudTrail , elija "Generate policy" (generar política).

  5. En la página "Generate policy" (generar política) especifique el período de tiempo en el que desea que IAM Access Analyzer 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 de acceso a CloudTrail, elija un rol de servicio existente o cree uno nuevo. Este rol de servicio otorga a IAM Access Analyzer permisos para acceder al registro de seguimiento de CloudTrail en su nombre para revisar el acceso e identificar los servicios y acciones que se han utilizado.

  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.

  8. Elija "Generate policy" (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 "Permissions" (permisos) . Espere hasta que el estado de la sección "Policy request details" (detalles de solicitud de política) muestre "Sucess" (realizado correctamente), y, a continuación, elija "View generated policy" (ver política generada). Puede ver la política generada durante un máximo de 7 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óIAM Access Analyzer. 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 "Review permissions" (revisar permisos), revise la lista de "Actions included in the generated policy" (acciones incluidas en la política generada). La lista muestra los servicios y las acciones identificados por IAM Access Analyzer que fueron utilizados por el rol en el intervalo de fechas especificado.

    • La sección "Services used" (servicios utilizados) muestra servicios adicionales que IAM Access Analyzer 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 "Next" (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. Permisos de nivel de recursos hace referencia a la capacidad de especificar en qué recursos los usuarios pueden 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 AWSadmiten 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, consulteAcciones, Recursos y Claves de condición para servicios de AWS .

    
                            Marcador de posición 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 "Generated policy" (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 "Next" (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 "Review and create manage policy" (revisar y crear política administrada), especifique "Name" (nombre) y "Description" (descripción) (opcional) para la política que está creando.

  2. (Opcional) En la sección "Summary" (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 recursos de IAM.

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

    • 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 "Attach policy to YourRoleName" (asociar política a YourRoleName). A continuación, elija "Create and attach policy" (Crear y asociar política).

    • De lo contrario, seleccione "Create policy" (Crear política). Puede encontrar la política que creó en la lista de políticas en el panel de exploración "Policies" (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 asocia una política administrada, consulte Adición de permisos de identidad de IAM (consola)

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.

Para ver una política generada

Para cancelar una solicitud de generación de política

Para 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.

Para ver una política generada

Para cancelar una solicitud de generación de política

Para ver una lista de solicitudes de generación de políticas