Uso de funciones vinculadas a servicios para AWS Batch - AWS Batch

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 funciones vinculadas a servicios para AWS Batch

AWS Batch usa roles vinculados al AWS Identity and Access Management servicio (IAM). Un rol vinculado a un servicio es un tipo único de rol de IAM al que se vincula directamente. AWS Batch Los roles vinculados al servicio están predefinidos AWS Batch e incluyen todos los permisos que el servicio requiere para llamar a otros AWS servicios en su nombre.

Un rol vinculado a un servicio facilita la configuración AWS Batch , ya que no es necesario añadir manualmente los permisos necesarios. AWS Batch define los permisos de sus funciones vinculadas al servicio y, a menos que se defina lo contrario, solo AWS Batch puede asumir sus funciones. Los permisos definidos incluyen las políticas de confianza y de permisos, y que la política de permisos no se pueda adjuntar a ninguna otra entidad de IAM.

nota

Realice una de las siguientes acciones para especificar una función de servicio para un entorno AWS Batch informático.

  • Utilice una cadena vacía para el rol de servicio. Esto permite AWS Batch crear el rol de servicio.

  • Especifique el rol de servicio en el siguiente formato: arn:aws:iam::account_number:role/aws-service-role/batch.amazonaws.com/AWSServiceRoleForBatch.

Para obtener más información, consulte Nombre de rol o ARN incorrectos la Guía AWS Batch del usuario.

Solo puede eliminar un rol vinculado a servicios después de eliminar sus recursos relacionados. De esta forma, se protegen los recursos de AWS Batch , ya que se evita que se puedan eliminar accidentalmente permisos de acceso 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 AWS Batch

AWS Batch usa el rol vinculado al servicio denominado. AWSServiceRoleForBatch El AWSServiceRoleForBatchrol permite AWS Batch crear y administrar AWS recursos en su nombre.

El rol AWSServiceRoleForBatchvinculado al servicio confía en que el director del batch.amazonaws.com servicio asuma el rol.

La política de IAM denominada BatchServiceRolePolicypermite AWS Batch realizar las siguientes acciones en recursos específicos:

  • autoscaling— Permite AWS Batch crear y gestionar los recursos de Auto Scaling de Amazon EC2. AWS Batch crea y administra grupos de Auto Scaling de Amazon EC2 para la mayoría de los entornos informáticos.

  • ec2— Permite AWS Batch controlar el ciclo de vida de las instancias de Amazon EC2, así como crear y gestionar plantillas y etiquetas de lanzamiento. AWS Batch crea y gestiona las solicitudes de EC2 Spot Fleet para algunos entornos de computación puntual de EC2.

  • ecs- Permite AWS Batch crear y gestionar clústeres de Amazon ECS, definiciones de tareas y tareas para la ejecución de trabajos.

  • eks- Permite AWS Batch describir el recurso del clúster Amazon EKS para las validaciones.

  • iam- Permite AWS Batch validar y transferir las funciones proporcionadas por el propietario a Amazon EC2, Amazon EC2 Auto Scaling y Amazon ECS.

  • logs— Permite AWS Batch crear y gestionar grupos de registros y flujos de registros para AWS Batch trabajos.

Debe configurar permisos para permitir a una entidad de IAM (como un usuario, grupo o rol) crear, editar o eliminar un rol vinculado a servicios. Para obtener más información, consulte Permisos de roles vinculados a servicios en la Guía del usuario de IAM.

Crear un rol vinculado a un servicio para AWS Batch

No necesita crear manualmente un rol vinculado a servicios. Cuando estás CreateComputeEnvironment en la AWS Management Console AWS CLI, la o la AWS API y no especificas un valor para el serviceRole parámetro, se AWS Batch crea automáticamente el rol vinculado al servicio.

importante

Este rol vinculado a servicios puede aparecer en su cuenta si se ha completado una acción en otro servicio que utilice las características compatibles con este rol. Además, si utilizabas el AWS Batch servicio antes del 10 de marzo de 2021, cuando comenzó a admitir roles vinculados al servicio, entonces AWS Batch creaste el AWSServiceRoleForBatch rol en tu cuenta. Para obtener más información, consulte Un nuevo rol ha aparecido en mi cuenta de IAM.

Si elimina este rol vinculado a servicios y necesita crearlo de nuevo, puede utilizar el mismo proceso para volver a crear el rol en su cuenta. Cuando lo haces CreateComputeEnvironment, vuelve a AWS Batch crear el rol vinculado al servicio para ti.

