Autenticación y control de acceso para AWS RoboMaker - AWS RoboMaker

AWS RoboMaker ya no está disponible para nuevos clientes. Clientes actuales de AWS RoboMaker pueden seguir utilizando el servicio con normalidad. AWS Batch es ahora el servicio preferido para ejecutar simulaciones en contenedores. Más información.

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.

Autenticación y control de acceso para AWS RoboMaker

AWS Identity and Access Management (IAM) es un AWS servicio que ayuda a un administrador a controlar de forma segura el acceso a AWS RoboMaker recursos. Los administradores controlan quién está autenticado (ha iniciado sesión) y quién está autorizado (tiene permisos) para usarlos IAM AWS RoboMaker recursos. IAMes una característica de tu AWS cuenta ofrecida sin cargo adicional.

importante

Para comenzar a usar esta característica rápidamente, revise la información introductoria de esta página y, a continuación, consulte Empezando con IAM y ¿Qué son las políticas?.

Temas

Introducción a la autorización y al control de acceso

AWS RoboMaker está integrado con AWS Identity and Access Management (IAM), que ofrece una amplia gama de funciones:

  • Cree usuarios y grupos en su Cuenta de AWS.

  • Comparta fácilmente sus AWS recursos entre los usuarios de su Cuenta de AWS.

  • Asignación de credenciales de seguridad exclusivas a los usuarios.

  • Control del acceso de los usuarios a los servicios y recursos.

  • Obtenga una factura única para todos los usuarios de su Cuenta de AWS.

Para obtener más información al respectoIAM, consulte lo siguiente:

Permisos necesarios

Para utilizar AWS RoboMaker o para gestionar la autorización y el control de acceso para usted o para otras personas, debe tener los permisos correctos.

Permisos necesarios para usar el AWS RoboMaker Consola

Para acceder al AWS RoboMaker consola, debe tener un conjunto mínimo de permisos que le permita enumerar y ver detalles sobre la AWS RoboMaker recursos en tu AWS account. Si crea una política de permisos basados en identidad que sea más restrictiva que el mínimo de permisos necesarios, la consola no funcionará del modo esperado para las entidades que tengan esa política.

Para acceder de solo lectura a AWS RoboMaker consola, utilice la AWSRoboMakerReadOnlyAccesspolítica.

Si un IAM usuario quiere crear un trabajo de simulación, debe concederle el iam:PassRole permiso. Para obtener más información sobre la transferencia de un rol, consulte Concesión de permisos a un usuario para transferir un rol a un AWS servicio.

Por ejemplo, puede asociar la siguiente política a un usuario. Concede permiso para crear un trabajo de simulación:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/S3AndCloudWatchAccess" } ] }

No es necesario que concedas permisos mínimos de consola a los usuarios que solo realizan llamadas al AWS CLI o el AWS API. En su lugar, solo necesita los permisos que coincidan con la API operación que está intentando realizar.

Se requieren permisos para ver mundos en AWS RoboMaker en la consola

Puede conceder los permisos necesarios para ver AWS RoboMaker mundos en el AWS RoboMaker consola adjuntando la siguiente política a un usuario:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "robomaker: DescribeWorld" ], "Resource": "*", "Effect": "Allow" } ] }

Permisos necesarios para usar la AWS RoboMaker herramientas de simulación

El IAM usuario o rol utilizado para crear la simulación tendrá automáticamente permiso para acceder a las herramientas de simulación. Si se trata de un rol o usuario diferente, tiene que tener el privilegio robomaker:CreateSimulationJob.

Permisos necesarios para administrar la autenticación

Para administrar sus propias credenciales, como la contraseña, las claves de acceso y los dispositivos de autenticación multifactorial (MFA), el administrador debe concederle los permisos necesarios. Para ver la política que incluye estos permisos, consulte Cómo permitir a los usuarios que administren sus propias credenciales.

Como AWS administrador, necesita acceso total para IAM poder crear y administrar usuarios, grupos, funciones y políticas en élIAM. Deberías usar el AdministratorAccess AWS política gestionada que incluye el acceso total a todos AWS. Esta política no proporciona acceso a la AWS Billing and Cost Management consola o permite tareas que requieren credenciales de usuario root. Para obtener más información, consulte AWS Tareas que requieren Cuenta de AWS Credenciales de usuario root en el Referencia general de AWS.

