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, IAM les utilisateurs ne sont pas autorisés à accéder aux WorkSpaces ressources et aux opérations. Pour permettre IAM aux utilisateurs de gérer les WorkSpaces ressources, vous devez créer une IAM politique qui leur accorde explicitement des autorisations et associer cette politique aux IAM utilisateurs ou aux groupes qui ont besoin de ces autorisations.
Note
Amazon WorkSpaces ne prend pas en charge la fourniture d'IAMinformations d'identification dans un WorkSpace (comme dans le cas d'un profil d'instance).
Pour activer l’accès, ajoutez des autorisations à vos utilisateurs, groupes ou rôles :
-
Utilisateurs et groupes dans AWS IAM Identity Center:
Créez un jeu d’autorisations. Suivez les instructions de la section Créer un ensemble d'autorisations dans le AWS IAM Identity Center Guide de l'utilisateur.
-
Utilisateurs gérés IAM via un fournisseur d'identité :
Créez un rôle pour la fédération d’identité. Suivez les instructions de la section Création d'un rôle pour un fournisseur d'identité tiers (fédération) dans le guide de IAM l'utilisateur.
-
IAMutilisateurs :
-
Créez un rôle que votre utilisateur peut assumer. Suivez les instructions de la section Création d'un rôle pour un IAM utilisateur dans le Guide de IAM l'utilisateur.
-
(Non recommandé) Attachez une politique directement à un utilisateur ou ajoutez un utilisateur à un groupe d’utilisateurs. Suivez les instructions de la section Ajouter des autorisations à un utilisateur (console) dans le guide de IAM l'utilisateur.
-
Vous trouverez ci-dessous des ressources supplémentaires pour IAM :
-
Pour plus d'informations sur IAM les politiques, consultez la section Politiques et autorisations dans le guide de IAM l'utilisateur.
-
Pour plus d'informationsIAM, consultez Identity and Access Management (IAM)
et le Guide de IAM l'utilisateur. -
Pour plus d'informations sur les ressources, les actions et les clés contextuelles de condition WorkSpaces spécifiques à utiliser dans les politiques d'IAMautorisation, consultez la section Actions, ressources et clés de condition pour Amazon WorkSpaces dans le guide de l'IAMutilisateur.
-
Pour un outil qui vous aide à créer des IAM politiques, consultez le AWS Générateur de politiques
. Vous pouvez également utiliser le simulateur de IAM politiques pour vérifier si une politique autoriserait ou refuserait une demande spécifique à AWS.
Table des matières
Exemples de politiques
Les exemples suivants présentent des déclarations de politique que vous pouvez utiliser pour contrôler les autorisations accordées IAM aux utilisateurs sur Amazon WorkSpaces.
La déclaration de politique suivante accorde à un IAM utilisateur l'autorisation d'effectuer des tâches WorkSpaces personnelles et des tâches de pool.
{ "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" } } } ] }
La déclaration de politique suivante accorde à un IAM utilisateur l'autorisation d'effectuer toutes les tâches WorkSpaces personnelles.
Bien qu'Amazon WorkSpaces prenne totalement en charge les Resource
éléments Action
et lors de l'utilisation des outils de ligne de commande API et, pour utiliser Amazon à WorkSpaces partir du AWS Management Console, un IAM utilisateur doit disposer d'autorisations pour les actions et ressources suivantes :
-
Action :
workspaces:*"
et"ds:*"
-
Ressources :
"Resource": "*"
L'exemple de politique suivant montre comment autoriser un IAM utilisateur à utiliser Amazon à WorkSpaces partir du 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" } } } ] }
La déclaration de politique suivante accorde à un IAM utilisateur l'autorisation d'effectuer toutes les tâches du 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" } } } ] }
La déclaration de politique suivante accorde à un IAM utilisateur l'autorisation d'effectuer toutes les WorkSpaces tâches, y compris les EC2 tâches Amazon nécessaires à la création de 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" } } } ] }
Spécifier WorkSpaces les ressources dans une IAM politique
Pour spécifier une WorkSpaces ressource dans l'Resource
élément de la déclaration de politique, utilisez le nom de ressource Amazon (ARN) de la ressource. Vous contrôlez l'accès à vos WorkSpaces ressources en autorisant ou en refusant les autorisations d'utiliser les API actions spécifiées dans l'Action
élément de votre déclaration de IAM politique. WorkSpaces définit ARNs des ensembles WorkSpaces, des groupes d'adresses IP et des annuaires.
La syntaxe de WorkSpace ARN A est celle illustrée dans l'exemple suivant.
arn:aws:workspaces:region
:account_id
:workspace/workspace_identifier
- region
-
La région dans laquelle WorkSpace se trouve (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 WorkSpace pool ARN est celle illustrée dans l'exemple suivant.
arn:aws:workspaces:region
:account_id
:workspacespool/workspacespool_identifier
- region
-
La région dans laquelle WorkSpace se trouve (par exemple,
us-east-1
). - account_id
-
L'identifiant du AWS compte, sans tiret (par exemple,
123456789012
). - espace de travail pool_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'ARNune image est celle 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 bundle ARN est celle illustrée dans l'exemple suivant.
arn:aws:workspaces:region
:account_id
:workspacebundle/bundle_identifier
- region
-
La région dans laquelle WorkSpace se trouve (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 groupe IP ARN est celle illustrée dans l'exemple suivant.
arn:aws:workspaces:region
:account_id
:workspaceipgroup/ipgroup_identifier
- region
-
La région dans laquelle WorkSpace se trouve (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 répertoire ARN est celle illustrée dans l'exemple suivant.
arn:aws:workspaces:region
:account_id
:directory/directory_identifier
- region
-
La région dans laquelle WorkSpace se trouve (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 alias de connexion ARN est celle illustrée dans 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 une ressource ARN avec les API actions suivantes :
-
AssociateIpGroups
-
CreateIpGroup
-
CreateTags
-
DeleteTags
-
DeleteWorkspaceImage
-
DescribeAccount
-
DescribeAccountModifications
-
DescribeIpGroups
-
DescribeTags
-
DescribeWorkspaceDirectories
-
DescribeWorkspaceImages
-
DescribeWorkspaces
-
DescribeWorkspacesConnectionStatus
-
DisassociateIpGroups
-
ImportWorkspaceImage
-
ListAvailableManagementCidrRanges
-
ModifyAccount
Pour les API actions qui ne prennent pas en charge les autorisations au niveau des ressources, vous devez spécifier l'instruction de ressource illustrée dans l'exemple suivant.
"Resource": "*"
Pour les API actions suivantes, vous ne pouvez pas spécifier d'identifiant de compte dans la ressource ARN lorsque celle-ci n'appartient pas au compte :
-
AssociateConnectionAlias
-
CopyWorkspaceImage
-
DisassociateConnectionAlias
Pour ces API actions, vous pouvez spécifier un ID de compte dans la ressource 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 du rôle workspaces_ DefaultRole
Avant de pouvoir enregistrer un répertoire à l'aide duAPI, vous devez vérifier qu'un rôle nommé workspaces_DefaultRole
existe. Ce rôle est créé par le programme d'installation rapide ou si vous WorkSpace lancez un AWS Management Console, et il WorkSpaces autorise Amazon à accéder à des données spécifiques AWS ressources 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
-
Connectez-vous au AWS Management Console et ouvrez la IAM console à l'adresse https://console.aws.amazon.com/iam/
. -
Dans le panneau de navigation de gauche, sélectionnez Roles (Rôles).
-
Sélectionnez Create role (Créer un rôle).
-
Sous Sélectionner le type d'entité de confiance, choisissez Autre AWS compte.
-
Pour Account ID (ID de compte), saisissez votre ID de compte sans tirets ni espaces.
-
Pour les options, ne spécifiez pas l'authentification multifactorielle (MFA).
-
Sélectionnez Next: Permissions (Étape suivante : autorisations).
-
Sur la page Joindre les politiques d'autorisation, sélectionnez AWS politiques gérées AmazonWorkSpacesServiceAccessAmazonWorkSpacesSelfServiceAccess, et AmazonWorkSpacesPoolServiceAccess. Pour plus d'informations sur ces politiques gérées, consultezAWS politiques gérées pour WorkSpaces.
-
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.
-
Choisissez Suivant : Balises.
-
Dans la page Add tags (optional) (Ajouter des balises (facultatif)), ajoutez des balises si nécessaire.
-
Choisissez Suivant : Vérification.
-
Sur la page Vérification, pour Nom du rôle, saisissez
workspaces_DefaultRole
. -
(Facultatif) Pour Role description (Description du rôle), entrez une description.
-
Choisissez Create Role (Créer le rôle).
-
Sur la page Résumé du DefaultRole rôle workspaces_, choisissez l'onglet Relations de confiance.
-
Dans l'onglet Trust relationships (Relations d'approbation), choisissez Edit trust relationship (Modifier la relation d'approbation).
-
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" } ] }
-
Choisissez Mettre à jour la politique d'approbation.
Création du rôle AmazonWorkSpaces PCAAccess 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 AWS Management Console, et il WorkSpaces autorise Amazon à accéder AWS Private CA 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 de AmazonWorkSpaces PCAAccess service à l'aide du AWS CLI
-
Créez un JSON fichier nommé
AmazonWorkSpacesPCAAccess.json
avec le texte suivant.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "prod.euc.ecm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
Ajustez le
AmazonWorkSpacesPCAAccess.json
chemin selon vos besoins et exécutez ce qui suit AWS CLI commandes pour créer le rôle de service et associer la politique AmazonWorkspacesPCAAccessgé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