Edición de un rol vinculado a un servicio para AWS Batch

Con AWS Batch, no puedes editar el rol vinculado al AWSServiceRoleForBatch servicio. Después de crear un rol vinculado a un servicio, no puede cambiarle el nombre, ya que varias entidades pueden hacer referencia a él. Sin embargo, puede editar la descripción del rol mediante IAM. Para obtener más información, consulte Editar un rol vinculado a servicios en la Guía del usuario de IAM.

Para permitir que una entidad de IAM edite la descripción del rol vinculado al servicio AWSServiceRoleForBatch

Añada la siguiente instrucción a la política de permisos. Esto permite a una entidad de IAM editar la descripción del rol vinculado a servicio.

{ "Effect": "Allow", "Action": [ "iam:UpdateRoleDescription" ], "Resource": "arn:aws:iam::*:role/aws-service-role/batch.amazonaws.com/AWSServiceRoleForBatch", "Condition": {"StringLike": {"iam:AWSServiceName": "batch.amazonaws.com"}} }

Eliminar un rol vinculado a un servicio para AWS Batch

Si ya no necesita utilizar una característica o servicio que requiere un rol vinculado a servicios, recomendamos que elimine dicho rol. De esta forma no tendrá una entidad no utilizada que no se monitoree ni mantenga de forma activa. Sin embargo, debe limpiar los recursos de su rol vinculado al servicio antes de eliminarlo manualmente.

Para permitir que una entidad de IAM elimine el rol vinculado al servicio AWSServiceRoleForBatch

Añada la siguiente instrucción a la política de permisos. Esto permite a una entidad de IAM eliminar un rol vinculado a un servicio.

