View a markdown version of this page

Gestion des identités et des accès pour WorkSpaces - Amazon WorkSpaces

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Gestion des identités et des accès pour WorkSpaces

Par défaut, les utilisateurs IAM ne sont pas autorisés à accéder aux WorkSpaces ressources et aux opérations. Pour permettre aux utilisateurs IAM de gérer les WorkSpaces ressources, vous devez créer une politique IAM qui leur accorde explicitement des autorisations, et associer cette politique aux utilisateurs ou groupes IAM qui ont besoin de ces autorisations.

Note

Amazon WorkSpaces ne prend pas en charge le provisionnement d'informations d'identification IAM dans un WorkSpace (par exemple avec un profil d'instance).

Pour activer l’accès, ajoutez des autorisations à vos utilisateurs, groupes ou rôles :

Voici des ressources supplémentaires pour l'IAM :

Exemples de politiques

Les exemples suivants présentent des déclarations de politique que vous pouvez utiliser pour contrôler les autorisations dont disposent les utilisateurs IAM sur Amazon WorkSpaces.

La déclaration de politique suivante accorde à un utilisateur IAM l'autorisation d'effectuer des tâches WorkSpaces personnelles et des tâches de pool.

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" } } } ] }

La déclaration de politique suivante accorde à un utilisateur IAM l'autorisation d'effectuer toutes les tâches WorkSpaces personnelles.

Bien qu'Amazon WorkSpaces prenne entièrement en charge les Resource éléments Action et lors de l'utilisation de l'API et des outils de ligne de commande, pour utiliser Amazon WorkSpaces depuis le Console de gestion AWS, un utilisateur IAM doit disposer des autorisations nécessaires pour les actions et ressources suivantes :

  • Mesures : "ds:*"

  • Ressources : "Resource": "*"

L'exemple de politique suivant montre comment autoriser un utilisateur IAM à utiliser Amazon WorkSpaces depuis le Console de gestion 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" } } } ] }

La déclaration de politique suivante accorde à un utilisateur IAM l'autorisation d'effectuer toutes les tâches des WorkSpaces pools.

Note

Cet exemple utilise la aws partition de l'ARN de la iam:CreateServiceLinkedRole ressource. Dans les AWS GovCloud (US) régions, utilisez plutôt la aws-us-gov partition (par exemple,arn:aws-us-gov:iam::*:role/aws-service-role/...). Pour plus d'informations, consultez la section Amazon Resource Names (ARN) dans AWS GovCloud (US) les régions.

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" } } } ] }

La déclaration de politique suivante accorde à un utilisateur IAM l'autorisation d'effectuer toutes les WorkSpaces tâches, y compris les tâches Amazon EC2 nécessaires à la création de 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" } } } ] }

Spécifier WorkSpaces les ressources dans une politique IAM

Pour spécifier une WorkSpaces ressource dans l'Resourceélément de la déclaration de politique, utilisez l'Amazon Resource Name (ARN) de la ressource. Vous contrôlez l'accès à vos WorkSpaces ressources en autorisant ou en refusant les autorisations d'utilisation des actions d'API spécifiées dans l'Actionélément de votre déclaration de politique IAM. WorkSpaces définit les ARN pour les bundles WorkSpaces, les groupes IP et les répertoires.

Note

Les exemples d'ARN de cette section utilisent la aws partition, qui s'applique aux AWS régions standard. Si vous travaillez dans les AWS GovCloud (US) régions, utilisez plutôt la aws-us-gov partition (par exemple,arn:aws-us-gov:workspaces:us-gov-west-1:account_id:workspace/workspace_identifier) et spécifiez us-gov-west-1 ou us-gov-east-1 pour la région. Pour plus d'informations, consultez la section Amazon Resource Names (ARNs) in AWS GovCloud (US) Regions dans le Guide de l'AWS GovCloud (US) utilisateur.

La syntaxe d'un WorkSpace ARN est illustrée dans l'exemple suivant.

arn:aws:workspaces:region:account_id:workspace/workspace_identifier
region

La région dans laquelle WorkSpace se trouve le (par exemple,us-east-1).

account_id

L'identifiant du AWS compte, sans tiret (par exemple,123456789012).

identificateur_espace de travail

L'ID du WorkSpace (par exemple,ws-a1bcd2efg).

Voici le format de l'Resourceélément d'une déclaration de politique qui identifie un élément spécifique WorkSpace.

"Resource": "arn:aws:workspaces:region:account_id:workspace/workspace_identifier"

Vous pouvez utiliser le * caractère générique pour spécifier tout WorkSpaces ce qui appartient à un compte spécifique dans une région spécifique.

La syntaxe d'un ARN de WorkSpace pool est illustrée dans l'exemple suivant.

arn:aws:workspaces:region:account_id:workspacespool/workspacespool_identifier
region

La région dans laquelle WorkSpace se trouve le (par exemple,us-east-1).

account_id

L'identifiant du AWS compte, sans tiret (par exemple,123456789012).

workspacespool_identifier

L'ID du WorkSpace pool (par exemple,ws-a1bcd2efg).

Voici le format de l'Resourceélément d'une déclaration de politique qui identifie un élément spécifique WorkSpace.

"Resource": "arn:aws:workspaces:region:account_id:workspacespool/workspacespool_identifier"

Vous pouvez utiliser le * caractère générique pour spécifier tout WorkSpaces ce qui appartient à un compte spécifique dans une région spécifique.

La syntaxe WorkSpace d'un ARN de certificat est illustrée dans l'exemple suivant.

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

La région dans laquelle WorkSpace se trouve le (par exemple,us-east-1).

account_id

L'identifiant du AWS compte, sans tiret (par exemple,123456789012).

workspacecertificate_identifier

L'ID du WorkSpace certificat (par exemple,ws-a1bcd2efg).

Voici le format de l'Resourceélément d'une déclaration de politique qui identifie un WorkSpace certificat spécifique.

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

Vous pouvez utiliser le * caractère générique pour spécifier tout WorkSpaces ce qui appartient à un compte spécifique dans une région spécifique.

La syntaxe WorkSpace d'un ARN d'image est illustrée dans l'exemple suivant.

arn:aws:workspaces:region:account_id:workspaceimage/image_identifier
region

La région dans laquelle se trouve l' WorkSpace image (par exemple,us-east-1).

account_id

L'identifiant du AWS compte, sans tiret (par exemple,123456789012).

bundle_identifier

L'ID de l' WorkSpace image (par exemple,wsi-a1bcd2efg).

Voici le format de l'élément Resource d'une déclaration de politique qui identifie une image spécifique.

"Resource": "arn:aws:workspaces:region:account_id:workspaceimage/image_identifier"

Vous pouvez utiliser le caractère générique * pour spécifier toutes les images qui appartiennent à un compte spécifique dans une région donnée.

La syntaxe d'un ARN d'offre est celle de l'exemple suivant.

arn:aws:workspaces:region:account_id:workspacebundle/bundle_identifier
region

La région dans laquelle WorkSpace se trouve le (par exemple,us-east-1).

account_id

L'identifiant du AWS compte, sans tiret (par exemple,123456789012).

bundle_identifier

L'ID du WorkSpace bundle (par exemple,wsb-a1bcd2efg).

Voici le format de l'élément Resource d'une déclaration de stratégie qui identifie un bundle spécifique.

"Resource": "arn:aws:workspaces:region:account_id:workspacebundle/bundle_identifier"

Vous pouvez utiliser le caractère générique * pour spécifier tous les bundles qui appartiennent à un compte spécifique dans une région donnée.

La syntaxe d'un ARN de groupe IP est celle de l'exemple suivant.

arn:aws:workspaces:region:account_id:workspaceipgroup/ipgroup_identifier
region

La région dans laquelle WorkSpace se trouve le (par exemple,us-east-1).

account_id

L'identifiant du AWS compte, sans tiret (par exemple,123456789012).

ipgroup_identifier

ID du groupe d'IP (par exemple, wsipg-a1bcd2efg).

Voici le format de l'élément Resource d'une déclaration de stratégie qui identifie un groupe d'IP spécifique.

"Resource": "arn:aws:workspaces:region:account_id:workspaceipgroup/ipgroup_identifier"

Vous pouvez utiliser le caractère générique * pour spécifier tous les groupes d'IP qui appartiennent à un compte spécifique dans une région donnée.

La syntaxe d'un ARN d'annuaire est celle de l'exemple suivant.

arn:aws:workspaces:region:account_id:directory/directory_identifier
region

La région dans laquelle WorkSpace se trouve le (par exemple,us-east-1).

account_id

L'identifiant du AWS compte, sans tiret (par exemple,123456789012).

directory_identifier

ID de l'annuaire (par exemple, d-12345a67b8).

Voici le format de l'élément Resource d'une déclaration de stratégie qui identifie un annuaire spécifique.

"Resource": "arn:aws:workspaces:region:account_id:directory/directory_identifier"

Vous pouvez utiliser le caractère générique * pour spécifier tous les annuaires qui appartiennent à un compte spécifique dans une région donnée.

La syntaxe d'un ARN d'alias de connexion est celle de l'exemple suivant.

arn:aws:workspaces:region:account_id:connectionalias/connectionalias_identifier
region

Région dans laquelle se trouve l'alias de connexion (par exemple,us-east-1).

account_id

L'identifiant du AWS compte, sans tiret (par exemple,123456789012).

connectionalias_identifier

ID de l'alias de connexion (par exemple,wsca-12345a67b8).

Voici le format de l'élément Resource d'une déclaration de politique qui identifie un alias de connexion spécifique.

"Resource": "arn:aws:workspaces:region:account_id:connectionalias/connectionalias_identifier"

Vous pouvez utiliser le caractère générique * pour spécifier tous les alias de connexion qui appartiennent à un compte spécifique dans une région donnée.

Vous ne pouvez pas spécifier un ARN de ressource avec les actions d'API suivantes :

  • AssociateIpGroups

  • CreateIpGroup

  • CreateTags

  • DeleteTags

  • DeleteWorkspaceImage

  • DescribeAccount

  • DescribeAccountModifications

  • DescribeIpGroups

  • DescribeTags

  • DescribeWorkspaceDirectories

  • DescribeWorkspaceImages

  • DescribeWorkspaces

  • DescribeWorkspacesConnectionStatus

  • DisassociateIpGroups

  • ImportWorkspaceImage

  • ListAvailableManagementCidrRanges

  • ModifyAccount

Pour les actions d'API qui ne prennent pas en charge les autorisations au niveau des ressources, vous devez spécifier l'instruction de ressource indiquée dans l'exemple suivant.

"Resource": "*"

Pour les actions d'API suivantes, vous ne pouvez pas spécifier d'ID de compte dans l'ARN de ressources qui n'appartiennent pas au compte :

  • AssociateConnectionAlias

  • CopyWorkspaceImage

  • DisassociateConnectionAlias

Pour ces actions d'API, vous pouvez spécifier un ID de compte dans l'ARN uniquement lorsque ce compte possède les ressources sur lesquelles agir. Lorsque le compte ne possède pas les ressources, vous devez spécifier * pour l'ID du compte, comme l'illustre l'exemple suivant.

"arn:aws:workspaces:region:*:resource_type/resource_identifier"

Création des espaces de travail_ Rôle DefaultRole

Avant de pouvoir enregistrer un annuaire à l'aide de l'API, vous devez vérifier qu'il existe un rôle nommé workspaces_DefaultRole. Ce rôle est créé par la Configuration rapide ou si vous lancez un à WorkSpace l'aide de Console de gestion AWS, et il WorkSpaces autorise Amazon à accéder à des AWS ressources spécifiques en votre nom. Si ce rôle n'existe pas, vous pouvez le créer à l'aide de la procédure suivante.

Pour créer le rôle workspaces_ DefaultRole
  1. Connectez-vous au Console de gestion AWS et ouvrez la console IAM à https://console.aws.amazon.com/iam/ l'adresse.

  2. Dans le panneau de navigation de gauche, sélectionnez Roles (Rôles).

  3. Sélectionnez Create role (Créer un rôle).

  4. Sous Sélectionner un type d'entité de confiance, choisissez Autre compte AWS .

  5. Pour Account ID (ID de compte), saisissez votre ID de compte sans tirets ni espaces.

  6. Pour Options, ne spécifiez pas l'authentification multi-facteurs (MFA).

  7. Sélectionnez Next: Permissions (Étape suivante : autorisations).

  8. Sur la page Joindre des politiques d'autorisations, sélectionnez les politiques AWS gérées AmazonWorkSpacesServiceAccess AmazonWorkSpacesSelfServiceAccess, et AmazonWorkSpacesPoolServiceAccess. Pour plus d'informations sur ces politiques gérées, consultezAWS politiques gérées pour WorkSpaces.

  9. Sous Définir une limite d'autorisations, nous vous recommandons de ne pas utiliser de limite d'autorisations en raison du risque de conflits avec les stratégies attachées à ce rôle. De tels conflits pourraient bloquer certaines autorisations nécessaires pour le rôle.

  10. Choisissez Suivant : Balises.

  11. Dans la page Add tags (optional) (Ajouter des balises (facultatif)), ajoutez des balises si nécessaire.

  12. Choisissez Suivant : Vérification.

  13. Sur la page Vérification, pour Nom du rôle, saisissez workspaces_DefaultRole.

  14. (Facultatif) Pour Role description (Description du rôle), entrez une description.

  15. Choisissez Créer un rôle.

  16. Sur la page Résumé du DefaultRole rôle workspaces_, choisissez l'onglet Relations de confiance.

  17. Dans l'onglet Trust relationships (Relations d'approbation), choisissez Edit trust relationship (Modifier la relation d'approbation).

  18. Dans la page Edit Trust Relationship (Modifier la relation d'approbation) remplacez la déclaration de stratégie existante par la déclaration suivante.

    { "Statement": [ { "Effect": "Allow", "Principal": { "Service": "workspaces.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  19. Choisissez Mettre à jour la politique d'approbation.

Création du rôle AmazonWorkSpacesPCAAccess de service

Avant que les utilisateurs puissent se connecter via l'authentification basée sur des certificats, vous devez vérifier qu'il existe un rôle nommé AmazonWorkSpacesPCAAccess. Ce rôle est créé lorsque vous activez l'authentification basée sur des certificats dans un annuaire à l'aide du Console de gestion AWS, et il WorkSpaces autorise Amazon à accéder aux CA privée AWS ressources en votre nom. Si ce rôle n'existe pas parce que vous n'utilisez pas la console pour gérer l'authentification basée sur des certificats, vous pouvez le créer à l'aide de la procédure suivante.

Pour créer le rôle AmazonWorkSpacesPCAAccess de service à l'aide du AWS CLI
  1. Créez un fichier JSON nommé AmazonWorkSpacesPCAAccess.json avec le texte suivant.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "prod.euc.ecm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Ajustez le AmazonWorkSpacesPCAAccess.json chemin selon vos besoins et exécutez les AWS CLI commandes suivantes pour créer le rôle de service et y associer la politique AmazonWorkspacesPCAAccess gérée.

    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
    Note

    Dans les AWS GovCloud (US) régions, utilisez la aws-us-gov partition de l'ARN de la stratégie gérée :arn:aws-us-gov:iam::aws:policy/AmazonWorkspacesPCAAccess. Pour plus d'informations, consultez la section Amazon Resource Names (ARN) dans AWS GovCloud (US) les régions.