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

AWS RoboMaker は、新規顧客には利用できなくなりました。の既存のお客様 AWS RoboMaker は、通常どおりサービスを引き続き使用できます。 AWS Batch は、コンテナ化されたシミュレーションを実行するのに推奨されるサービスになりました。詳細はこちら

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

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

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

重要

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

トピック

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

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

  • でユーザーとグループを作成する AWS アカウント.

  • を簡単に共有する AWS 内のユーザー間の リソース AWS アカウント.

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

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

  • 内のすべてのユーザーに対して 1 つの請求書を取得する AWS アカウント.

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

必要なアクセス許可

アプリケーション AWS RoboMaker 自分や他のユーザーの認可とアクセスコントロールを管理するには、適切なアクセス許可が必要です。

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

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

への読み取り専用アクセスの場合 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ロールが必要です。

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

  • をバケット my-output-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:::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" } ] }

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

{ "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サービス間のトランザクション中に サービスが混乱した代理として使用されるのを防ぎます。条件キーの詳細については、SourceArnSourceAccount「」および「」を参照してください。

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サービス間のトランザクション中に サービスが混乱した代理として使用されるのを防ぎます。条件キーの詳細については、SourceArnSourceAccount「」および「」を参照してください。

方法を理解する 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ロールを引き受けたり、クロスアカウントロールを引き受けたりできます。一時的なセキュリティ認証情報を取得するには、 を呼び出します。 AWS STS API AssumeRoleや などの オペレーションGetFederationToken

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

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

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

次の情報は、 の使用時に発生する可能性がある一般的な問題の診断と修正に役立ちますIAM。

でアクションを実行する権限がない AWS RoboMaker

でエラーが発生した場合 AWS Management Console は、アクションを実行する権限がないことを知らせるものです。その後、ユーザー名とパスワードを提供した管理者に連絡する必要があります。

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

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

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

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