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 服務,可協助管理員安全地控制對 AWS RoboMaker 資源的存取。管理員使用 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操作的許可。

在 主控台中檢視 Worlds 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服務之間的交易期間用作混淆代理。如需條件索引鍵的詳細資訊SourceArn,請參閱 SourceAccount和 。

從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服務之間的交易期間用作混淆代理。如需條件索引鍵的詳細資訊SourceArn,請參閱 SourceAccount和 。

了解 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 ,告知您未獲授權執行動作,則必須聯絡提供您使用者名稱和密碼的管理員。

當名為 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

若要允許其他人存取 AWS RoboMaker ,您必須為需要存取的人員或應用程式建立IAM實體 (使用者或角色)。他們將使用該實體的憑證來存取 AWS。您接著必須將政策連接到實體,在 AWS RoboMaker中授予他們正確的許可。

若要立即開始,請參閱入門 IAM