Kendali autentikasi dan akses untuk AWS RoboMaker - AWS RoboMaker

AWS RoboMaker tidak lagi tersedia untuk pelanggan baru. Pelanggan yang sudah ada dari AWS RoboMaker dapat terus menggunakan layanan seperti biasa. AWS Batch sekarang menjadi layanan yang disukai untuk menjalankan simulasi kontainer. Pelajari selengkapnya.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Kendali autentikasi dan akses untuk AWS RoboMaker

AWS Identity and Access Management (IAM) adalah AWS layanan yang membantu administrator mengontrol akses ke AWS RoboMaker sumber daya. Administrator digunakan IAM untuk mengontrol siapa yang diautentikasi (masuk) dan diberi wewenang (memiliki izin) untuk digunakan AWS RoboMaker sumber daya. IAMadalah fitur dari AWS Akun yang ditawarkan tanpa biaya tambahan.

penting

Untuk memulai dengan cepat, tinjau informasi pengantar di halaman ini, lalu lihatMemulai dengan IAM, danApa itu kebijakan?.

Topik

Pengantar otorisasi dan kontrol akses

AWS RoboMaker terintegrasi dengan AWS Identity and Access Management (IAM), yang menawarkan berbagai fitur:

  • Buat pengguna dan grup di Akun AWS.

  • Bagikan dengan mudah AWS sumber daya antara pengguna di Akun AWS.

  • Menetapkan kredensial keamanan unik untuk setiap pengguna.

  • Mengontrol setiap akses pengguna untuk layanan dan sumber daya.

  • Dapatkan satu tagihan untuk semua pengguna di Akun AWS.

Untuk informasi selengkapnyaIAM, lihat berikut ini:

Izin diperlukan

Untuk menggunakan AWS RoboMaker atau untuk mengelola otorisasi dan kontrol akses untuk diri sendiri atau orang lain, Anda harus memiliki izin yang benar.

Izin yang Diperlukan untuk Menggunakan AWS RoboMaker Konsol

Untuk mengakses AWS RoboMaker konsol, Anda harus memiliki set izin minimum yang memungkinkan Anda untuk membuat daftar dan melihat detail tentang AWS RoboMaker sumber daya di Anda AWS akun. Jika Anda membuat kebijakan izin berbasis identitas yang lebih ketat daripada izin minimum yang diperlukan, konsol tidak akan berfungsi sebagaimana dimaksud untuk entitas dengan kebijakan tersebut.

Untuk akses hanya-baca ke AWS RoboMaker konsol, gunakan AWSRoboMakerReadOnlyAccesskebijakan.

Jika IAM pengguna ingin membuat pekerjaan simulasi, Anda harus memberikan iam:PassRole izin kepada pengguna tersebut. Untuk informasi selengkapnya tentang meneruskan peran, lihat Memberikan Izin Pengguna untuk Meneruskan Peran AWS ke Layanan.

Misalnya, Anda dapat melampirkan kebijakan berikut ke pengguna. Ini memberikan izin untuk membuat pekerjaan simulasi:

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

Anda tidak perlu mengizinkan izin konsol minimum untuk pengguna yang melakukan panggilan hanya ke AWS CLI atau AWS API. Sebagai gantinya, Anda hanya perlu izin yang cocok dengan API operasi yang Anda coba lakukan.

Izin Diperlukan untuk Melihat Dunia di AWS RoboMaker di Konsol

Anda dapat memberikan izin yang diperlukan untuk melihat AWS RoboMaker dunia di AWS RoboMaker konsol dengan melampirkan kebijakan berikut ke pengguna:

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

Izin yang diperlukan untuk menggunakan AWS RoboMaker alat simulasi

IAMPengguna atau peran yang digunakan untuk membuat simulasi secara otomatis akan memiliki izin untuk mengakses alat simulasi. Jika itu adalah pengguna atau peran yang berbeda, itu harus memiliki hak robomaker:CreateSimulationJob istimewa.

