Uso de roles vinculados a servicios para MemoryDB - Amazon MemoryDB

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de roles vinculados a servicios para MemoryDB

MemoryDB usa AWS Identity and Access Management roles vinculados al servicio (IAM). Un rol vinculado a un servicio es un tipo único de rol de IAM que está vinculado directamente a un servicio, como MemoryDB. AWS MemoryDB predefine las funciones vinculadas al servicio de MemoryDB. Incluyen todos los permisos que requiere el servicio para llamar a otros servicios de AWS en nombre de los clústeres.

Un rol vinculado a un servicio facilita la configuración de MemoryDB porque no es necesario añadir manualmente los permisos necesarios. Los roles ya existen en tu AWS cuenta, pero están vinculados a los casos de uso de MemoryDB y tienen permisos predefinidos. Solo MemoryDB puede asumir estas funciones y solo estas funciones pueden usar la política de permisos predefinida. Las funciones se pueden eliminar únicamente después de eliminar primero sus recursos relacionados. Esto protege sus recursos de MemoryDB porque no puede eliminar inadvertidamente los permisos necesarios para acceder a los recursos.

Para obtener información acerca de otros servicios que admiten roles vinculados a servicios, consulte Servicios de AWS que funcionan con IAM y busque los servicios que muestran en la columna Rol vinculado a un servicio. Elija una opción con un enlace para ver la documentación acerca del rol vinculado a servicios en cuestión.

Permisos de rol vinculados al servicio para MemoryDB

MemoryDB usa el rol vinculado al servicio denominado AWSServiceRoleForMemoryDB: Esta política permite a MemoryDB administrar los AWS recursos en su nombre según sea necesario para administrar sus clústeres.

