Gestión de identidades y accesos para WorkSpaces - Amazon WorkSpaces

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Gestión de identidades y accesos para WorkSpaces

De forma predeterminada, los usuarios de IAM no tienen permisos para los recursos y operaciones de WorkSpaces. Para permitir a los usuarios de IAM administrar los recursos de WorkSpaces, debe crear una política de IAM que les conceda explícitamente permisos, y asociar la política a los usuarios o grupos de IAM que requieran esos permisos.

Para proporcionar acceso, agregue permisos a sus usuarios, grupos o roles:

Para obtener más información sobre las políticas de IAM, consulte Políticas y permisos en la Guía del usuario de IAM.

WorkSpaces también crea un rol de IAM, workspaces_DefaultRole, que permite al servicio WorkSpaces acceder a los recursos necesarios.

Para obtener más información sobre IAM, consulte Administración de identidades y acceso (IAM) y la Guía del usuario de IAM. Encontrará los recursos, acciones y claves de contexto de condición específicos de WorkSpaces que se utilizan en las políticas de permisos de IAM en Acciones, recursos y claves de condición para Amazon WorkSpaces en la Guía del usuario de IAM.

Para obtener una herramienta que le ayude a crear políticas de IAM, consulte Generador de políticas deAWS. También puede utilizar el simulador de política de IAM para probar si una política permitiría o denegaría una solicitud específica a AWS.

nota

Amazon WorkSpaces no admite el aprovisionamiento de credenciales de IAM en un WorkSpace ( por ejemplo, con un perfil de instancia).

Ejemplos de políticas

Los siguientes ejemplos muestran instrucciones de política que puede utilizar para controlar los permisos que tienen los usuarios de IAM para Amazon WorkSpaces.

ejemplo 1: Realizar todas las tareas de WorkSpaces

La siguiente instrucción de política concede a un usuario de IAM permiso para realizar todas las tareas de WorkSpaces, incluida la creación y gestión de directorios. También concede permiso para ejecutar el procedimiento de configuración rápida.

Aunque Amazon WorkSpaces es totalmente compatible con los elementos Action y Resource al utilizar la API y las herramientas de línea de comandos, para utilizar Amazon WorkSpaces desde la consola de administración de AWS Management Console, un usuario de IAM debe tener permisos para las siguientes acciones y recursos:

  • Acciones: workspaces:*" y "ds:*"

  • Recursos: "Resource": "*"

El siguiente ejemplo de política muestra cómo permitir que un usuario de IAM utilice Amazon WorkSpaces desde 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" ], "Resource": "*" }, { "Sid": "iamPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "workspaces.amazonaws.com" } } } ] }
ejemplo 2: Realizar tareas específicas del espacio de trabajo

Las siguientes instrucción de políticas conceden a un usuario de IAM permiso para realizar tareas específicas de WorkSpace, como lanzar y eliminar WorkSpaces. En la instrucción de política, la acción ds:* concede permisos amplios: un control absoluto sobre todos los objetos de Directory Services de la cuenta.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "workspaces:*", "ds:*", "iam:PutRolePolicy" ], "Resource": "*" } ] }

Para conceder también al usuario la capacidad de habilitar Amazon WorkDocs para usuarios dentro de WorkSpaces, añada la operación workdocs que se muestra en el siguiente ejemplo.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "workspaces:*", "ds:*", "workdocs:AddUserToGroup" ], "Resource": "*" } ] }

Para conceder también al usuario la capacidad de utilizar el Asistente de lanzamiento de WorkSpaces, añada las operaciones kms que se muestran en el siguiente ejemplo.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "workspaces:*", "ds:*", "workdocs:AddUserToGroup", "kms:ListAliases", "kms:ListKeys" ], "Resource": "*" } ] }
ejemplo 3: Realice todas las tareas de WorkSpaces para BYOL WorkSpaces