Izin Diperlukan untuk Manajemen Otentikasi

Untuk mengelola kredensi Anda sendiri, seperti kata sandi, kunci akses, dan perangkat otentikasi multi-faktor (MFA), administrator Anda harus memberi Anda izin yang diperlukan. Untuk melihat kebijakan yang menyertakan izin ini, lihatMemungkinkan pengguna untuk mengelola sendiri kredensialnya.

Sebagai AWS administrator, Anda memerlukan akses penuh IAM sehingga Anda dapat membuat dan mengelola pengguna, grup, peran, dan kebijakan diIAM. Anda harus menggunakan AdministratorAccess AWS kebijakan terkelola yang mencakup akses penuh ke semua AWS. Kebijakan ini tidak menyediakan akses ke AWS Billing and Cost Management konsol atau izinkan tugas yang memerlukan kredensil pengguna root. Untuk informasi selengkapnya, silakan lihat AWS Tugas yang Membutuhkan Akun AWS Kredensial pengguna root di Referensi Umum AWS.

Awas

Hanya pengguna administrator yang harus memiliki akses penuh AWS. Siapa pun yang memiliki kebijakan ini memiliki izin untuk sepenuhnya mengelola otentikasi dan kontrol akses, selain memodifikasi setiap sumber daya di AWS. Untuk mempelajari cara membuat pengguna ini, lihatBuat pengguna IAM Admin Anda.

Izin diperlukan untuk kontrol akses

Jika administrator Anda memberi Anda kredensi IAM pengguna, mereka melampirkan kebijakan kepada IAM pengguna Anda untuk mengontrol sumber daya apa yang dapat Anda akses. Untuk melihat kebijakan yang dilampirkan pada pengguna Anda di AWS Management Console, Anda harus memiliki izin berikut:

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

Jika Anda memerlukan izin tambahan, minta administrator memperbarui kebijakan agar Anda dapat mengakses tindakan yang diperlukan.

Izin diperlukan untuk pekerjaan simulasi

Saat Anda membuat pekerjaan simulasi, itu harus memiliki IAM peran dengan izin di bawah ini.

  • Ganti my-input-bucket dengan nama bucket yang berisi robot dan bundel aplikasi simulasi.

  • Ganti my-output-bucket untuk menunjuk ke ember itu AWS RoboMaker akan menulis file output.

  • Ganti account# dengan nomor akun Anda.

ECRPekerjaan publik memerlukan izin terpisah, seperti, ecr-public:GetAuthorizationTokensts:GetServiceBearerToken, dan izin lain yang diperlukan untuk implementasi akhir Anda. Untuk informasi selengkapnya, lihat Kebijakan repositori publik di ECRPanduan Pengguna 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" } ] }

Kebijakan harus dilampirkan pada peran dengan kebijakan kepercayaan berikut.

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

Kunci kondisi mencegah AWS layanan digunakan sebagai wakil yang bingung selama transaksi antar layanan. Lihat SourceAccountdan SourceArnuntuk informasi tambahan tentang tombol kondisi.

Izin Diperlukan untuk menggunakan Tag dari ROS Aplikasi atau ROS Baris Perintah

Anda dapat menandai, menghapus tag, dan daftar tag dalam pekerjaan simulasi Anda dari ROS baris perintah atau dalam ROS aplikasi Anda saat sedang berjalan. Anda harus memiliki IAM peran dengan izin di bawah ini. Ganti account# dengan nomor akun Anda.

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

Kebijakan harus dilampirkan pada peran dengan kebijakan kepercayaan berikut:

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

Kunci kondisi mencegah AWS layanan digunakan sebagai wakil yang bingung selama transaksi antar layanan. Lihat SourceAccountdan SourceArnuntuk informasi tambahan tentang tombol kondisi.

Memahami bagaimana AWS RoboMaker bekerja dengan IAM

