AWS RoboMakerの認証とアクセスコントロール - AWS RoboMaker

サポート終了通知: 2025 年 9 月 10 日、 AWS は のサポートを中止します AWS RoboMaker。2025 年 9 月 10 日以降、 AWS RoboMaker コンソールまたは AWS RoboMaker リソースにアクセスできなくなります。コンテナ化されたシミュレーションの実行に役立つ AWS Batch への移行の詳細については、このブログ記事 を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS RoboMakerの認証とアクセスコントロール

AWS Identity and Access Management (IAM) は、管理者が AWS RoboMaker リソースへのアクセスを安全に制御するのに役立つ AWS サービスです。管理者はIAM、 を使用して、 AWS RoboMaker リソースを使用するための認証 (サインイン) と認可 (アクセス許可あり) のユーザーを制御します。IAM は、追加料金なしで提供される AWS アカウントの機能です。

重要

迅速に使用を開始するには、このページの入門情報を確認し、次に「の開始方法 IAM」および「ポリシーとは」を参照してください。

トピック

認可とアクセスコントロールの概要

AWS RoboMaker は AWS Identity and Access Management (IAM) と統合されており、さまざまな機能を提供します。

  • でユーザーとグループを作成します AWS アカウント。

  • のユーザー間で AWS リソースを簡単に共有できます AWS アカウント。

  • 各ユーザーに一意のセキュリティ認証情報を割り当てます。

  • サービスとリソースへの各ユーザーのアクセス権限を制御します。

  • AWS アカウント内のすべてのユーザーに対する単一の請求書を受け取ります。

の詳細についてはIAM、以下を参照してください。

必要なアクセス許可

AWS RoboMaker を使用したり、自分や他のユーザーの認可とアクセスコントロールを管理したりするには、適切なアクセス許可を持っている必要があります。

AWS RoboMaker コンソールを使用するために必要なアクセス権限

AWS RoboMaker コンソールにアクセスするには、 AWS アカウントの AWS RoboMaker リソースの詳細を一覧表示および表示できる最小限のアクセス許可のセットが必要です。最小限必要なアクセス許可よりも制限されたアイデンティティベースのアクセス許可ポリシーを作成すると、そのポリシーをアタッチしたエンティティに対してはコンソールが意図したとおりに機能しません。

AWS RoboMaker コンソールへの読み取り専用アクセスには、 AWSRoboMakerReadOnlyAccessポリシーを使用します。

IAM ユーザーがシミュレーションジョブを作成する場合は、そのユーザーにiam:PassRole許可を付与する必要があります。ロールの渡す方法の詳細については、AWS「サービス にロールを渡すためのユーザーアクセス許可の付与」を参照してください。

例えば、ユーザーに次のポリシーをアタッチできます。このポリシーは、シミュレーションジョブを作成するアクセス許可を提供します。

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

AWS CLI または のみに呼び出しを行うユーザーに対して、最小限のコンソールアクセス許可を付与する必要はありません AWS API。代わりに、実行しようとしているAPIオペレーションに一致するアクセス許可のみが必要です。

コンソール AWS RoboMaker の でワールドを表示するために必要なアクセス許可

次のポリシーをユーザーにアタッチすることで、 AWS RoboMaker コンソールで AWS RoboMaker ワールドを表示するために必要なアクセス許可を付与できます。

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

AWS RoboMaker シミュレーションツールを使用するために必要なアクセス権限

シミュレーションの作成に使用されるIAMユーザーまたはロールには、シミュレーションツールにアクセスするアクセス許可が自動的に付与されます。他のユーザーまたはロールの場合は、robomaker:CreateSimulationJob 権限を付与する必要があります。

認証の管理に必要なアクセス許可

パスワード、アクセスキー、多要素認証 (MFA) デバイスなどの独自の認証情報を管理するには、管理者が必要なアクセス許可を付与する必要があります。これらのアクセス許可が含まれているポリシーを表示するには、「認証情報の自己管理をユーザーに許可する」を参照してください。

AWS 管理者として、 でユーザー、グループ、ロール、ポリシーを作成および管理IAMするには、 へのフルアクセスが必要ですIAM。すべての へのフルアクセスを含む AdministratorAccess AWS マネージドポリシーを使用する必要があります AWS。このポリシーは、 AWS Billing and Cost Management コンソールへのアクセスを提供したり、ルートユーザーの認証情報を必要とするタスクを許可したりしません。詳細については、AWS 全般のリファレンスの「AWS アカウント ルートユーザー認証情報が必要なAWS タスク」を参照してください。

警告

管理者ユーザーのみが へのフルアクセスを持っている必要があります AWS。このポリシーをアタッチされたユーザーは、だれでも、認証とアクセスコントロールを完全に管理するアクセス許可と、 AWSのすべてのリソースを変更するアクセス許可を付与されます。このユーザーを作成する方法については、「IAM 管理者ユーザーを作成する」を参照してください。

アクセスコントロールに必要なアクセス許可

管理者がIAMユーザー認証情報をユーザーに提供した場合、アクセス可能なリソースを制御するポリシーをIAMユーザーにアタッチしました。でユーザーにアタッチされたポリシーを表示するには AWS Management Console、次のアクセス許可が必要です。

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

追加のアクセス許可が必要な場合は、管理者に依頼し、ポリシーを更新して必要なアクションへのアクセスを許可してもらいます。

シミュレーションジョブに必要なアクセス許可

シミュレーションジョブを作成するときは、以下のアクセス許可を持つIAMロールが必要です。

  • ロボットおよびシミュレーションアプリケーションバンドルが含まれるバケットの名前で amzn-s3-demo-source-bucket を置き換えます。

  • を置き換えamzn-s3-demo-destination-bucketて、バケットが出力ファイルを書き込むことをポイント AWS RoboMaker します。

  • account# をアカウント番号に置き換えます。