La siguiente declaración de política concede a un usuario de IAM permiso para realizar todas las tareas de WorkSpaces, incluidas las tareas de Amazon EC2 necesarias para crear WorkSpaces de traiga su propia licencia (BYOL).

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "workspaces:*", "ds:*", "iam:GetRole", "iam:CreateRole", "iam:PutRolePolicy", "kms:ListAliases", "kms:ListKeys", "ec2:CreateVpc", "ec2:CreateSubnet", "ec2:CreateNetworkInterface", "ec2:CreateInternetGateway", "ec2:CreateRouteTable", "ec2:CreateRoute", "ec2:CreateTags", "ec2:CreateSecurityGroup", "ec2:DescribeImages", "ec2:ModifyImageAttribute", "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" ], "Resource": "*" }, { "Sid": "iamPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "workspaces.amazonaws.com" } } } ] }

Especificar los recursos de WorkSpaces en una política de IAM

Para especificar un recurso de en el elemento Resource de la instrucción de la política, utilice el nombre de recurso de Amazon (ARN). Puede controlar el acceso a sus recursos WorkSpaces permitiendo o denegando permisos para utilizar las acciones API que se especifican en el elemento Action de su instrucción de política IAM. WorkSpaces define los ARN para WorkSpaces, paquetes, grupos de IP y directorios.

ARN de espacio de trabajo

Los ARN de WorkSpace tienen la sintaxis que se muestra en el ejemplo siguiente.

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

La región en la que se encuentra el WorkSpace (por ejemplo, us-east-1).

id_cuenta

El ID de la cuenta de AWS, sin guiones (por ejemplo, 123456789012).

identificador_espacio_trabajo

El ID del WorkSpace (por ejemplo, ws-a1bcd2efg).

Este es el formato del elemento Resource de una instrucción de política que identifica un WorkSpace específico:

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

Puede utilizar el carácter comodín * para especificar todos los WorkSpaces que pertenecen a una cuenta específica en una región específica.

ARN de imagen

Un ARN de imagen WorkSpace tiene la sintaxis que se muestra en el siguiente ejemplo.

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

La región en la que se encuentra la imagen del WorkSpace (por ejemplo, us-east-1).

id_cuenta

El ID de la cuenta de AWS, sin guiones (por ejemplo, 123456789012).

identificador_paquete

El ID de la imagen WorkSpace (por ejemplo, wsi-a1bcd2efg).

Este es el formato del elemento Resource de una instrucción de política que identifica una imagen específica.

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

Puede utilizar el carácter comodín * para especificar todas las imágenes que pertenecen a una cuenta específica en una región específica.

ARN de paquete

Los ARN de los paquetes tienen la sintaxis que se muestra en el siguiente ejemplo.

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

La región en la que se encuentra el WorkSpace (por ejemplo, us-east-1).

id_cuenta

El ID de la cuenta de AWS, sin guiones (por ejemplo, 123456789012).

identificador_paquete

El ID del paquete de WorkSpace (por ejemplo, wsb-a1bcd2efg).

Este es el formato del elemento Resource de una instrucción de política que identifica un paquete específico.

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

Puede utilizar el comodín * para especificar todos los paquetes que pertenecen a una cuenta específica en una región específica.

ARN de grupo de IP

Los ARN de los grupos de IP tienen la sintaxis que se muestra en el ejemplo siguiente.

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

La región en la que se encuentra el WorkSpace (por ejemplo, us-east-1).

id_cuenta

El ID de la cuenta de AWS, sin guiones (por ejemplo, 123456789012).

grupoip_identificador

ID del grupo de IP (por ejemplo, wsipg-a1bcd2efg).

Este es el formato del elemento Resource de una instrucción de política que identifica un grupo de IP específico.

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

Puede utilizar el carácter comodín * para especificar todos los grupos de IP que pertenecen a una cuenta específica en una región específica.

ARN de directorio

Los ARN de los directorios tienen la sintaxis que se muestra en el ejemplo siguiente.

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

La región en la que se encuentra el WorkSpace (por ejemplo, us-east-1).

id_cuenta

El ID de la cuenta de AWS, sin guiones (por ejemplo, 123456789012).

directorio_identificador

ID del directorio (por ejemplo, d-12345a67b8).

Este es el formato del elemento Resource de una instrucción de política que identifica un directorio específico.

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

Puede utilizar el carácter comodín para especificar todos los directorios que pertenecen a una cuenta específica en una región específica.

Alias de conexión ARN

Un alias de conexión ARN tiene la sintaxis que se muestra en el siguiente ejemplo.

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

La región en la que se encuentra el alias de conexión (por ejemplo,us-east-1).

id_cuenta

El ID de la cuenta de AWS, sin guiones (por ejemplo, 123456789012).

connectionalias_identifier

El ID del alias de conexión (por ejemplo, wsca-12345a67b8).

Este es el formato del elemento Resource de una instrucción de política que identifica un alias de conexión específico.

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

Puede utilizar el carácter comodín * para especificar todos los alias de conexión que pertenecen a una cuenta específica en una región específica.

Acciones de API que no admiten los permisos a nivel de recursos

No puede especificar el ARN de un recurso con las siguientes acciones de API:

  • AssociateIpGroups

  • CreateIpGroup

  • CreateTags

  • DeleteTags

  • DeleteWorkspaceImage

  • DescribeAccount

  • DescribeAccountModifications

  • DescribeIpGroups

  • DescribeTags

  • DescribeWorkspaceDirectories

  • DescribeWorkspaceImages

  • DescribeWorkspaces

  • DescribeWorkspacesConnectionStatus

  • DisassociateIpGroups

  • ImportWorkspaceImage

  • ListAvailableManagementCidrRanges

  • ModifyAccount

En el caso de las acciones de la API que no admiten los permisos a nivel de recursos, debe especificar la instrucción de recursos que se muestra en el ejemplo siguiente.

"Resource": "*"

Acciones de la API que no admiten restricciones en el nivel de cuenta sobre recursos compartidos

Para las siguientes acciones de API, no puede especificar un ID de cuenta en el ARN del recurso cuando el recurso no es propiedad de la cuenta:

  • AssociateConnectionAlias

  • CopyWorkspaceImage

  • DisassociateConnectionAlias

Para estas acciones de la API, puedes especificar un ID de cuenta en el ARN del recurso solo cuando esa cuenta sea propietaria de los recursos sobre los que se va a actuar. Cuando la cuenta no es propietaria de los recursos, debe especificar * para el ID de cuenta, tal y como se muestra en el siguiente ejemplo.

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

Crear el rol workspaces_DefaultRole

Antes de poder registrar un directorio mediante la API, debe comprobar que existe un rol denominado workspaces_DefaultRole. Este rol se crea mediante la configuración rápida o si lanza un WorkSpace utilizando la AWS Management Console, y concede a Amazon WorkSpaces permiso para acceder a recursos específicos de AWS en su nombre. Si este rol no existe, puede crearlo mediante el siguiente procedimiento.

Para crear el rol workspaces_DefaultRole
  1. Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación de la izquierda, seleccione Roles.

  3. Elija Create role (Crear rol).

  4. En Seleccione el tipo de entidad de confianza, elija Otra cuenta de AWS.

  5. En Account ID (ID de cuenta), escriba el ID de la cuenta sin guiones ni espacios.

  6. En Options (Opciones), no especifique multi-factor authentication (MFA).

  7. Elija Siguiente: Permisos.

  8. En la página Asociar políticas de permisos, seleccione las políticas administradas por AWS AmazonWorkSpacesServiceAccess y AmazonWorkSpacesSelfServiceAccess.

  9. En Establecer límite de permisos, se recomienda que no utilice un límite de permisos debido a la posibilidad de conflictos con las políticas asociadas a este rol. Estos conflictos podrían bloquear ciertos permisos necesarios para el rol.

  10. Elija Next: Tags (Siguiente: etiquetas).

  11. En la página Add tags (optional) [Agregar etiquetas (opcional)], añada las etiquetas que correspondan.

  12. Elija Next: Review (Siguiente: revisar).

  13. En la página Revisión, en Nombre del rol, ingrese workspaces_DefaultRole.

  14. (Opcional) En Role description (Descripción del rol), escriba una descripción.

  15. Elija Create Role (Crear rol).

  16. En la página Summary (Resumen) del rol workspaces_DefaultRole, seleccione la pestaña Trust relationships (Relaciones de confianza).

  17. En la pestaña Trust relationships (Relaciones de confianza), elija Edit trust relationship (Editar relación de confianza).

  18. En la página Edit Trust Relationship (Editar relación de confianza), sustituya la instrucción de política existente por la siguiente instrucción.

    { "Statement": [ { "Effect": "Allow", "Principal": { "Service": "workspaces.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  19. Elija Update Trust Policy (Actualizar política de confianza).

Crear el rol de servicio AmazonWorkSpacesPCAAccess

Antes de que los usuarios puedan iniciar sesión mediante la autenticación basada en certificados, debe comprobar que existe un rol denominado AmazonWorkSpacesPCAAccess. Este rol se crea cuando habilita la autenticación basada en certificados en un directorio mediante la AWS Management Console, y concede a Amazon WorkSpaces permiso para acceder a los recursos de AWS Private CA en su nombre. Si este rol no existe porque no utiliza la consola para administrar la autenticación basada en certificados, puede crearlo mediante el siguiente procedimiento.

Para crear el rol de servicio AmazonWorkSpacesPCAAccess utilizando la AWS CLI
  1. Cree un archivo JSON llamado AmazonWorkSpacesPCAAccess.json con el siguiente texto.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "prod.euc.ecm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Ajuste la ruta de AmazonWorkSpacesPCAAccess.json según sea necesario y ejecute los siguientes comandos de la AWS CLI para crear el rol de servicio y asociar la política administrada AmazonWorkspacesPCAAccess.

    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