La política de permisos de roles AWSServiceRoleForMemoryDB vinculados al servicio permite a MemoryDB realizar las siguientes acciones en los recursos especificados:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateNetworkInterface" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "AmazonMemoryDBManaged" ] } } }, { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ] }, { "Effect": "Allow", "Action": [ "ec2:DeleteNetworkInterface", "ec2:ModifyNetworkInterfaceAttribute" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "StringEquals": { "ec2:ResourceTag/AmazonMemoryDBManaged": "true" } } }, { "Effect": "Allow", "Action": [ "ec2:DeleteNetworkInterface", "ec2:ModifyNetworkInterfaceAttribute" ], "Resource": "arn:aws:ec2:*:*:security-group/*" }, { "Effect": "Allow", "Action": [ "ec2:DescribeSecurityGroups", "ec2:DescribeNetworkInterfaces", "ec2:DescribeAvailabilityZones", "ec2:DescribeSubnets", "ec2:DescribeVpcs" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": "AWS/MemoryDB" } } } ] }

Para obtener más información, consulte AWS política gestionada: MemoryDB ServiceRolePolicy.

Para permitir que una entidad de IAM cree roles vinculados a un servicio AWSServiceRoleForMemoryDB

Agregue la siguiente instrucción de política a los permisos para esa entidad de IAM:

{ "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::*:role/aws-service-role/memorydb.amazonaws.com/AWSServiceRoleForMemoryDB*", "Condition": {"StringLike": {"iam:AWS ServiceName": "memorydb.amazonaws.com"}} }

Para permitir que una entidad de IAM elimine funciones vinculadas al servicio AWSServiceRoleForMemoryDB

Agregue la siguiente instrucción de política a los permisos para esa entidad de IAM:

{ "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "arn:aws:iam::*:role/aws-service-role/memorydb.amazonaws.com/AWSServiceRoleForMemoryDB*", "Condition": {"StringLike": {"iam:AWS ServiceName": "memorydb.amazonaws.com"}} }

Como alternativa, puede utilizar una política AWS gestionada para proporcionar acceso total a MemoryDB.

Creación de un rol vinculado a servicios (IAM)

Puede crear un rol vinculado a servicios mediante la consola de IAM, la CLI o la API.

Creación de un rol vinculado a servicios (consola de IAM)

Puede utilizar la consola de IAM para crear un rol vinculado a un servicio.

Para crear un rol vinculado a un servicio (consola)
  1. Inicie sesión en la consola de IAM AWS Management Console y ábrala en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación izquierdo de la consola de IAM, elija Roles. A continuación, elija Create new role (Crear nuevo rol).

  3. En Select type of trusted entity (Seleccionar el tipo de entidad de confianza), elija AWS Service (Servicio de ).

  4. En O seleccione un servicio para ver los casos de uso, elija MemoryDB.

  5. Elija Siguiente: permisos.

  6. En Policy name (Nombre de la política), tenga en cuenta que MemoryDBServiceRolePolicy es necesario para este rol. Elija Siguiente:Etiquetas.

  7. Tenga en cuenta que las etiquetas no son compatibles con los roles vinculados a servicios. Elija Next: Review.

  8. (Opcional) En Descripción del rol, edite la descripción del nuevo rol vinculado al servicio.

  9. Revise el rol y, a continuación, seleccione Crear rol.

Creación de un rol vinculado a servicios (CLI de IAM)

Puede utilizar las operaciones de IAM desde el AWS Command Line Interface para crear un rol vinculado a un servicio. Este rol puede incluir la política de confianza y las políticas insertadas que el servicio necesita para asumir el rol.

Para crear un rol vinculado a un servicio (CLI)

Use la operación siguiente:

$ aws iam create-service-linked-role --aws-service-name memorydb.amazonaws.com

Creación de un rol vinculado a servicios (API de IAM)

Puede utilizar la API de IAM para crear un rol vinculado a servicios. Este rol puede contener la política de confianza y las políticas insertadas que el servicio necesita para asumir el rol.

Para crear un rol vinculado a un servicio (API)

Use la llamada de API de CreateServiceLinkedRole. En la solicitud, especifique el nombre del servicio de memorydb.amazonaws.com.

Edición de la descripción de un rol vinculado a un servicio para MemoryDB

MemoryDB no permite editar el rol vinculado al servicio. AWSServiceRoleForMemoryDB Después de crear un rol vinculado al servicio, no podrá cambiar el nombre del rol, ya que varias entidades podrían hacer referencia al rol. Sin embargo, sí puede editar la descripción del rol con IAM.

Edición de la descripción de un rol vinculado a servicios (consola de IAM)

Puede utilizar la consola de IAM para editar una descripción de rol vinculado a servicios.

Para editar la descripción de un rol vinculado a un servicio (consola)
  1. En el panel de navegación izquierdo de la consola de IAM, elija Roles.

  2. Seleccione el nombre del rol que desea modificar.

  3. En el extremo derecho de Role description, seleccione Edit.

  4. Ingrese una descripción nueva en el cuadro Save (Guardar).

Edición de la descripción de un rol vinculado a servicios (CLI de IAM)

Puede utilizar las operaciones de IAM desde el para editar la descripción de un rol vinculado AWS Command Line Interface a un servicio.

Para cambiar la descripción de un rol vinculado a un servicio (CLI)
  1. (Opcional) Para ver la descripción actual de un rol, utilice la operación AWS CLI for IAM. get-role

    $ aws iam get-role --role-name AWSServiceRoleForMemoryDB

    Utilice el nombre del rol, no el ARN, para hacer referencia a los roles con las operaciones de la CLI. Por ejemplo, si una función tiene el ARN arn:aws:iam::123456789012:role/myrole, debe referirse a él como myrole.

  2. Para actualizar la descripción de un rol vinculado a un servicio, utilice la operación AWS CLI for IAM. update-role-description

    Para Linux, macOS o Unix:

    $ aws iam update-role-description \ --role-name AWSServiceRoleForMemoryDB \ --description "new description"

    Para Windows:

    $ aws iam update-role-description ^ --role-name AWSServiceRoleForMemoryDB ^ --description "new description"

Edición de la descripción de un rol vinculado a servicios (API de IAM)

Puede utilizar la API de IAM para editar una descripción de rol vinculado a servicios.

Para cambiar la descripción de un rol vinculado a un servicio (API)
  1. (Opcional) Para ver la descripción actual de un rol, utilice la operación de la API de IAM GetRole.

    https://iam.amazonaws.com/ ?Action=GetRole &RoleName=AWSServiceRoleForMemoryDB &Version=2010-05-08 &AUTHPARAMS
  2. Para actualizar la descripción de un rol, utilice la operación de la API de IAM UpdateRoleDescription.

    https://iam.amazonaws.com/ ?Action=UpdateRoleDescription &RoleName=AWSServiceRoleForMemoryDB &Version=2010-05-08 &Description="New description"

Eliminar un rol vinculado a un servicio para MemoryDB

Si ya no necesita usar una característica o servicio que requieran un rol vinculado a un servicio, le recomendamos que elimine dicho rol. De esta forma no tiene una entidad no utilizada que no se monitoree ni mantenga de forma activa. Sin embargo, debe limpiar el rol vinculado al servicio antes de eliminarlo.

MemoryDB no elimina automáticamente el rol vinculado al servicio.

Limpiar un rol vinculado a un servicio

Antes de que pueda utilizar IAM para eliminar un rol vinculado a servicios, primero confirme que el rol no tiene recursos (clústeres) asociados a él.

Para comprobar si el rol vinculado a un servicio tiene una sesión activa en la consola de IAM
  1. Inicie sesión en la consola de IAM AWS Management Console y ábrala en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación izquierdo de la consola de IAM, elija Roles. A continuación, elija el nombre (no la casilla de verificación) del AWSServiceRoleForMemoryDB rol.

  3. En la página Resumen del rol seleccionado, seleccione la pestaña Asesor de acceso.

  4. En la pestaña Asesor de acceso, revise la actividad reciente del rol vinculado a servicios.

Para eliminar los recursos de MemoryDB que requieren AWSServiceRoleForMemoryDB (consola)

Eliminación de un rol vinculado a servicios (consola de IAM)

Puede utilizar la consola de IAM para eliminar un rol vinculado a un servicio.

Para eliminar un rol vinculado a un servicio (consola)
  1. Inicie sesión en la consola de IAM AWS Management Console y ábrala en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación izquierdo de la consola de IAM, elija Roles. A continuación, seleccione la casilla junto al nombre del rol que desea eliminar, no el nombre ni la fila.

  3. En Role actions (Acciones de rol) en la parte superior de la página, elija Delete role (Eliminar rol).

  4. En la página de confirmación, revise los datos del servicio al que se accedió por última vez, que muestran cuándo accedió por última vez a un AWS servicio cada uno de los roles seleccionados. Esto lo ayuda a confirmar si el rol está actualmente activo. Si desea continuar, seleccione Yes, Delete para enviar la solicitud de eliminación del rol vinculado al servicio.

  5. Consulte las notificaciones de la consola de IAM para monitorear el progreso de la eliminación del rol vinculado al servicio. Como el proceso de eliminación del rol vinculado al servicio de IAM es asíncrono, dicha tarea puede realizarse correctamente o fallar después de que envía la solicitud de eliminación. Si la tarea no se realiza correctamente, puede seleccionar View details (Ver detalles) o View Resources (Ver recursos) desde las notificaciones para obtener información sobre el motivo por el que no se pudo eliminar el rol.

Eliminación de un rol vinculado a servicios (CLI de IAM)

Puede utilizar las operaciones de IAM desde allí AWS Command Line Interface para eliminar un rol vinculado a un servicio.

Para eliminar un rol vinculado a un servicio (CLI)
  1. Si no conoce el nombre del rol vinculado a servicios que desea eliminar, ingrese el siguiente comando. En este comando se enumeran los roles y los nombres de recursos de Amazon (ARN) de la cuenta.

    $ aws iam get-role --role-name role-name

    Utilice el nombre del rol, no el ARN, para hacer referencia a los roles con las operaciones de la CLI. Por ejemplo, si un rol tiene el ARN arn:aws:iam::123456789012:role/myrole, debe referirse a él como myrole.

  2. Como los roles vinculados a servicios no se puede eliminar si están en uso o tienen recursos asociados, debe enviar una solicitud de eliminación. Esta solicitud puede denegarse si no se cumplen estas condiciones. Debe apuntar el valor deletion-task-id de la respuesta para comprobar el estado de la tarea de eliminación. Ingrese lo siguiente para enviar una solicitud de eliminación de un rol vinculado a servicios.

    $ aws iam delete-service-linked-role --role-name role-name
  3. Ingrese lo siguiente para verificar el estado de la tarea de eliminación.

    $ aws iam get-service-linked-role-deletion-status --deletion-task-id deletion-task-id

    El estado de la tarea de eliminación puede ser NOT_STARTED, IN_PROGRESS, SUCCEEDED o FAILED. Si ocurre un error durante la eliminación, la llamada devuelve el motivo del error para que pueda resolver el problema.

Eliminación de un rol vinculado a servicios (API de IAM)

Puede utilizar la API de IAM para eliminar un rol vinculado a un servicio.

Para eliminar un rol vinculado a un servicio (API)
  1. Para enviar una solicitud de eliminación de un rol vinculado a un servicio, llame a DeleteServiceLinkedRole. En la solicitud, especifique el nombre del rol.

    Como los roles vinculados a servicios no se puede eliminar si están en uso o tienen recursos asociados, debe enviar una solicitud de eliminación. Esta solicitud puede denegarse si no se cumplen estas condiciones. Debe apuntar el valor DeletionTaskId de la respuesta para comprobar el estado de la tarea de eliminación.

  2. Para comprobar el estado de la tarea de eliminación, realice una llamada a GetServiceLinkedRoleDeletionStatus. En la solicitud, especifique el valor de DeletionTaskId.

    El estado de la tarea de eliminación puede ser NOT_STARTED, IN_PROGRESS, SUCCEEDED o FAILED. Si ocurre un error durante la eliminación, la llamada devuelve el motivo del error para que pueda resolver el problema.