パブリックECRジョブには、、、および最終実装に必要なその他のアクセス許可などecr-public:GetAuthorizationTokensts:GetServiceBearerToken、個別のアクセス許可が必要です。詳細については、「Amazon ユーザーガイド」の「パブリックリポジトリポリシー」を参照してください。 ECR

Jobs with Private ECR images
{ "Version": "2012-10-17", "Statement": [ { "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::amzn-s3-demo-source-bucket" ], "Effect": "Allow" }, { "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-source-bucket/*" ], "Effect": "Allow" }, { "Action": "s3:Put*", "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-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:::amzn-s3-demo-source-bucket" ], "Effect": "Allow" }, { "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-source-bucket/*" ], "Effect": "Allow" }, { "Action": "s3:Put*", "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-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" } ] }

このポリシーは、以下の信頼ポリシーを使用してロールにアタッチする必要があります。

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

条件キーは、AWSサービス間のトランザクション中に、サービスを混乱した代理として使用することを防ぎます。条件キーの詳細については、SourceAccount「」およびSourceArn「」を参照してください。

ROS アプリケーションまたはROSコマンドラインからタグを使用するために必要なアクセス許可

シミュレーションジョブのタグは、ROSコマンドラインまたは実行中のROSアプリケーションからタグ付け、タグ解除、一覧表示できます。以下のアクセス許可を持つIAMロールが必要です。account# をアカウント番号に置き換えます。

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

このポリシーは、以下の信頼ポリシーを使用してロールにアタッチする必要があります。

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

条件キーは、AWSサービス間のトランザクション中に、サービスを混乱した代理として使用することを防ぎます。条件キーの詳細については、SourceAccount「」およびSourceArn「」を参照してください。

が と AWS RoboMaker どのように連携するかを理解する IAM

サービスは、いくつかの方法で IAMと連携できます。

  • アクション – ポリシー内のアクションの使用 AWS RoboMaker をサポートします。これにより、管理者は、 AWS RoboMakerでオペレーションを実行することをエンティティに許可するかどうかをコントロールできます。例えば、 GetPolicy AWS APIオペレーションを実行してエンティティにポリシーの表示を許可するには、管理者はiam:GetPolicyアクションを許可するポリシーをアタッチする必要があります。

  • リソースレベルのアクセス許可: AWS RoboMaker は、リソースレベルのアクセス許可をサポートしていません。リソースレベルのアクセス許可を使用すると、 ARNsを使用してポリシー内の個々のリソースを指定できます。 AWS RoboMaker はこの機能をサポートしていないため、ポリシービジュアルエディタ すべてのリソースを選択する必要があります。JSON ポリシードキュメントでは、 Resource要素*で を使用する必要があります。

  • タグベースの承認: AWS RoboMaker はタグベースの承認をサポートされていません。この機能により、ポリシーの条件でリソースタグを使用できます。

  • 一時的認証情報: AWS RoboMaker は一時的な認証情報をサポートします。この機能を使用すると、フェデレーションでサインインしたり、IAMロールを引き受けたり、クロスアカウントロールを引き受けたりできます。AssumeRole や などのオペレーションを呼び出す AWS STS APIことで、一時的なセキュリティ認証情報を取得しますGetFederationToken

  • サービスリンクロール: AWS RoboMaker はサービスロールをサポートします。この機能では、サービスリンクロールをユーザーに代わって引き受けることをサービスに許可します。このロールにより、サービスがお客様に代わって他のサービスのリソースにアクセスし、アクションを完了することが許可されます。サービスにリンクされたロールはIAMアカウントに表示され、サービスによって所有されます。IAM 管理者はサービスにリンクされたロールのアクセス許可を表示できますが、編集することはできません。

  • サービスロール: AWS RoboMaker はサービスロールをサポートします。この機能により、お客様に代わってサービスがサービスロールを引き受けることが許可されます。このロールにより、サービスがお客様に代わって他のサービスのリソースにアクセスし、アクションを完了することが許可されます。サービスロールはIAMアカウントに表示され、アカウントによって所有されます。つまり、IAM管理者はこのロールのアクセス許可を変更できます。ただし、これにより、サービスの機能が損なわれる場合があります。

認証とアクセスコントロールのトラブルシューティング

次の情報を使用して、 の使用時に発生する可能性のある一般的な問題を診断して修正しますIAM。

でアクションを実行する権限がありません AWS RoboMaker

アクションを実行する権限がない AWS Management Console ことを示すエラーが で表示された場合は、ユーザー名とパスワードを提供した管理者に連絡する必要があります。

次のエラー例は、 という my-user-name名前のIAMユーザーがコンソールを使用して CreateRobotApplication アクションを実行しようとしたときに、 のアクセス許可がない場合に発生します。

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

この例の場合は、aws-robomaker:CreateRobotApplication アクションを使用して my-example-robot-application リソースへのアクセスを許可するように、管理者にポリシーを更新してもらいます。

管理者であり、他のユーザーにアクセスを許可したい AWS RoboMaker

他のユーザーがアクセスできるようにするには、アクセスが必要なユーザーまたはアプリケーションのIAMエンティティ (ユーザーまたはロール) を作成 AWS RoboMaker する必要があります。ユーザーまたはアプリケーションは、そのエンティティの認証情報を使用して AWSにアクセスします。次に、 AWS RoboMakerの適切なアクセス許可を付与するポリシーを、そのエンティティにアタッチする必要があります。

すぐに開始するには、「の開始方法 IAM」を参照してください。