{ "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "arn:aws:iam::*:role/aws-service-role/batch.amazonaws.com/AWSServiceRoleForBatch", "Condition": {"StringLike": {"iam:AWSServiceName": "batch.amazonaws.com"}} }

Saneamiento de un rol vinculado a servicios

Antes de poder usar IAM para eliminar un rol vinculado a un servicio, primero debe confirmar que el rol no tiene sesiones activas y eliminar todos los entornos de AWS Batch procesamiento que utilizan el rol en todas AWS las regiones en una sola partición.

Para comprobar si el rol vinculado a servicio tiene una sesión activa
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, elija Funciones y, a continuación, el AWSServiceRoleForBatch nombre (no la casilla de verificación).

  3. En la página Summary, elija Access Advisor y revise la actividad reciente del rol vinculado a servicio.

    nota

    Si no sabe si AWS Batch está utilizando el AWSServiceRoleForBatch rol, puede intentar eliminarlo. Si el servicio está utilizando el rol, este no podrá eliminarse. Puede ver las regiones en las que se está utilizando el rol. Si el rol se está utilizando, debe esperar que la sesión finalice para poder eliminarlo. No se puede revocar la sesión de un rol vinculado a un servicio.

Para eliminar AWS Batch los recursos utilizados por el rol AWSServiceRoleForBatch vinculado al servicio

Debe eliminar todos los entornos AWS Batch informáticos que utilizan el AWSServiceRoleForBatch rol en todas AWS las regiones antes de poder eliminar el AWSServiceRoleForBatch rol.

  1. Abra la AWS Batch consola en https://console.aws.amazon.com/batch/.

  2. En la barra de navegación, seleccione la región a utilizar.

  3. En el panel de navegación, elija Entornos de computación.

  4. Seleccione el entorno de computación.

  5. Elija Deshabilitar. Espere a que Estado cambie a DESHABILITADO.

  6. Seleccione el entorno de computación.

  7. Elija Eliminar. Confirme que desea eliminar el entorno de computación mediante la elección de Eliminar entorno de computación.

  8. Repita los pasos 1 a 7 para todos los entornos de computación que utilizan la función vinculada al servicio en todas las regiones.

Eliminación de un rol vinculado a un servicio en IAM (Consola)

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 de la consola de IAM, elija Roles. A continuación, active la casilla de verificación situada junto a ella AWSServiceRoleForBatch, no el nombre o la fila en sí.

  3. Elija Eliminar rol.

  4. En el cuadro de diálogo de confirmación, revise los datos del último acceso al servicio, que muestra cuándo cada uno de los roles seleccionados tuvo acceso a un Servicio de AWS por última vez. 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 se realiza correctamente, el rol se elimina de la lista y aparece una notificación informando de ello en la parte superior de la página.

    • 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. Si la eliminación no pudo producirse porque el rol está utilizando los recursos del servicio, la notificación incluye una lista de dichos recursos si el servicio proporciona dicha información. Tras conocer esa información, podrá limpiar los recursos y volver a enviar la solicitud de eliminación.

      nota

      Es posible que tenga que repetir este proceso varias veces, en función de la información que devuelva el servicio. Por ejemplo, el rol vinculado al servicio podría estar utilizando seis recursos y el servicio podría estar devolviendo información solo acerca de cinco de ellos. Si limpia los cinco recursos y envía la solicitud de eliminación del rol de nuevo, se producirá un error y el servicio informará del recurso restante. Un servicio podría informar de todos los recursos, algunos o ninguno.

    • Si se produce un error en la tarea y la notificación no incluye una lista de los recursos, el servicio no podría no devolver dicha información. Para obtener información acerca de cómo limpiar los recursos de ese servicio, consulte Servicios de AWS que funcionan con IAM. Identifique su servicio en la tabla y haga clic en el enlace Yes (Sí) para consultar la documentación relacionada con los roles vinculados a dicho servicio.

Eliminación de un rol vinculado a un servicio en IAM (AWS CLI)

Puede utilizar los comandos de IAM de AWS Command Line Interface para eliminar un rol vinculado a un servicio.

Para eliminar un rol vinculado a un servicio (CLI)
  1. Como los roles vinculados a servicios no se pueden 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 el siguiente comando para enviar una solicitud de eliminación de un rol vinculado a un servicio:

    $ aws iam delete-service-linked-role --role-name AWSServiceRoleForBatch
  2. Utilice el siguiente comando para comprobar 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. Si la eliminación no pudo producirse porque el rol está utilizando los recursos del servicio, la notificación incluye una lista de dichos recursos si el servicio proporciona dicha información. Tras conocer esa información, podrá limpiar los recursos y volver a enviar la solicitud de eliminación.

    nota

    Es posible que tenga que repetir este proceso varias veces, en función de la información que devuelva el servicio. Por ejemplo, el rol vinculado al servicio podría estar utilizando seis recursos y el servicio podría estar devolviendo información solo acerca de cinco de ellos. Si limpia los cinco recursos y envía la solicitud de eliminación del rol de nuevo, se producirá un error y el servicio informará del recurso restante. Un servicio podría devolver todos los recursos, algunos de ellos. O bien, podría no reportar ningún recurso. Para obtener información acerca de cómo limpiar los recursos de un servicio que no está informando de ningún recurso, consulte los Servicios de AWS que funcionan con IAM. Identifique su servicio en la tabla y haga clic en el enlace Yes (Sí) para consultar la documentación relacionada con los roles vinculados a dicho servicio.

Eliminación de un rol vinculado a servicio en IAM (API de AWS)

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 una lista vinculada a un servicio, llama. DeleteServiceLinkedRole En la solicitud, especifique el nombre del AWSServiceRoleForBatch 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 eliminación, llame 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. Si la eliminación no pudo producirse porque el rol está utilizando los recursos del servicio, la notificación incluye una lista de dichos recursos si el servicio proporciona dicha información. Tras conocer esa información, podrá limpiar los recursos y volver a enviar la solicitud de eliminación.

    nota

    Es posible que tenga que repetir este proceso varias veces, en función de la información que devuelva el servicio. Por ejemplo, el rol vinculado al servicio podría estar utilizando seis recursos y el servicio podría estar devolviendo información solo acerca de cinco de ellos. Si limpia los cinco recursos y envía la solicitud de eliminación del rol de nuevo, se producirá un error y el servicio informará del recurso restante. Un servicio podría informar de todos los recursos, algunos o ninguno. Para obtener información acerca de cómo limpiar los recursos de un servicio que no está informando de ningún recurso, consulte Servicios de AWS que funcionan con IAM. Identifique su servicio en la tabla y haga clic en el enlace Yes (Sí) para consultar la documentación relacionada con los roles vinculados a dicho servicio.

Regiones compatibles para funciones AWS Batch vinculadas al servicio

AWS Batch admite el uso de funciones vinculadas al servicio en todas las regiones en las que el servicio está disponible. Para obtener más información, consulte Puntos de enlace de AWS Batch.