Funciones de servicio de IAM para Amazon Data Lifecycle Manager - Amazon EBS

Funciones de servicio de IAM para Amazon Data Lifecycle Manager

Un rol de AWS Identity and Access Management (IAM) es similar a un usuario, ya que se trata de una identidad de AWS con políticas de permisos que determinan lo que puede hacer y lo que no puede hacer la identidad en AWS. No obstante, en lugar de asociarse exclusivamente a una persona, la intención es que cualquier usuario pueda asumir un rol que necesite. Una función de servicio es un rol que adopta un servicio de AWS para realizar acciones en su nombre. Como un servicio que realiza las operaciones de copia de seguridad en su nombre, Amazon Data Lifecycle Manager requiere transferirle un rol que debe adoptar al realizar las operaciones de políticas en su nombre. Para obtener más información acerca de los roles de IAM, consulte Roles de IAM en la guía del usuario de IAM.

El rol que transfiera a Amazon Data Lifecycle Manager debe tener una política de IAM con los permisos que permitan a Amazon Data Lifecycle Manager realizar acciones asociadas con operaciones de política, como crear instantáneas y AMI, copiar instantáneas y AMI, eliminar instantáneas y anular el registro de AMI. Se requieren permisos diferentes para cada uno de los tipos de política de Amazon Data Lifecycle Manager. Además, el rol también debe incluir a Amazon Data Lifecycle Manager como entidad de confianza, lo que permite a Amazon Data Lifecycle Manager asumir el rol.

Funciones de servicio predeterminadas de Amazon Data Lifecycle Manager

Amazon Data Lifecycle Manager utiliza las siguientes funciones de servicio predeterminadas:

  • AWSDataLifecycleManagerDefaultRole—rol predeterminado para administrar instantáneas. Solo confía en el servicio dlm.amazonaws.com para asumir el rol y permite a Amazon Data Lifecycle Manager realizar las acciones requeridas por las políticas de instantáneas y de copia de instantáneas entre cuentas en su nombre. Este rol utiliza AWSDataLifecycleManagerServiceRole la política administrada por AWS.

    nota

    El formato de ARN del rol varía en función de si se crea mediante la consola o la AWS CLI. Si el rol se crea mediante la consola, el formato de ARN es arn:aws:iam::account_id:role/service-role/AWSDataLifecycleManagerDefaultRole. Si el rol se creó mediante la AWS CLI, el formato de ARN es arn:aws:iam::account_id:role/AWSDataLifecycleManagerDefaultRole.

  • AWSDataLifecycleManagerDefaultRoleForAMIManagement—rol predeterminado para administrar las AMI. Solo confía en el servicio dlm.amazonaws.com para asumir el rol y permite a Amazon Data Lifecycle Manager realizar las acciones requeridas por las políticas de AMI basadas en EBS en su nombre. Este rol utiliza AWSDataLifecycleManagerServiceRoleForAMIManagement la política administrada por AWS.

Si utiliza la consola de Amazon Data Lifecycle Manager, Amazon Data Lifecycle Manager crea de forma automática el rol de servicio AWSDataLifecycleManagerDefaultRole la primera vez que crea una política de copia instantánea o de copia de instantáneas entre cuentas, y crea de forma automática el rol de servicio AWSDataLifecycleManagerDefaultRoleForAMIManagement la primera vez que crea una política de AMI basada en EBS.

Si no utiliza la consola, puede crear de forma manual las funciones de servicio mediante el comando create-default-role. En --resource-type, especifique snapshot para crear AWSDataLifecycleManagerDefaultRole o image a fin de crear AWSDataLifecycleManagerDefaultRoleForAMIManagement.

$ aws dlm create-default-role --resource-type snapshot|image

Si elimina las funciones de servicio predeterminadas y necesita crearlas de nuevo, puede utilizar el mismo proceso para volver a crearlas en su cuenta.

Funciones de servicio personalizadas para Amazon Data Lifecycle Manager

Como alternativa a la utilización de las funciones de servicio predeterminadas, puede crear roles de IAM personalizados con los permisos necesarios y seleccionarlos cuando cree una política de ciclo de vida.

