Control de versiones de políticas de IAM - AWS Identity and Access Management

Control de versiones de políticas de IAM

Al realizar cambios en una política administrada por el cliente de IAM y cuando AWS realiza cambios en una política administrada por AWS, la política modificada no sobrescribirá la política existente. En cambio, IAM crea una nueva versión de la política administrada. IAM almacena hasta cinco versiones de las políticas administradas por el cliente. IAM no es compatible con el control de versiones para políticas insertadas.

El siguiente diagrama ilustra el control de versiones para una política administrada por el cliente. En este ejemplo, las versiones de 1 a 4 se guardan. Puede guardar en IAM hasta cinco versiones de políticas administradas. Cuando edite una política que crearía una sexta versión para guardar, podrá elegir qué versión anterior ya no se deberá guardar. Puede volver a cualquiera de las otras cuatro versiones guardadas en cualquier momento.


      Los cambios realizados en las políticas administradas se convierten en nuevas versiones de la política

Una versión de política es diferente de un elemento de política Version. El elemento de política Version se utiliza en una política y define la versión del lenguaje de la política. Para obtener más información sobre el elemento de política Version, consulte Elementos de política JSON de IAM: Version.

Puede utilizar las versiones para realizar un seguimiento de los cambios realizados en una política administrada. Por ejemplo, puede realizar un cambio en una política administrada y, a continuación, descubrir que el cambio tenía efectos no deseados. En este caso, puede volver a una versión anterior de la política administrada configurando la versión anterior como la versión predeterminada.

En las siguientes secciones, se explica cómo puede utilizar el control de versiones para las políticas administradas.

Permisos para configurar la versión predeterminada de una política

Los permisos que se requieren para establecer la versión predeterminada de una política corresponden a las operaciones de API de AWS para la tarea. Puede utilizar las operaciones de API CreatePolicyVersion o SetDefaultPolicyVersion para establecer la versión predeterminada de una política. Para permitir que alguien establezca la versión predeterminada de una política existente, puede permitir el acceso a la acción iam:CreatePolicyVersion o a la acción iam:SetDefaultPolicyVersion. La acción iam:CreatePolicyVersion permite crear una nueva versión de la política y establecerla como predeterminada. La acción iam:SetDefaultPolicyVersion permite definir cualquier versión existente de la política como predeterminada.

importante

Denegar la acción iam:SetDefaultPolicyVersion en una política de usuario no impide a este último crear una nueva versión de la política y configurarla como predeterminada.

Puede utilizar la siguiente política para denegar a un usuario el acceso para cambiar una política existente administrada por el cliente:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "iam:CreatePolicyVersion", "iam:SetDefaultPolicyVersion" ], "Resource": "arn:aws:iam::*:policy/POLICY-NAME" } ] }

Configuración de la versión predeterminada de políticas administradas por el cliente

Una de las versiones de una política administrada se establece como la versión predeterminada. La versión predeterminada de la política es la versión operativa, es decir, se trata de la versión que está en vigor para todas las entidades principales (usuarios, grupos de usuarios y roles) a las que la política administrada está asociada.

Al crear una política administrada por el cliente, la política comienza con una única versión identificada como v1. En el caso de las políticas administradas con una versión única, dicha versión se establece automáticamente como la opción predeterminada. En el caso de las políticas administradas por el cliente con más de una versión, puede seleccionar la versión que quiere establecer como la opción predeterminada. En el caso de las políticas administradas por AWS, AWS establece la versión predeterminada. Los siguientes diagramas ilustran este concepto.


        Política administrada con una versión única, que es la versión predeterminada


        Política administrada por el cliente con tres versiones, donde la versión v2 es la versión predeterminada.

Puede establecer la versión predeterminada de una política administrada por el cliente para aplicar dicha versión a cada identidad de IAM (usuario, grupo de usuarios y rol) a la que la política está asociada. No puede establecer la versión predeterminada de una política administrada por AWS o una política insertada.

Para establecer la versión predeterminada de una política administrada por el cliente (consola)
  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, seleccione Policies (Políticas).

  3. En la lista de políticas, elija el nombre de la política de la que desea establecer la versión predeterminada. Puede utilizar el cuadro de búsqueda para filtrar la lista de políticas.

  4. Elija la pestaña Policy versions (Versiones de la política). Active la casilla de verificación situada junto a la versión que desea establecer como la versión predeterminada y, a continuación, elija Set as default (Establecer como predeterminada).

Para descubrir cómo establecer la versión predeterminada de una política administrada por el cliente desde AWS Command Line Interface o la API de AWS, consulte Edición de políticas administradas por el cliente (AWS CLI).

Uso de versiones para revertir los cambios

Puede establecer la versión predeterminada de una política administrada por el cliente para revertir los cambios. Por ejemplo, fíjese en el siguiente escenario:

Cree una política administrada por el cliente que permita a los usuarios administrar un determinado bucket de Amazon S3 con la AWS Management Console. Tras la creación, la política administrada por el cliente tiene una única versión, identificada como v1, por lo que dicha versión se establece automáticamente como la opción predeterminada. La política funciona según lo previsto.

Posteriormente, puede actualizar la política para agregar permisos para administrar un segundo bucket de Amazon S3. IAM crea una nueva versión de la política, identificada como v2, que incluye los cambios. Establezca la versión v2 como la opción predeterminada y poco tiempo después los usuarios le informan que no tienen permiso para utilizar la consola de Amazon S3. En este caso, puede volver a la versión v1 de la política, que sabe que funciona según lo previsto. Para ello, establezca la versión v1 como la versión predeterminada. Los usuarios pueden ahora utilizar la consola de Amazon S3 para administrar el bucket original.

Posteriormente, después de determinar el error en la versión v2 de la política, debe volver a actualizar la política para agregar permisos para administrar el segundo bucket de Amazon S3. IAM crea una nueva versión de la política, identificada como v3. Establezca la versión v3 como la opción predeterminada y esta versión funciona según lo previsto. En este momento, elimine la versión v2 de la política.

Límites de versión

Una política administrada puede tener hasta cinco versiones. Si necesita realizar cambios a partir de la quinta versión de la política administrada desde AWS Command Line Interface o la API de AWS, primero debe eliminar una o varias de las versiones anteriores. Si utiliza la AWS Management Console, no tiene que eliminar una versión antes de editar su política. Al guardar una sexta versión, aparecerá un cuadro de diálogo que le pedirá que elimine una o varias versiones no predeterminadas de la política. Puede ver el documento de política JSON de cada versión que le ayudará a decidir. Para obtener más información sobre este cuadro de diálogo, consulte Edición de políticas de IAM.

Puede eliminar la versión de la política administrada que quiera, excepto la versión predeterminada. Al eliminar una versión, los identificadores de versión de las demás versiones no cambian. Por este motivo, es posible que los identificadores de versión no sean secuenciales. Por ejemplo, si elimina las versiones v2 y v4 de una política administrada y añade dos nuevas versiones, es posible que los demás identificadores de versión sean v1, v3, v5, v6 y v7.