aviso

Solo un usuario administrador debe tener acceso completo a AWS Cualquier persona que tenga esta política dispondrá de permiso para administrar totalmente la autenticación y el control de acceso, además de para modificar todos los recursos de . AWS. Para obtener información sobre cómo crear este usuario, consulteCree su usuario IAM de administrador.

Permisos requeridos para el control de acceso

Si el administrador le proporcionó las credenciales IAM de usuario, adjuntará políticas a su IAM usuario para controlar los recursos a los que puede acceder. Para ver las políticas asociadas a su usuario en el AWS Management Console, debe tener los siguientes permisos:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": [ "arn:aws:iam::*:user/${aws:username}" ] }, { "Sid": "ListUsersViewGroupsAndPolicies", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Si necesita permisos adicionales, pida a su administrador que actualice las políticas de tal forma que pueda tener acceso a las acciones que necesita.

Permisos necesarios para trabajos de simulación

Al crear un trabajo de simulación, debe tener un IAM rol con los permisos que se indican a continuación.

  • Sustituya my-input-bucket por el nombre del bucket que contenga los paquetes de las aplicaciones de robot y simulación.

  • Reemplace my-output-bucket para que apunte al cubo donde está AWS RoboMaker escribirá los archivos de salida.

  • Sustituya account# por su número de cuenta.

Los ECR trabajos públicos requieren permisos independientes, como ecr-public:GetAuthorizationTokensts:GetServiceBearerToken, y cualquier otro permiso necesario para la implementación final. Para obtener más información, consulta las políticas de repositorios públicos en la Guía del ECR usuario de Amazon.

