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 (IAM) roles vinculados al servicio. Un rol vinculado a un servicio es un tipo único de IAM rol que está vinculado directamente a un AWS servicio, como MemoryDB. 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 sobre otros servicios que admiten funciones vinculadas a servicios, consulte AWS Servicios con los que funcionan IAM y busque los servicios con los que se indica Sí en la columna Función vinculada a servicios. 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 a servicios 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: M emoryDBService RolePolicy.

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

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

{ "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 IAM entidad elimine funciones vinculadas a un AWSServiceRoleForMemoryDB servicio

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

{ "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 usar una política AWS administrada para proporcionar acceso completo a MemoryDB.

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

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

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

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

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

  2. En el panel de navegación izquierdo de la IAM consola, selecciona 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.

Crear un rol vinculado a un servicio () IAM CLI

Puede utilizar IAM las operaciones del 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

Crear un rol vinculado a un servicio () IAM API

Puede utilizar el IAM API para crear un rol vinculado a un servicio. 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 CreateServiceLinkedRole APIllamar. 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 a un servicio, no podrá cambiar el nombre del rol, ya que varias entidades podrían hacer referencia al mismo. Sin embargo, puede editar la descripción del rol utilizando. IAM

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

Puede utilizar la IAM consola para editar la descripción de un rol vinculado a un servicio.

Para editar la descripción de un rol vinculado a un servicio (consola)
  1. En el panel de navegación izquierdo de la IAM consola, selecciona 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 un servicio () IAM CLI

Puede utilizar IAM las operaciones del AWS Command Line Interface para editar la descripción de un rol vinculado 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 forIAM. get-role

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

    Utilice el nombre del rol, no elARN, para hacer referencia a los roles con las CLI operaciones. Por ejemplo, si un rol tiene lo siguienteARN:arn:aws:iam::123456789012:role/myrole, refiérase al rol comomyrole.

  2. Para actualizar la descripción de un rol vinculado a un servicio, utilice la operación AWS CLI forIAM. 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 un servicio () IAM API

Puede utilizar el IAM API para editar la descripción de un rol vinculado a un servicio.

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 IAM API 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 IAM API operación 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 poder eliminar un rol vinculado IAM a un servicio, primero confirme que el rol no tiene recursos (clústeres) asociados.

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

  2. En el panel de navegación izquierdo de la IAM consola, selecciona 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)

Eliminar un rol vinculado a un servicio (consola) IAM

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

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

  2. En el panel de navegación izquierdo de la IAM consola, selecciona 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. Observe las notificaciones de la IAM consola para supervisar el progreso de la eliminación del rol vinculado al servicio. Como la eliminación del rol IAM vinculado al servicio es asincrónica, una vez enviado el rol para su eliminación, la tarea de eliminación puede realizarse correctamente o fallar. 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.

Eliminar un rol vinculado a un servicio () IAM CLI

Puede utilizar IAM las operaciones de 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. Este comando muestra las funciones y sus nombres de recursos de Amazon (ARNs) en su cuenta.

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

    Utilice el nombre del rol, no elARN, para hacer referencia a los roles relacionados con las CLI operaciones. Por ejemplo, si un rol tiene el ARNarn:aws:iam::123456789012:role/myrole, se hace referencia al rol comomyrole.

  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.

Eliminar un rol vinculado a un servicio () IAM API

Puede utilizar el para eliminar un IAM API 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, realice una llamada a DeleteServiceLinkedRole. En la solicitud, especifique un nombre de función.

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

    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.