View a markdown version of this page

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, pengguna IAM tidak memiliki izin untuk WorkSpaces sumber daya dan operasi. Untuk mengizinkan pengguna IAM mengelola WorkSpaces sumber daya, Anda harus membuat kebijakan IAM yang secara eksplisit memberi mereka izin, dan melampirkan kebijakan tersebut ke pengguna atau grup IAM yang memerlukan izin tersebut.

catatan

Amazon WorkSpaces tidak mendukung penyediaan kredenSIAL IAM ke dalam WorkSpace (seperti dengan profil instance).

Untuk memberikan akses dan menambahkan izin bagi pengguna, grup, atau peran Anda:

Berikut ini adalah sumber daya tambahan untuk IAM:

Contoh kebijakan

Contoh berikut menunjukkan pernyataan kebijakan yang dapat Anda gunakan untuk mengontrol izin yang dimiliki pengguna IAM ke Amazon WorkSpaces.

Pernyataan kebijakan berikut memberikan izin kepada pengguna IAM untuk melakukan tugas WorkSpaces pribadi dan kumpulan.

JSON
{ "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", "sso-directory:SearchUsers", "sso:CreateApplication", "sso:DeleteApplication", "sso:DescribeApplication", "sso:DescribeInstance", "sso:GetApplicationGrant", "sso:ListInstances", "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 pengguna IAM untuk melakukan semua tugas Pri WorkSpaces badi.

Meskipun Amazon WorkSpaces sepenuhnya mendukung Resource elemen Action dan saat menggunakan API dan alat baris perintah, untuk menggunakan Amazon WorkSpaces dari Konsol Manajemen AWS, pengguna IAM harus memiliki izin untuk tindakan dan sumber daya berikut:

  • Tindakan: "ds:*"

  • Sumber Daya: "Resource": "*"

Kebijakan contoh berikut menunjukkan cara mengizinkan pengguna IAM menggunakan Amazon WorkSpaces dari Konsol Manajemen AWS.

JSON
{ "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", "secretsmanager:ListSecrets", "sso-directory:SearchUsers", "sso:CreateApplication", "sso:DeleteApplication", "sso:DescribeApplication", "sso:DescribeInstance", "sso:GetApplicationGrant", "sso:ListInstances", "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 pengguna IAM untuk melakukan semua tugas WorkSpaces Pools.

catatan

Contoh ini menggunakan aws partisi di iam:CreateServiceLinkedRole sumber daya ARN. Di Wil AWS GovCloud (US) ayah, gunakan aws-us-gov partisi sebagai gantinya (misalnya,arn:aws-us-gov:iam::*:role/aws-service-role/...). Untuk informasi selengkapnya, lihat Nama Sumber Daya Amazon (ARN) di Wil AWS GovCloud (US) ayah.

JSON
{ "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 pengguna IAM untuk melakukan semua WorkSpaces tugas, termasuk tugas Amazon EC2 yang diperlukan untuk membuat Bring Your Own License (BYOL). WorkSpaces

JSON
{ "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" ], "Resource": "*" }, { "Sid": "iamPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "workspaces.amazonaws.com" } } } ] }

Menentukan WorkSpaces sumber daya dalam kebijakan IAM

Untuk menentukan WorkSpaces sumber daya dalam Resource elemen pernyataan kebijakan, gunakan Nama Sumber Daya Amazon (ARN) dari sumber daya. Anda mengontrol akses ke WorkSpaces sumber daya dengan mengizinkan atau menolak izin untuk menggunakan tindakan API yang ditentukan dalam Action elemen pernyataan kebijakan IAM Anda. WorkSpaces mendefinisikan ARN untuk WorkSpaces, bundel, grup IP, dan direktori.

catatan

Contoh ARN di bagian ini menggunakan aws partisi, yang berlaku untuk Wil AWS ayah standar. Jika Anda bekerja di Wil AWS GovCloud (US) ayah, gunakan aws-us-gov partisi sebagai gantinya (misalnya,arn:aws-us-gov:workspaces:us-gov-west-1:account_id:workspace/workspace_identifier), dan tentukan us-gov-west-1 atau us-gov-east-1 untuk Wilayah. Untuk informasi selengkapnya, lihat Nama Sumber Daya Amazon (ARN) di AWS GovCloud (US) Wilayah di Panduan AWS GovCloud (US) Pengguna.

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 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 termasuk dalam akun tertentu di Wilayah tertentu.

Kum WorkSpace pulan 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 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 termasuk dalam akun tertentu di Wilayah tertentu.

WorkSpace Sertifikat ARN memiliki sintaks yang ditunjukkan dalam contoh berikut.

arn:aws:workspaces:region:account_id:workspacecertificate/workspacecertificateidentifier
region

Wilayah tempat WorkSpace berada (misalnya,us-east-1).

account_id

ID AWS akun, tanpa tanda hubung (misalnya,123456789012).

kerjasan_pengenal ruang kerja_sertifikasi

ID WorkSpace sertifikat (misalnya,ws-a1bcd2efg).

Berikut ini adalah format Resource elemen pernyataan kebijakan yang mengidentifikasi WorkSpace sertifikat tertentu.

"Resource": "arn:aws:workspaces:region:account_id:workspacecertificate/workspacecertificate_identifier"

Anda dapat menggunakan * wildcard untuk menentukan semua WorkSpaces yang termasuk dalam 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 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.

ARN Paket memiliki sintaksis 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 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.

ARN Grup IP memiliki sintaksis 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 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 sintaksis 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 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.

ARN alias hubungan memiliki sintaksis 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 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 tindakan API berikut:

  • AssociateIpGroups

  • CreateIpGroup

  • CreateTags

  • DeleteTags

  • DeleteWorkspaceImage

  • DescribeAccount

  • DescribeAccountModifications

  • DescribeIpGroups

  • DescribeTags

  • DescribeWorkspaceDirectories

  • DescribeWorkspaceImages

  • DescribeWorkspaces

  • DescribeWorkspacesConnectionStatus

  • DisassociateIpGroups

  • ImportWorkspaceImage

  • ListAvailableManagementCidrRanges

  • ModifyAccount

Untuk tindakan API yang tidak mendukung izin tingkat sumber daya, Anda harus menetapkan pernyataan sumber daya yang ditunjukkan dalam contoh berikut.

"Resource": "*"

Untuk tindakan API berikut, Anda tidak dapat menentukan ID akun di ARN sumber daya saat sumber daya tidak dimiliki oleh akun:

  • AssociateConnectionAlias

  • CopyWorkspaceImage

  • DisassociateConnectionAlias

Untuk tindakan API ini, Anda dapat menentukan ID akun di ARN sumber daya hanya ketika akun memiliki sumber daya untuk 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 peran ruang kerja_ DefaultRole

Sebelum Anda dapat mendaftarkan direktori menggunakan API, Anda harus memverifikasi bahwa peran bernama workspaces_DefaultRole ada. Peran ini dibuat oleh Pengaturan Cepat atau jika Anda meluncurkan WorkSpace menggunakan Konsol Manajemen AWS, dan itu memberikan WorkSpaces izin Amazon untuk mengakses AWS sumber daya tertentu atas nama Anda. Jika peran ini tidak ada, Anda dapat membuatnya menggunakan prosedur berikut.

Untuk membuat peran workspaces_ DefaultRole
  1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di https://console.aws.amazon.com/iam/.

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

  3. Pilih Buat peran.

  4. Di Pilih tipe entitas terpercaya, pilih Akun AWS lain.

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

  6. Untuk Opsi, jangan tentukan Autentikasi Multi-Faktor (MFA).

  7. Pilih Selanjutnya: Izin.

  8. Pada halaman Lampirkan kebijakan izin, pilih kebijakan ter AWS kelola AmazonWorkSpacesServiceAccess, AmazonWorkSpacesSelfServiceAccess, dan AmazonWorkSpacesPoolServiceAccess. Untuk informasi selengkapnya tentang kebijakan terkelola ini, lihatAWS kebijakan yang dikelola untuk WorkSpaces.

  9. Di bawah Tet apkan batas izin, sebaiknya Anda tidak menggunakan batas izin karena potensi konflik dengan kebijakan yang dilampirkan ke 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 Relasi kepercayaan.

  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 AmazonWorkSpacesPCAAccess layanan

Sebelum pengguna dapat masuk menggunakan otentikasi berbasis sertifikat, Anda harus memverifikasi bahwa peran bernama AmazonWorkSpacesPCAAccess ada. Peran ini dibuat saat Anda mengaktifkan otentikasi berbasis sertifikat pada Direktori menggunakan Konsol Manajemen AWS, dan 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 AmazonWorkSpacesPCAAccess layanan menggunakan AWS CLI
  1. Buat file JSON bernama AmazonWorkSpacesPCAAccess.json dengan teks berikut.

    JSON
    { "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 AWS CLI perintah berikut untuk membuat peran layanan dan melampirkan kebijakan ter AmazonWorkspacesPCAAccess kelola.

    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
    catatan

    Di Wil AWS GovCloud (US) ayah, gunakan aws-us-gov partisi dalam kebijakan terkelola ARN:arn:aws-us-gov:iam::aws:policy/AmazonWorkspacesPCAAccess. Untuk informasi selengkapnya, lihat Nama Sumber Daya Amazon (ARN) di Wil AWS GovCloud (US) ayah.