Identitas dan manajemen akses untuk WorkSpaces - Amazon WorkSpaces

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:

Berikut ini adalah sumber daya tambahan untukIAM:

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
  1. Masuk ke AWS Management Console dan buka IAM konsol di https://console.aws.amazon.com/iam/.

  2. Pada panel navigasi di sebelah kiri, pilih Peran.

  3. Pilih Buat peran.

  4. Di bawah Pilih jenis entitas tepercaya, pilih Lainnya AWS akun.

  5. Untuk ID Akun, masukkan ID akun Anda tanpa tanda hubung atau spasi.

  6. Untuk Opsi, jangan tentukan otentikasi multi-faktor ()MFA.

  7. Pilih Berikutnya: Izin.

  8. 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.

  9. 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.

  10. Pilih Selanjutnya: Tanda.

  11. Pada halaman Tambahkan tanda (opsional), tambahkan tanda jika diperlukan.

  12. Pilih Selanjutnya: Tinjau.

  13. Pada halaman Tinjau, untuk Nama peran, masukkan workspaces_DefaultRole.

  14. (Opsional) Untuk Deskripsi peran, masukkan deskripsi.

  15. Pilih Buat Peran.

  16. Pada halaman Ringkasan untuk DefaultRole peran workspaces_, pilih tab Trust relationship.

  17. Pilih tab Hubungan Kepercayaan, pilih Edit Hubungan Kepercayaan.

  18. Pada halaman Edit Hubungan kepercayaan, gantikan pernyataan kebijakan yang ada dengan pernyataan berikut.

    { "Statement": [ { "Effect": "Allow", "Principal": { "Service": "workspaces.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  19. 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
  1. 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" } ] }
  2. 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