Layanan dapat bekerja IAM dengan beberapa cara:

  • Tindakan — AWS RoboMaker mendukung penggunaan tindakan dalam kebijakan. Hal ini memungkinkan administrator untuk mengontrol apakah suatu entitas dapat menyelesaikan operasi di AWS RoboMaker. Misalnya, untuk mengizinkan entitas melihat kebijakan dengan melakukan GetPolicy AWS APIoperasi, administrator harus melampirkan kebijakan yang memungkinkan iam:GetPolicy tindakan.

  • Izin tingkat sumber daya - AWS RoboMaker tidak mendukung izin tingkat sumber daya. Izin tingkat sumber daya memungkinkan Anda menggunakan ARNsuntuk menentukan sumber daya individual dalam kebijakan. Karena AWS RoboMaker tidak mendukung fitur ini, maka Anda harus memilih Semua sumber daya di editor visual kebijakan. Dalam dokumen JSON kebijakan, Anda harus menggunakan * Resource elemen.

  • Otorisasi berdasarkan tag - AWS RoboMaker mendukung tag berbasis otorisasi. Fitur ini memungkinkan Anda untuk menggunakan tag sumber daya dalam kondisi kebijakan.

  • Kredensi sementara — AWS RoboMaker mendukung kredensi sementara. Fitur ini memungkinkan Anda untuk masuk dengan federasi, mengambil IAM peran, atau mengambil peran lintas akun. Anda mendapatkan kredensi keamanan sementara dengan menelepon AWS STS APIoperasi seperti AssumeRoleatau GetFederationToken.

  • Peran terkait layanan - AWS RoboMaker mendukung peran layanan. Fitur ini memungkinkan layanan untuk mengambil peran terkait layanan atas nama Anda. Peran ini mengizinkan layanan untuk mengakses sumber daya di layanan lain untuk menyelesaikan tindakan atas nama Anda. Peran terkait layanan muncul di IAM akun Anda, dan dimiliki oleh layanan. IAMAdministrator dapat melihat, tetapi tidak mengedit izin untuk peran terkait layanan.

  • Peran layanan - AWS RoboMaker mendukung peran layanan. Fitur ini memungkinkan layanan untuk menerima peran layanan atas nama Anda. Peran ini mengizinkan layanan untuk mengakses sumber daya di layanan lain untuk menyelesaikan tindakan atas nama Anda. Peran layanan muncul di IAM akun Anda, dan dimiliki oleh akun. Ini berarti bahwa IAM administrator dapat mengubah izin untuk peran ini. Namun, ini mungkin merusak fungsionalitas layanan.

Memecahkan masalah otentikasi dan kontrol akses

Gunakan informasi berikut untuk membantu Anda mendiagnosis dan memperbaiki masalah umum yang mungkin Anda temui saat bekerja dengannyaIAM.

Saya tidak berwenang untuk melakukan tindakan di AWS RoboMaker

Jika Anda menerima kesalahan di AWS Management Console yang memberi tahu Anda bahwa Anda tidak berwenang untuk melakukan tindakan, maka Anda harus menghubungi administrator yang memberi Anda nama pengguna dan kata sandi Anda.

Contoh kesalahan berikut terjadi ketika IAM pengguna bernama my-user-name mencoba menggunakan konsol untuk melakukan CreateRobotApplication tindakan, tetapi tidak memiliki izin.

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

Untuk contoh ini, minta administrator memperbarui kebijakan agar Anda dapat mengakses my-example-robot-application sumber daya menggunakan aws-robomaker:CreateRobotApplication tindakan.

Saya seorang administrator dan ingin mengizinkan orang lain mengakses AWS RoboMaker

Untuk memungkinkan orang lain mengakses AWS RoboMaker Anda harus membuat IAM entitas (pengguna atau peran) untuk orang atau aplikasi yang membutuhkan akses. Mereka akan menggunakan kredensi untuk entitas itu untuk mengakses AWS Anda kemudian harus melampirkan kebijakan yang memberi mereka izin yang tepat di . AWS RoboMaker.

Untuk segera memulai, lihatMemulai dengan IAM.