Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Identitas dan manajemen akses untuk WorkSpaces
Secara default, IAM pengguna tidak memiliki izin untuk WorkSpaces sumber daya dan operasi. Untuk memungkinkan IAM pengguna mengelola WorkSpaces sumber daya, Anda harus membuat IAM kebijakan yang secara eksplisit memberi mereka izin, dan melampirkan kebijakan tersebut ke IAM pengguna atau grup yang memerlukan izin tersebut.
catatan
Amazon WorkSpaces tidak mendukung penyediaan IAM kredensional ke dalam WorkSpace (seperti dengan profil instance).
Untuk memberikan akses, menambahkan izin ke pengguna, grup, atau peran Anda:
-
Pengguna dan grup di AWS IAM Identity Center:
Buat rangkaian izin. Ikuti petunjuk di Buat set izin di AWS IAM Identity Center Panduan Pengguna.
-
Pengguna yang dikelola IAM melalui penyedia identitas:
Buat peran untuk federasi identitas. Ikuti petunjuk dalam Membuat peran untuk penyedia identitas pihak ketiga (federasi) di Panduan IAM Pengguna.
-
IAMpengguna:
-
Buat peran yang dapat diambil pengguna Anda. Ikuti petunjuk dalam Membuat peran bagi IAM pengguna di Panduan IAM Pengguna.
-
(Tidak disarankan) Pasang kebijakan langsung ke pengguna atau tambahkan pengguna ke grup pengguna. Ikuti petunjuk di Menambahkan izin ke pengguna (konsol) di Panduan IAM Pengguna.
-
Berikut ini adalah sumber daya tambahan untukIAM:
-
Untuk informasi selengkapnya tentang IAM kebijakan, lihat Kebijakan dan Izin di Panduan IAM Pengguna.
-
Untuk informasi selengkapnyaIAM, lihat Identity and Access Management (IAM)
dan Panduan IAM Pengguna. -
Untuk informasi selengkapnya tentang kunci konteks sumber daya, tindakan, dan kondisi WorkSpaces khusus untuk digunakan dalam kebijakan IAM izin, lihat Tindakan, Sumber Daya, dan Kunci Kondisi untuk Amazon WorkSpaces di Panduan IAM Pengguna.
-
Untuk alat yang membantu Anda membuat IAM kebijakan, lihat AWS Generator Kebijakan
. Anda juga dapat menggunakan Simulator IAM Kebijakan untuk menguji apakah kebijakan akan mengizinkan atau menolak permintaan tertentu AWS.
Daftar Isi
Contoh kebijakan
Contoh berikut menunjukkan pernyataan kebijakan yang dapat Anda gunakan untuk mengontrol izin yang dimiliki IAM pengguna ke Amazon WorkSpaces.
Pernyataan kebijakan berikut memberikan izin kepada IAM pengguna untuk melakukan tugas WorkSpaces pribadi dan kumpulan.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ds:*", "workspaces:*", "application-autoscaling:DeleteScalingPolicy", "application-autoscaling:DeleteScheduledAction", "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:DescribeScalableTargets", "application-autoscaling:DescribeScalingActivities", "application-autoscaling:DescribeScalingPolicies", "application-autoscaling:DescribeScheduledActions", "application-autoscaling:PutScalingPolicy", "application-autoscaling:PutScheduledAction", "application-autoscaling:RegisterScalableTarget", "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "ec2:AssociateRouteTable", "ec2:AttachInternetGateway", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateInternetGateway", "ec2:CreateNetworkInterface", "ec2:CreateRoute", "ec2:CreateRouteTable", "ec2:CreateSecurityGroup", "ec2:CreateSubnet", "ec2:CreateTags", "ec2:CreateVpc", "ec2:DeleteNetworkInterface", "ec2:DeleteSecurityGroup", "ec2:DescribeAvailabilityZones", "ec2:DescribeInternetGateways", "ec2:DescribeNetworkInterfaces", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:RevokeSecurityGroupEgress", "ec2:RevokeSecurityGroupIngress", "iam:AttachRolePolicy", "iam:CreatePolicy", "iam:CreateRole", "iam:GetRole", "iam:ListRoles", "iam:PutRolePolicy", "kms:ListAliases", "kms:ListKeys", "secretsmanager:ListSecrets", "tag:GetResources", "workdocs:AddUserToGroup", "workdocs:DeregisterDirectory", "workdocs:RegisterDirectory", "sso-directory:SearchUsers", "sso:CreateApplication", "sso:DeleteApplication", "sso:DescribeApplication", "sso:DescribeInstance", "sso:GetApplicationGrant", "sso:ListInstances", "sso:PutApplicationAssignment", "sso:PutApplicationAssignmentConfiguration", "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationGrant" ], "Resource": "*" }, { "Sid": "iamPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "workspaces.amazonaws.com" } } } ] }
Pernyataan kebijakan berikut memberikan izin kepada IAM pengguna untuk melakukan semua tugas WorkSpaces Pribadi.
Meskipun Amazon WorkSpaces sepenuhnya mendukung Action
dan Resource
elemen saat menggunakan alat baris perintah API dan, untuk menggunakan Amazon WorkSpaces dari AWS Management Console, IAM pengguna harus memiliki izin untuk tindakan dan sumber daya berikut:
-
Tindakan: "
workspaces:*"
dan"ds:*"
-
Sumber Daya:
"Resource": "*"
Contoh kebijakan berikut menunjukkan cara mengizinkan IAM pengguna untuk menggunakan Amazon WorkSpaces dari AWS Management Console.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "workspaces:*", "ds:*", "iam:GetRole", "iam:CreateRole", "iam:PutRolePolicy", "iam:CreatePolicy", "iam:AttachRolePolicy", "iam:ListRoles", "kms:ListAliases", "kms:ListKeys", "ec2:CreateVpc", "ec2:CreateSubnet", "ec2:CreateNetworkInterface", "ec2:CreateInternetGateway", "ec2:CreateRouteTable", "ec2:CreateRoute", "ec2:CreateTags", "ec2:CreateSecurityGroup", "ec2:DescribeInternetGateways", "ec2:DescribeSecurityGroups", "ec2:DescribeRouteTables", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeNetworkInterfaces", "ec2:DescribeAvailabilityZones", "ec2:AttachInternetGateway", "ec2:AssociateRouteTable", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:DeleteSecurityGroup", "ec2:DeleteNetworkInterface", "ec2:RevokeSecurityGroupEgress", "ec2:RevokeSecurityGroupIngress", "workdocs:RegisterDirectory", "workdocs:DeregisterDirectory", "workdocs:AddUserToGroup", "secretsmanager:ListSecrets", "sso-directory:SearchUsers", "sso:CreateApplication", "sso:DeleteApplication", "sso:DescribeApplication", "sso:DescribeInstance", "sso:GetApplicationGrant", "sso:ListInstances", "sso:PutApplicationAssignment", "sso:PutApplicationAssignmentConfiguration", "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationGrant" ], "Resource": "*" }, { "Sid": "iamPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "workspaces.amazonaws.com" } } } ] }
Pernyataan kebijakan berikut memberikan izin kepada IAM pengguna untuk melakukan semua tugas WorkSpaces Pool.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "workspaces:*", "application-autoscaling:DeleteScalingPolicy", "application-autoscaling:DeleteScheduledAction", "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:DescribeScalableTargets", "application-autoscaling:DescribeScalingActivities", "application-autoscaling:DescribeScalingPolicies", "application-autoscaling:DescribeScheduledActions", "application-autoscaling:PutScalingPolicy", "application-autoscaling:PutScheduledAction", "application-autoscaling:RegisterScalableTarget", "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "ec2:CreateSecurityGroup", "ec2:CreateTags", "ec2:DescribeInternetGateways", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "iam:AttachRolePolicy", "iam:CreatePolicy", "iam:CreateRole", "iam:GetRole", "iam:ListRoles", "iam:PutRolePolicy", "secretsmanager:ListSecrets", "tag:GetResources" ], "Resource": "*" }, { "Sid": "iamPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "workspaces.amazonaws.com" } } } { "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "arn:aws:iam::*:role/aws-service-role/workspaces.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_WorkSpacesPool", "Condition": { "StringLike": { "iam:AWSServiceName": "workspaces.application-autoscaling.amazonaws.com" } } } ] }
Pernyataan kebijakan berikut memberikan izin kepada IAM pengguna untuk melakukan semua WorkSpaces tugas, termasuk EC2 tugas-tugas Amazon yang diperlukan untuk membuat Bring Your Own License (BYOL) WorkSpaces.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ds:*", "workspaces:*", "ec2:AssociateRouteTable", "ec2:AttachInternetGateway", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateInternetGateway", "ec2:CreateNetworkInterface", "ec2:CreateRoute", "ec2:CreateRouteTable", "ec2:CreateSecurityGroup", "ec2:CreateSubnet", "ec2:CreateTags", "ec2:CreateVpc", "ec2:DeleteNetworkInterface", "ec2:DeleteSecurityGroup", "ec2:DescribeAvailabilityZones", "ec2:DescribeImages", "ec2:DescribeInternetGateways", "ec2:DescribeNetworkInterfaces", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:ModifyImageAttribute", "ec2:RevokeSecurityGroupEgress", "ec2:RevokeSecurityGroupIngress", "iam:CreateRole", "iam:GetRole", "iam:PutRolePolicy", "kms:ListAliases", "kms:ListKeys", "workdocs:AddUserToGroup", "workdocs:DeregisterDirectory", "workdocs:RegisterDirectory" ], "Resource": "*" }, { "Sid": "iamPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "workspaces.amazonaws.com" } } } ] }
Tentukan WorkSpaces sumber daya dalam IAM kebijakan
Untuk menentukan WorkSpaces sumber daya dalam Resource
elemen pernyataan kebijakan, gunakan Amazon Resource Name (ARN) sumber daya. Anda mengontrol akses ke WorkSpaces sumber daya Anda dengan mengizinkan atau menolak izin untuk menggunakan API tindakan yang ditentukan dalam Action
elemen pernyataan IAM kebijakan Anda. WorkSpaces mendefinisikan ARNs untuk WorkSpaces, bundel, grup IP, dan direktori.
A WorkSpace ARN memiliki sintaks yang ditunjukkan dalam contoh berikut.
arn:aws:workspaces:region
:account_id
:workspace/workspace_identifier
- region
-
Wilayah tempat WorkSpace berada (misalnya,
us-east-1
). - account_id
-
ID dari AWS akun, tanpa tanda hubung (misalnya,
123456789012
). - workspace_identifier
-
ID dari WorkSpace (misalnya,
ws-a1bcd2efg
).
Berikut ini adalah format Resource
elemen pernyataan kebijakan yang mengidentifikasi spesifik WorkSpace.
"Resource": "arn:aws:workspaces:region
:account_id
:workspace/workspace_identifier
"
Anda dapat menggunakan *
wildcard untuk menentukan semua WorkSpaces yang dimiliki akun tertentu di Wilayah tertentu.
Sebuah WorkSpace pool ARN memiliki sintaks yang ditunjukkan dalam contoh berikut.
arn:aws:workspaces:region
:account_id
:workspacespool/workspacespool_identifier
- region
-
Wilayah tempat WorkSpace berada (misalnya,
us-east-1
). - account_id
-
ID dari AWS akun, tanpa tanda hubung (misalnya,
123456789012
). - workspacespool_identifier
-
ID WorkSpace kolam (misalnya,
ws-a1bcd2efg
).
Berikut ini adalah format Resource
elemen pernyataan kebijakan yang mengidentifikasi spesifik WorkSpace.
"Resource": "arn:aws:workspaces:region
:account_id
:workspacespool/workspacespool_identifier
"
Anda dapat menggunakan *
wildcard untuk menentukan semua WorkSpaces yang dimiliki akun tertentu di Wilayah tertentu.
Sebuah WorkSpace gambar ARN memiliki sintaks yang ditunjukkan dalam contoh berikut.
arn:aws:workspaces:region
:account_id
:workspaceimage/image_identifier
- region
-
Wilayah tempat WorkSpace gambar berada (misalnya,
us-east-1
). - account_id
-
ID dari AWS akun, tanpa tanda hubung (misalnya,
123456789012
). - bundle_identifier
-
ID WorkSpace gambar (misalnya,
wsi-a1bcd2efg
).
Berikut ini adalah format elemen Resource
pernyataan kebijakan yang mengidentifikasi citra tertentu.
"Resource": "arn:aws:workspaces:region
:account_id
:workspaceimage/image_identifier
"
Anda dapat menggunakan wildcard *
untuk menentukan semua citra milik akun tertentu dalam Wilayah tertentu.
Sebuah bundel ARN memiliki sintaks yang ditunjukkan dalam contoh berikut.
arn:aws:workspaces:region
:account_id
:workspacebundle/bundle_identifier
- region
-
Wilayah tempat WorkSpace berada (misalnya,
us-east-1
). - account_id
-
ID dari AWS akun, tanpa tanda hubung (misalnya,
123456789012
). - bundle_identifier
-
ID WorkSpace bundel (misalnya,
wsb-a1bcd2efg
).
Berikut ini adalah format elemen Resource
pernyataan kebijakan yang mengidentifikasi paket tertentu.
"Resource": "arn:aws:workspaces:region
:account_id
:workspacebundle/bundle_identifier
"
Anda dapat menggunakan wildcard *
untuk menentukan semua paket milik akun tertentu dalam Wilayah tertentu.
Grup IP ARN memiliki sintaks yang ditunjukkan dalam contoh berikut.
arn:aws:workspaces:region
:account_id
:workspaceipgroup/ipgroup_identifier
- region
-
Wilayah tempat WorkSpace berada (misalnya,
us-east-1
). - account_id
-
ID dari AWS akun, tanpa tanda hubung (misalnya,
123456789012
). - ipgroup_identifier
-
ID dari grup IP (misalnya,
wsipg-a1bcd2efg
).
Berikut ini adalah format elemen Resource
pernyataan kebijakan yang mengidentifikasi grup IP tertentu.
"Resource": "arn:aws:workspaces:region
:account_id
:workspaceipgroup/ipgroup_identifier
"
Anda dapat menggunakan wildcard *
untuk menentukan semua grup IP milik akun tertentu dalam Wilayah tertentu.
Sebuah direktori ARN memiliki sintaks yang ditunjukkan dalam contoh berikut.
arn:aws:workspaces:region
:account_id
:directory/directory_identifier
- region
-
Wilayah tempat WorkSpace berada (misalnya,
us-east-1
). - account_id
-
ID dari AWS akun, tanpa tanda hubung (misalnya,
123456789012
). - directory_identifier
-
ID direktori (misalnya,
d-12345a67b8
).
Berikut ini adalah format elemen Resource
pernyataan kebijakan yang mengidentifikasi direktori tertentu.
"Resource": "arn:aws:workspaces:region
:account_id
:directory/directory_identifier
"
Anda dapat menggunakan wildcard *
untuk menentukan semua direktori milik akun tertentu dalam Wilayah tertentu.
Alias koneksi ARN memiliki sintaks yang ditunjukkan dalam contoh berikut.
arn:aws:workspaces:region
:account_id
:connectionalias/connectionalias_identifier
- region
-
Wilayah tempat hubungan alias berada (misalnya,
us-east-1
). - account_id
-
ID dari AWS akun, tanpa tanda hubung (misalnya,
123456789012
). - connectionalias_identifier
-
ID dari alias hubungan (misalnya,
wsca-12345a67b8
).
Berikut ini adalah format elemen Resource
pernyataan kebijakan yang mengidentifikasi alias hubungan tertentu.
"Resource": "arn:aws:workspaces:region
:account_id
:connectionalias/connectionalias_identifier
"
Anda dapat menggunakan wildcard *
untuk menentukan semua alias hubungan milik akun tertentu dalam Wilayah tertentu.
Anda tidak dapat menentukan sumber daya ARN dengan API tindakan berikut:
-
AssociateIpGroups
-
CreateIpGroup
-
CreateTags
-
DeleteTags
-
DeleteWorkspaceImage
-
DescribeAccount
-
DescribeAccountModifications
-
DescribeIpGroups
-
DescribeTags
-
DescribeWorkspaceDirectories
-
DescribeWorkspaceImages
-
DescribeWorkspaces
-
DescribeWorkspacesConnectionStatus
-
DisassociateIpGroups
-
ImportWorkspaceImage
-
ListAvailableManagementCidrRanges
-
ModifyAccount
Untuk API tindakan yang tidak mendukung izin tingkat sumber daya, Anda harus menentukan pernyataan sumber daya yang ditampilkan dalam contoh berikut.
"Resource": "*"
Untuk API tindakan berikut, Anda tidak dapat menentukan ID akun di sumber daya ARN saat sumber daya tidak dimiliki oleh akun:
-
AssociateConnectionAlias
-
CopyWorkspaceImage
-
DisassociateConnectionAlias
Untuk API tindakan ini, Anda dapat menentukan ID akun di sumber daya ARN hanya jika akun tersebut memiliki sumber daya yang akan ditindaklanjuti. Bila akun tidak memiliki sumber daya, Anda harus menentukan *
untuk ID akun, seperti yang ditunjukkan dalam contoh berikut.
"arn:aws:workspaces:
region
:*:resource_type
/resource_identifier
"
Buat ruang kerja_ DefaultRole Peran
Sebelum Anda dapat mendaftarkan direktori menggunakanAPI, Anda harus memverifikasi bahwa peran bernama workspaces_DefaultRole
ada. Peran ini dibuat oleh Quick Setup atau jika Anda meluncurkan WorkSpace AWS Management Console, dan itu memberikan WorkSpaces izin Amazon untuk mengakses tertentu AWS sumber daya atas nama Anda. Jika peran ini tidak ada, Anda dapat membuatnya menggunakan prosedur berikut.
Untuk membuat peran ruang kerja_ DefaultRole
-
Masuk ke AWS Management Console dan buka IAM konsol di https://console.aws.amazon.com/iam/
. -
Pada panel navigasi di sebelah kiri, pilih Peran.
-
Pilih Buat peran.
-
Di bawah Pilih jenis entitas tepercaya, pilih Lainnya AWS akun.
-
Untuk ID Akun, masukkan ID akun Anda tanpa tanda hubung atau spasi.
-
Untuk Opsi, jangan tentukan otentikasi multi-faktor ()MFA.
-
Pilih Berikutnya: Izin.
-
Pada halaman Lampirkan kebijakan izin, pilih AWS kebijakan yang dikelola AmazonWorkSpacesServiceAccess, AmazonWorkSpacesSelfServiceAccess, dan AmazonWorkSpacesPoolServiceAccess. Untuk informasi selengkapnya tentang kebijakan terkelola ini, lihatAWS kebijakan terkelola untuk WorkSpaces.
-
Di bawah Setel batas izin, sebaiknya Anda tidak menggunakan batas izin karena potensi konflik dengan kebijakan yang dilampirkan pada peran ini. Konflik tersebut dapat memblokir izin tertentu yang diperlukan untuk peran tersebut.
-
Pilih Selanjutnya: Tanda.
-
Pada halaman Tambahkan tanda (opsional), tambahkan tanda jika diperlukan.
-
Pilih Selanjutnya: Tinjau.
-
Pada halaman Tinjau, untuk Nama peran, masukkan
workspaces_DefaultRole
. -
(Opsional) Untuk Deskripsi peran, masukkan deskripsi.
-
Pilih Buat Peran.
-
Pada halaman Ringkasan untuk DefaultRole peran workspaces_, pilih tab Trust relationship.
-
Pilih tab Hubungan Kepercayaan, pilih Edit Hubungan Kepercayaan.
-
Pada halaman Edit Hubungan kepercayaan, gantikan pernyataan kebijakan yang ada dengan pernyataan berikut.
{ "Statement": [ { "Effect": "Allow", "Principal": { "Service": "workspaces.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
Pilih Perbarui Kebijakan Kepercayaan.
Buat peran AmazonWorkSpaces PCAAccess layanan
Sebelum pengguna dapat masuk menggunakan otentikasi berbasis sertifikat, Anda harus memverifikasi bahwa peran bernama ada. AmazonWorkSpacesPCAAccess
Peran ini dibuat saat Anda mengaktifkan otentikasi berbasis sertifikat pada Direktori menggunakan AWS Management Console, dan itu memberikan WorkSpaces izin Amazon untuk mengakses AWS Private CA sumber daya atas nama Anda. Jika peran ini tidak ada karena Anda tidak menggunakan konsol untuk mengelola otentikasi berbasis sertifikat, Anda dapat membuatnya menggunakan prosedur berikut.
Untuk membuat peran AmazonWorkSpaces PCAAccess layanan menggunakan AWS CLI
-
Buat JSON file bernama
AmazonWorkSpacesPCAAccess.json
dengan teks berikut.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "prod.euc.ecm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
Sesuaikan
AmazonWorkSpacesPCAAccess.json
jalur sesuai kebutuhan dan jalankan yang berikut AWS CLI perintah untuk membuat peran layanan dan melampirkan kebijakan AmazonWorkspacesPCAAccessterkelola.aws iam create-role --path /service-role/ --role-name AmazonWorkSpacesPCAAccess --assume-role-policy-document file://AmazonWorkSpacesPCAAccess.json
aws iam attach-role-policy —role-name AmazonWorkSpacesPCAAccess —policy-arn arn:aws:iam::aws:policy/AmazonWorkspacesPCAAccess