Authentification et contrôle d'accès pour AWS RoboMaker - AWS RoboMaker

AWS RoboMaker n'est plus disponible pour les nouveaux clients. Les clients existants de AWS RoboMaker peut continuer à utiliser le service normalement. AWS Batch est désormais le service préféré pour exécuter des simulations conteneurisées. En savoir plus.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Authentification et contrôle d'accès pour AWS RoboMaker

AWS Identity and Access Management (IAM) est un AWS service qui permet à un administrateur de contrôler en toute sécurité l'accès à AWS RoboMaker ressources. Les administrateurs contrôlent qui est authentifié (connecté) et autorisé (autorisé) à utiliser IAM AWS RoboMaker ressources. IAMest une fonctionnalité de votre AWS compte offert sans frais supplémentaires.

Important

Pour démarrer rapidement, consultez les informations d'introduction de cette page, puis consultezCommencer avec IAM, etQue sont les politiques ?.

Rubriques

Présentation de l'autorisation et du contrôle d'accès

AWS RoboMaker est intégré à AWS Identity and Access Management (IAM), qui propose un large éventail de fonctionnalités :

  • Créez des utilisateurs et des groupes dans votre Compte AWS.

  • Partagez facilement votre AWS ressources entre les utilisateurs de votre Compte AWS.

  • Attribuez des informations de sécurité uniques à chaque utilisateur.

  • Contrôlez l'accès de chaque utilisateur aux services et aux ressources.

  • Obtenez une facture unique pour tous les utilisateurs de votre Compte AWS.

Pour plus d'informations surIAM, consultez les rubriques suivantes :

Autorisations nécessaires

Pour utiliser AWS RoboMaker ou pour gérer les autorisations et le contrôle d'accès pour vous-même ou pour d'autres personnes, vous devez disposer des autorisations appropriées.

Autorisations requises pour utiliser le AWS RoboMaker Console

Pour accéder au AWS RoboMaker console, vous devez disposer d'un ensemble minimal d'autorisations vous permettant de répertorier et d'afficher les détails concernant le AWS RoboMaker ressources dans votre AWS . Si vous créez une stratégie d'autorisation basée sur l'identité qui est plus restrictive que l'ensemble minimum d'autorisations requis, la console ne fonctionnera pas comme prévu pour les entités tributaires de cette stratégie.

Pour un accès en lecture seule au AWS RoboMaker console, utilisez la AWSRoboMakerReadOnlyAccesspolitique.

Si un IAM utilisateur souhaite créer une tâche de simulation, vous devez lui accorder une iam:PassRole autorisation. Pour plus d'informations sur le transfert d'un rôle, consultez la section Octroi à un utilisateur des autorisations pour transmettre un rôle à un AWS service.

Par exemple, vous pouvez associer la stratégie suivante à un utilisateur. Elle fournit l'autorisation de créer une tâche de simulation :

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

Il n'est pas nécessaire d'accorder des autorisations de console minimales aux utilisateurs qui appellent uniquement le AWS CLI ou le AWS API. Au lieu de cela, vous n'avez besoin que des autorisations correspondant à l'APIopération que vous essayez d'effectuer.

Autorisations requises pour visualiser les mondes dans AWS RoboMaker dans la console

Vous pouvez octroyer les autorisations requises pour consulter AWS RoboMaker mondes dans le AWS RoboMaker console en attachant la politique suivante à un utilisateur :

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

Autorisations requises pour utiliser le AWS RoboMaker outils de simulation

L'IAMutilisateur ou le rôle utilisé pour créer une simulation sera automatiquement autorisé à accéder aux outils de simulation. S'il s'agit d'un autre utilisateur ou rôle, il doit disposer du privilège robomaker:CreateSimulationJob.

Autorisations requises pour la gestion d'authentification

Pour gérer vos propres informations d'identification, telles que votre mot de passe, vos clés d'accès et vos appareils d'authentification multifactorielle (MFA), votre administrateur doit vous accorder les autorisations requises. Pour consulter la stratégie sous-tendant ces autorisations, consultez Permettre aux utilisateurs de gérer eux-mêmes leurs informations d'identification.

En tant que AWS administrateur, vous avez besoin d'un accès complet pour IAM pouvoir créer et gérer des utilisateurs, des groupes, des rôles et des politiques dansIAM. Vous devez utiliser AdministratorAccess AWS politique gérée qui inclut un accès complet à tous AWS. Cette politique ne donne pas accès au AWS Billing and Cost Management console ou autorisez les tâches qui nécessitent les informations d'identification de l'utilisateur root. Pour plus d’informations, consultez .AWS Tâches nécessitant Compte AWS Informations d'identification de l'utilisateur root dans Références générales AWS.

Avertissement

Seul un utilisateur administrateur doit avoir un accès complet à AWS Toute personne utilisant cette stratégie est autorisée à gérer l'ensemble du processus d'authentification et de contrôle d'accès, en plus de pouvoir modifier toutes les ressources nécessaires dans . AWS. Pour savoir comment créer cet utilisateur, consultezCréez votre utilisateur IAM Admin.

Autorisations requises pour le contrôle d'accès

Si votre administrateur vous a fourni des informations IAM d'identification utilisateur, il a associé des politiques à votre IAM utilisateur pour contrôler les ressources auxquelles vous pouvez accéder. Pour consulter les politiques associées à votre utilisateur dans AWS Management Console, vous devez disposer des autorisations suivantes :