Para crear un rol de IAM personalizado
  1. Cree roles con los siguientes permisos.

    • Permisos requeridos para administrar políticas de ciclo de vida de instantáneas

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateSnapshot", "ec2:CreateSnapshots", "ec2:DeleteSnapshot", "ec2:DescribeInstances", "ec2:DescribeVolumes", "ec2:DescribeSnapshots", "ec2:EnableFastSnapshotRestores", "ec2:DescribeFastSnapshotRestores", "ec2:DisableFastSnapshotRestores", "ec2:CopySnapshot", "ec2:ModifySnapshotAttribute", "ec2:DescribeSnapshotAttribute", "ec2:ModifySnapshotTier", "ec2:DescribeSnapshotTierStatus" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*::snapshot/*" }, { "Effect": "Allow", "Action": [ "events:PutRule", "events:DeleteRule", "events:DescribeRule", "events:EnableRule", "events:DisableRule", "events:ListTargetsByRule", "events:PutTargets", "events:RemoveTargets" ], "Resource": "arn:aws:events:*:*:rule/AwsDataLifecycleRule.managed-cwe.*" }, { "Effect": "Allow", "Action": [ "ssm:GetCommandInvocation", "ssm:ListCommands", "ssm:DescribeInstanceInformation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:SendCommand", "ssm:DescribeDocument", "ssm:GetDocument" ], "Resource": [ "arn:aws:ssm:*:*:document/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/DLMScriptsAccess": "true" } } }, { "Effect": "Allow", "Action": [ "ssm:SendCommand", "ssm:DescribeDocument", "ssm:GetDocument" ], "Resource": [ "arn:aws:ssm:*::document/*" ] }, { "Effect": "Allow", "Action": [ "ssm:SendCommand" ], "Resource": [ "arn:aws:ec2:*:*:instance/*" ], "Condition": { "StringNotLike": { "aws:ResourceTag/DLMScriptsAccess": "false" } } } ] }
    • Permisos requeridos para administrar políticas de ciclo de vida de AMI

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": [ "arn:aws:ec2:*::snapshot/*", "arn:aws:ec2:*::image/*" ] }, { "Effect": "Allow", "Action": [ "ec2:DescribeImages", "ec2:DescribeInstances", "ec2:DescribeImageAttribute", "ec2:DescribeVolumes", "ec2:DescribeSnapshots" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:DeleteSnapshot", "Resource": "arn:aws:ec2:*::snapshot/*" }, { "Effect": "Allow", "Action": [ "ec2:ResetImageAttribute", "ec2:DeregisterImage", "ec2:CreateImage", "ec2:CopyImage", "ec2:ModifyImageAttribute" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:EnableImageDeprecation", "ec2:DisableImageDeprecation" ], "Resource": "arn:aws:ec2:*::image/*" } ] }

    Para obtener más información, consulte Creating a role (Creación de un rol) en Guía del usuario de IAM.

  2. Agregue una relación de confianza a los roles.

    1. En la consola de IAM, seleccione Roles (Funciones).

    2. Seleccione los roles que ha creado y, a continuación, elija Trust relationships (Relaciones de confianza).

    3. Elija Edit Trust Relationship (Editar relación de confianza), añada la siguiente política y después elija Update Trust Policy (Actualizar política de confianza).

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

      Le recomendamos que utilice las claves de condición aws:SourceAccount y aws:SourceArn para protegerse contra el problema del suplente confuso. Por ejemplo, podría agregar el siguiente bloque de condición a la política de confianza anterior. aws:SourceAccount es el propietario de la política de ciclo de vida y aws:SourceArn es el ARN de la política del ciclo de vida. Si no conoce el ID de la política del ciclo de vida, puede reemplazar esa parte del ARN por un comodín (*) y, a continuación, actualizar la política de confianza después de crear la política del ciclo de vida.

      "Condition": { "StringEquals": { "aws:SourceAccount": "account_id" }, "ArnLike": { "aws:SourceArn": "arn:partition:dlm:region:account_id:policy/policy_id" } }