Jobs with Private ECR images
{ "Version": "2012-10-17", "Statement": [ { "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::my-input-bucket" ], "Effect": "Allow" }, { "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::my-input-bucket/*" ], "Effect": "Allow" }, { "Action": "s3:Put*", "Resource": [ "arn:aws:s3:::my-output-bucket/*" ], "Effect": "Allow" }, { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:account#:log-group:/aws/robomaker/SimulationJobs*" ], "Effect": "Allow" }, { "Action": [ "ecr:BatchGetImage", "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer" ], "Resource": "arn:partition:ecr:region:account#:repository/repository_name", "Effect": "Allow" } ] }
Jobs with Public ECR images
{ "Version": "2012-10-17", "Statement": [ { "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::my-input-bucket" ], "Effect": "Allow" }, { "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::my-input-bucket/*" ], "Effect": "Allow" }, { "Action": "s3:Put*", "Resource": [ "arn:aws:s3:::my-output-bucket/*" ], "Effect": "Allow" }, { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:account#:log-group:/aws/robomaker/SimulationJobs*" ], "Effect": "Allow" }, { "Action": [ "ecr-public:GetAuthorizationToken", "sts:GetServiceBearerToken" ], "Resource": "*", "Effect": "Allow" } ] }

La política debe estar asociada a un rol con la política de confianza siguiente.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "robomaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account#" // Account where the simulation job resource is created }, "StringEquals": { "aws:SourceArn": "arn:aws:robomaker:region:account#:simulation-job/*" } } } }

Las claves de condición evitan que un AWS servicio se utilice como un sustituto confuso durante las transacciones entre servicios. Consulte SourceAccounty SourceArnpara obtener información adicional sobre las claves de estado.

Permisos necesarios para usar etiquetas desde una ROS aplicación o línea de ROS comandos

Puede etiquetar, desetiquetar y enumerar las etiquetas de su trabajo de simulación desde la ROS línea de comandos o en la ROS aplicación mientras se está ejecutando. Debe tener un IAM rol con los permisos que se indican a continuación. Sustituya account# por su número de cuenta.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "robomaker:TagResource", "robomaker:UntagResource", "robomaker:ListTagsForResource", ], "Resource": [ "arn:aws:robomaker:*:account#:simulation-job*" ], "Effect": "Allow" } ] }

La política debe estar asociada a un rol con la siguiente política de confianza:

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "robomaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account#" // Account where the simulation job resource is created }, "StringEquals": { "aws:SourceArn": "arn:aws:robomaker:region:account#:simulation-job/*" } } } }

Las claves de condición evitan que un AWS servicio se utilice como un intermediario confuso durante las transacciones entre servicios. Consulte SourceAccounty SourceArnpara obtener información adicional sobre las claves de estado.

Entender cómo AWS RoboMaker funciona con IAM

Los servicios pueden funcionar IAM de varias maneras:

  • Acciones — AWS RoboMaker apoya el uso de acciones en una política. Esto permite al administrador controlar si una entidad puede completar una operación en AWS RoboMaker. Por ejemplo, para permitir que una entidad vea una política mediante la ejecución de GetPolicy AWS APIdurante la operación, un administrador debe adjuntar una política que permita la iam:GetPolicy acción.

  • Permisos a nivel de recursos: AWS RoboMaker no admite permisos a nivel de recursos. Los permisos a nivel de recursos permiten especificar recursos individuales en ARNsla política. Porque AWS RoboMaker no admite esta función, por lo que debe elegir Todos los recursos en el editor visual de políticas. En un documento JSON de política, debe utilizarlos * en el Resource elemento.

  • Autorización basada en etiquetas: AWS RoboMaker admite etiquetas basadas en autorizaciones. Esta característica le permite utilizar etiquetas de recursos en la condición de una política.

  • Credenciales temporales: AWS RoboMaker admite credenciales temporales. Esta función le permite iniciar sesión con una federación, asumir un IAM rol o asumir un rol multicuenta. Para obtener credenciales de seguridad temporales, llame AWS STS APIoperaciones como AssumeRoleo GetFederationToken.

  • Funciones vinculadas al servicio: AWS RoboMaker apoya las funciones de servicio. Esta característica permite que un servicio asuma un rol vinculado a un servicio en nombre de usted. Este rol permite que el servicio obtenga acceso a los recursos de otros servicios para completar una acción en su nombre. Los roles vinculados al servicio aparecen en su IAM cuenta y son propiedad del servicio. Un IAM administrador puede ver los permisos de los roles vinculados al servicio, pero no editarlos.

  • Funciones de servicio: AWS RoboMaker apoya las funciones de servicio. Esta característica permite que un servicio asuma un rol de servicio en su nombre. Este rol permite que el servicio obtenga acceso a los recursos de otros servicios para completar una acción en su nombre. Los roles de servicio aparecen en su IAM cuenta y son propiedad de la cuenta. Esto significa que un IAM administrador puede cambiar los permisos de este rol. Sin embargo, hacerlo podría deteriorar la funcionalidad del servicio.

Solución de problemas de autenticación y control de acceso

Utilice la siguiente información como ayuda para diagnosticar y solucionar problemas comunes que puedan surgir al trabajar con ellosIAM.

No estoy autorizado a realizar ninguna acción en AWS RoboMaker

Si recibes un error en el AWS Management Console que le indique que no está autorizado a realizar una acción, debe ponerse en contacto con el administrador que le proporcionó su nombre de usuario y contraseña.

El siguiente ejemplo de error se produce cuando un IAM usuario llamado my-user-name intenta usar la consola para realizar la CreateRobotApplication acción, pero no tiene permisos.

User: arn:aws:iam::123456789012:user/my-user-name is not authorized to perform: aws-robomaker:CreateRobotApplication on resource: my-example-robot-application

En este ejemplo, debe pedir al administrador que actualice sus políticas para que pueda obtener acceso al recurso my-example-robot-application a través de la acción aws-robomaker:CreateRobotApplication.

Soy administrador y quiero permitir que otras personas accedan AWS RoboMaker

Para permitir el acceso de otras personas AWS RoboMaker debe crear una IAM entidad (usuario o rol) para la persona o aplicación a la que necesita acceso. Utilizarán las credenciales de esa entidad para acceder AWS A continuación, debe asociar una política a la entidad que le conceda los permisos correctos en . AWS RoboMaker.

Para comenzar trabajar enseguida, consulte Empezando con IAM.