{ "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 vous avez besoin d'autorisations supplémentaires, demandez à votre administrateur de mettre à jour vos stratégies pour vous permettre d'accéder aux actions nécessaires.

Autorisations requises pour une tâche de simulation

Lorsque vous créez une tâche de simulation, elle doit avoir un IAM rôle avec les autorisations ci-dessous.

  • Remplacez my-input-bucket par le nom du compartiment contenant les solutions groupées d'applications robotique et de simulation.

  • Remplacez my-output-bucket pour pointer vers le godet où AWS RoboMaker va écrire les fichiers de sortie.

  • Remplacez account# par votre numéro de compte.

Les ECR tâches publiques nécessitent des autorisations distinctes, telles que ecr-public:GetAuthorizationTokensts:GetServiceBearerToken, et toute autre autorisation requise pour votre mise en œuvre finale. Pour plus d'informations, consultez les politiques relatives aux référentiels publics dans le guide de ECR l'utilisateur 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 politique doit être attachée à un rôle doté de la politique de confiance suivante.

{ "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/*" } } } }

Les clés de condition empêchent qu'un AWS service soit utilisé comme un adjoint confus lors de transactions entre services. Consultez SourceAccountet SourceArnpour plus d'informations sur les clés de condition.

Autorisations requises pour utiliser les balises depuis une ROS application ou une ligne de ROS commande

Vous pouvez baliser, débaliser et répertorier les balises dans votre tâche de simulation depuis la ROS ligne de commande ou dans votre ROS application pendant son exécution. Vous devez avoir un IAM rôle avec les autorisations ci-dessous. Remplacez account# par votre numéro de compte.

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

La stratégie doit être attachée à un rôle avec la stratégie d'approbation suivante :

{ "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/*" } } } }

Les clés de condition empêchent qu'un AWS service soit utilisé comme un adjoint confus lors de transactions entre services. Consultez SourceAccountet SourceArnpour plus d'informations sur les clés de condition.

Comprendre comment AWS RoboMaker fonctionne avec IAM

Les services peuvent fonctionner IAM de plusieurs manières :

  • Mesures — AWS RoboMaker prend en charge l'utilisation d'actions dans une politique. Cela permet à un administrateur de contrôler si une entité peut effectuer une opération dans AWS RoboMaker. Par exemple, pour permettre à une entité de consulter une politique en exécutant la GetPolicy AWS APIopération, un administrateur doit joindre une politique autorisant l'iam:GetPolicyaction.

  • Autorisations au niveau des ressources — AWS RoboMaker ne prend pas en charge les autorisations au niveau des ressources. Les autorisations au niveau des ressources vous permettent de spécifier ARNsdes ressources individuelles dans la politique. Parce que AWS RoboMaker ne prend pas en charge cette fonctionnalité, vous devez alors sélectionner Toutes les ressources dans l'éditeur visuel des politiques. Dans un document JSON de politique, vous devez utiliser l'Resourceélément * in.

  • Autorisation basée sur des balises — AWS RoboMaker prend en charge les balises basées sur l'autorisation. Cette fonction vous permet d'utiliser des balises de ressource dans la condition d'une stratégie.

  • Informations d'identification temporaires — AWS RoboMaker prend en charge les informations d'identification temporaires. Cette fonctionnalité vous permet de vous connecter via la fédération, d'assumer un IAM rôle ou d'assumer un rôle entre comptes. Vous obtenez des informations d'identification de sécurité temporaires en appelant AWS STS APIdes opérations telles que AssumeRoleou GetFederationToken.

  • Rôles liés aux services — AWS RoboMaker soutient les rôles de service. Cette fonction permet à un service d'endosser un rôle lié à un service en votre nom. Ce rôle autorise le service à accéder à des ressources d’autres services pour effectuer une action en votre nom. Les rôles liés au service apparaissent dans votre IAM compte et appartiennent au service. Un IAM administrateur peut consulter, mais pas modifier les autorisations pour les rôles liés à un service.

  • Rôles de service — AWS RoboMaker soutient les rôles de service. Cette fonctionnalité permet à un service d’endosser un rôle de service en votre nom. Ce rôle autorise le service à accéder à des ressources d’autres services pour effectuer une action en votre nom. Les rôles de service apparaissent dans votre IAM compte et sont détenus par le compte. Cela signifie qu'un IAM administrateur peut modifier les autorisations associées à ce rôle. Toutefois, cela peut perturber le bon fonctionnement du service.

Résolution des problèmes d'authentification et de contrôle d'accès

Utilisez les informations suivantes pour vous aider à diagnostiquer et à résoudre les problèmes courants que vous pourriez rencontrer lors de votre utilisationIAM.

Je ne suis pas autorisé à effectuer une action dans AWS RoboMaker

Si vous recevez un message d'erreur dans le AWS Management Console qui vous indique que vous n'êtes pas autorisé à effectuer une action, vous devez alors contacter l'administrateur qui vous a fourni votre nom d'utilisateur et votre mot de passe.

L'exemple d'erreur suivant se produit lorsqu'un IAM utilisateur nommé my-user-name essaie d'utiliser la console pour effectuer l' CreateRobotApplication action, mais ne dispose pas des autorisations nécessaires.

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

Pour cet exemple, demandez à votre administrateur de mettre à jour vos stratégies pour vous permettre d'accéder à la ressource my-example-robot-application à l'aide de l'action aws-robomaker:CreateRobotApplication.

Je suis administrateur et je souhaite autoriser d'autres personnes à accéder AWS RoboMaker

Pour permettre à d'autres personnes d'accéder AWS RoboMaker vous devez créer une IAM entité (utilisateur ou rôle) pour la personne ou l'application qui a besoin d'un accès. Ils utiliseront les informations d'identification permettant à cette entité d'accéder AWS Vous devez ensuite associer une politique à l'entité qui leur accorde les autorisations appropriées dans . AWS RoboMaker.

Pour démarrer immédiatement, consultez Commencer avec IAM.