

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.

# Identity and Access Management en Amazon Simple Workflow Service
<a name="swf-dev-iam"></a>

El acceso a Amazon SWF requiere credenciales que AWS pueda utilizar para autenticar sus solicitudes. Estas credenciales deben tener permisos para acceder a los AWS recursos, por ejemplo, para recuperar datos de eventos de otros recursos. AWS En las siguientes secciones, se presenta información detallada acerca de cómo puede utilizar [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) y Amazon SWF para proteger sus recursos al controlar quién puede obtener acceso a ellos.

AWS Identity and Access Management (IAM) es una Servicio de AWS que ayuda al administrador a controlar de forma segura el acceso a los AWS recursos. Los administradores de IAM controlan quién se puede *autenticar* (iniciar sesión) y *autorizar* (tener permisos) para utilizar los recursos de Amazon SWF. La IAM es una Servicio de AWS herramienta que puede utilizar sin coste adicional.

**Topics**
+ [Público](#security_iam_audience)
+ [Autenticación con identidades](#security_iam_authentication)
+ [Administración del acceso con políticas](#security_iam_access-manage)
+ [Control de acceso](#access-control-swf)
+ [Acciones de política para Amazon SWF](#security_iam_service-with-iam-id-based-policies-actions)
+ [Recursos de políticas para Amazon SWF](#security_iam_service-with-iam-id-based-policies-resources)
+ [Claves de condición de políticas para Amazon SWF](#security_iam_service-with-iam-id-based-policies-conditionkeys)
+ [ACLs en Amazon SWF](#security_iam_service-with-iam-acls)
+ [ABAC con Amazon SWF](#security_iam_service-with-iam-tags)
+ [Uso de credenciales temporales con Amazon SWF](#security_iam_service-with-iam-roles-tempcreds)
+ [Permisos de entidades principales entre servicios para Amazon SWF](#security_iam_service-with-iam-principal-permissions)
+ [Roles de servicio para Amazon SWF](#security_iam_service-with-iam-roles-service)
+ [Roles vinculados a servicios para Amazon SWF](#security_iam_service-with-iam-roles-service-linked)
+ [Políticas de Amazon SWF basadas en identidades](#security_iam_service-with-iam-id-based-policies)
+ [Políticas basadas en recursos de Amazon SWF](#security_iam_service-with-iam-resource-based-policies)
+ [Cómo funciona Amazon Simple Workflow Service con IAM](security_iam_service-with-iam.md)
+ [Ejemplos de políticas basadas en identidades de Amazon Simple Workflow Service](security_iam_id-based-policy-examples.md)
+ [Principios básicos](swf-dev-iam.basic.md)
+ [Políticas de IAM para Amazon SWF](swf-dev-iam.policies.md)
+ [Resumen de las API](swf-dev-iam.api.md)
+ [Políticas basadas en etiquetas](tag-based-policies.md)
+ [Puntos de conexión de VPC de Amazon para Amazon SWF](swf-vpc-endpoints.md)
+ [Solución de problemas de identidad y acceso de Amazon Simple Workflow Service](security_iam_troubleshoot.md)

## Público
<a name="security_iam_audience"></a>

La forma de usar AWS Identity and Access Management (IAM) varía según la función que desempeñes:
+ **Usuario del servicio:** solicite permisos al administrador si no puede acceder a las características (consulte [Solución de problemas de identidad y acceso de Amazon Simple Workflow Service](security_iam_troubleshoot.md)).
+ **Administrador del servicio:** determine el acceso de los usuarios y envíe las solicitudes de permiso (consulte [Cómo funciona Amazon Simple Workflow Service con IAM](security_iam_service-with-iam.md)).
+ **Administrador de IAM**: escribe las políticas para administrar el acceso (consulte [Ejemplos de políticas basadas en identidades de Amazon Simple Workflow Service](security_iam_id-based-policy-examples.md)).

## Autenticación con identidades
<a name="security_iam_authentication"></a>

La autenticación es la forma en que inicias sesión AWS con tus credenciales de identidad. Debe autenticarse como usuario de Usuario raíz de la cuenta de AWS IAM o asumir una función de IAM.

Puede iniciar sesión como una identidad federada con las credenciales de una fuente de identidad, como AWS IAM Identity Center (IAM Identity Center), la autenticación de inicio de sesión único o las credenciales. Google/Facebook Para obtener más información sobre el inicio de sesión, consulte [Cómo iniciar sesión en la Cuenta de AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) en la *Guía del usuario de AWS Sign-In *.

Para el acceso programático, AWS proporciona un SDK y una CLI para firmar criptográficamente las solicitudes. Para obtener más información, consulte [AWS Signature Version 4 para solicitudes de API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) en la *Guía del usuario de IAM*.

### Cuenta de AWS usuario root
<a name="security_iam_authentication-rootuser"></a>

 Al crear un Cuenta de AWS, se comienza con una identidad de inicio de sesión denominada *usuario Cuenta de AWS raíz* que tiene acceso completo a todos Servicios de AWS los recursos. Se recomiendaencarecidamente que no utilice el usuario raíz para las tareas diarias. Para ver las tareas que requieren credenciales de usuario raíz, consulte [Tareas que requieren credenciales de usuario raíz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) en la *Guía del usuario de IAM*. 

### Identidad federada
<a name="security_iam_authentication-federated"></a>

Como práctica recomendada, exija a los usuarios humanos que utilicen la federación con un proveedor de identidades para acceder Servicios de AWS mediante credenciales temporales.

Una *identidad federada* es un usuario del directorio empresarial, del proveedor de identidades web o al Directory Service que se accede Servicios de AWS mediante credenciales de una fuente de identidad. Las identidades federadas asumen roles que proporcionan credenciales temporales.

Para una administración de acceso centralizada, se recomienda AWS IAM Identity Center. Para obtener más información, consulte [¿Qué es el Centro de identidades de IAM?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) en la *Guía del usuario de AWS IAM Identity Center *.

### Usuarios y grupos de IAM
<a name="security_iam_authentication-iamuser"></a>

Un *[usuario de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* es una identidad con permisos específicos para una sola persona o aplicación. Recomendamos el uso de credenciales temporales en lugar de usuarios de IAM con credenciales de larga duración. Para obtener más información, consulte [Exigir a los usuarios humanos que utilicen la federación con un proveedor de identidad para acceder AWS mediante credenciales temporales](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) en la Guía del usuario de *IAM*.

Un [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) especifica un conjunto de usuarios de IAM y facilita la administración de los permisos para grupos grandes de usuarios. Para obtener más información, consulte [Casos de uso para usuarios de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) en la *Guía del usuario de IAM*.

### Roles de IAM
<a name="security_iam_authentication-iamrole"></a>

Un *[Rol de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* es una identidad con permisos específicos que proporciona credenciales temporales. Puede asumir un rol [cambiando de un rol de usuario a uno de IAM (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) o llamando a una AWS CLI operación de AWS API. Para obtener más información, consulte [Métodos para asumir un rol](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) en la *Guía del usuario de IAM*.

Los roles de IAM son útiles para el acceso de usuario federado, los permisos de usuario de IAM temporales, el acceso entre cuentas, el acceso entre servicios y las aplicaciones que se ejecutan en Amazon EC2. Para obtener más información, consulte [Acceso a recursos entre cuentas en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) en la *Guía del usuario de IAM*.

## Administración del acceso con políticas
<a name="security_iam_access-manage"></a>

El acceso se controla AWS creando políticas y adjuntándolas a AWS identidades o recursos. Una política define los permisos cuando están asociados a una identidad o un recurso. AWS evalúa estas políticas cuando un director hace una solicitud. La mayoría de las políticas se almacenan AWS como documentos JSON. Para obtener más información sobre los documentos de políticas de JSON, consulte [Información general de políticas de JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) en la *Guía del usuario de IAM*.

Mediante las políticas, los administradores especifican quién tiene acceso a qué, definiendo qué **entidad principal** puede realizar **acciones** sobre qué **recursos** y en qué **condiciones**.

De forma predeterminada, los usuarios y los roles no tienen permisos. Un administrador de IAM crea políticas de IAM y las agrega a roles, que los usuarios pueden asumir posteriormente. Las políticas de IAM definen permisos independientemente del método que se utilice para realizar la operación.

### Políticas basadas en identidades
<a name="security_iam_access-manage-id-based-policies"></a>

Las políticas basadas en identidad son documentos de política de permisos JSON que asocia a una identidad (usuario, grupo o rol). Estas políticas controlan qué acciones pueden realizar las identidades, en qué recursos y en qué condiciones. Para obtener más información sobre cómo crear una política basada en la identidad, consulte [Definición de permisos de IAM personalizados con políticas administradas por el cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) en la *Guía del usuario de IAM*.

Las políticas basadas en identidad pueden ser *políticas insertadas* (incrustadas directamente en una sola identidad) o *políticas administradas* (políticas independientes asociadas a varias identidades). Para obtener información sobre cómo elegir entre políticas administradas e insertadas, consulte [Selección entre políticas administradas y políticas insertadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) en la *Guía del usuario de IAM*.

### Políticas basadas en recursos
<a name="security_iam_access-manage-resource-based-policies"></a>

Las políticas basadas en recursos son documentos de políticas JSON que se asocian a un recurso. Los ejemplos incluyen las *Políticas de confianza de roles* de IAM y las *Políticas de bucket* de Amazon S3. En los servicios que admiten políticas basadas en recursos, los administradores de servicios pueden utilizarlos para controlar el acceso a un recurso específico. Debe [especificar una entidad principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) en una política basada en recursos.

Las políticas basadas en recursos son políticas insertadas que se encuentran en ese servicio. No puedes usar políticas AWS gestionadas de IAM en una política basada en recursos.

### Otros tipos de políticas
<a name="security_iam_access-manage-other-policies"></a>

AWS admite tipos de políticas adicionales que pueden establecer los permisos máximos que conceden los tipos de políticas más comunes:
+ **Límites de permisos:** establecen los permisos máximos que una política basada en identidad puede conceder a una entidad de IAM. Para obtener más información, consulte [Límites de permisos para las entidades de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) en la *Guía del usuario de IAM*.
+ **Políticas de control de servicios (SCPs)**: especifican los permisos máximos para una organización o unidad organizativa en AWS Organizations. Para obtener más información, consulte [Políticas de control de servicios](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) en la *Guía del usuario de AWS Organizations *.
+ **Políticas de control de recursos (RCPs)**: establece los permisos máximos disponibles para los recursos de tus cuentas. Para obtener más información, consulte [Políticas de control de recursos (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) en la *Guía del AWS Organizations usuario*.
+ **Políticas de sesión:** políticas avanzadas que se pasan como parámetro cuando se crea una sesión temporal para un rol o un usuario federado. Para obtener más información, consulte [Políticas de sesión](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) en la *Guía del usuario de IAM*.

### Varios tipos de políticas
<a name="security_iam_access-manage-multiple-policies"></a>

Cuando se aplican varios tipos de políticas a una solicitud, los permisos resultantes son más complicados de entender. Para saber cómo se AWS determina si se debe permitir una solicitud cuando se trata de varios tipos de políticas, consulte la [lógica de evaluación de políticas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) en la *Guía del usuario de IAM*.

## Control de acceso
<a name="access-control-swf"></a>

Aunque disponga de credenciales válidas para autenticar las solicitudes, si no tiene permisos, no podrá crear recursos de Amazon SWF ni obtener acceso a ellos. Por ejemplo, debe tener permisos para AWS Lambda invocar los destinos de Amazon Simple Notification Service (Amazon SNS) y Amazon Simple Queue Service (Amazon SQS) asociados a sus reglas de Amazon SWF.

En las secciones siguientes, se describe cómo administrar los permisos de Amazon SWF. Recomendamos que lea primero la información general.
+ [Principios básicos](swf-dev-iam.basic.md)
+ [Políticas de IAM para Amazon SWF](swf-dev-iam.policies.md)
+ [Redacción de políticas para Amazon SWF](swf-dev-iam.policies.md#swf-dev-iam.policies.examples)

## Acciones de política para Amazon SWF
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Compatibilidad con las acciones de políticas:** sí

Los administradores pueden usar las políticas de AWS JSON para especificar quién tiene acceso a qué. Es decir, qué **entidad principal** puede realizar **acciones** en qué **recursos** y en qué **condiciones**.

El elemento `Action` de una política JSON describe las acciones que puede utilizar para conceder o denegar el acceso en una política. Incluya acciones en una política para conceder permisos y así llevar a cabo la operación asociada.

Para ver una lista de las acciones de Amazon SWF, consulte [Recursos definidos por Amazon Simple Workflow Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsimpleworkflowservice.html#amazonsimpleworkflowservice-resources-for-iam-policies) en la *Referencia de autorizaciones de servicio*.

Las acciones de políticas de Amazon SWF utilizan el siguiente prefijo antes de la acción:

```
swf
```

Para especificar varias acciones en una única instrucción, sepárelas con comas.

```
"Action": [
      "swf:action1",
      "swf:action2"
         ]
```

Para ver ejemplos de políticas basadas en identidad de Amazon SWF, consulte [Ejemplos de políticas basadas en identidades de Amazon Simple Workflow Service](security_iam_id-based-policy-examples.md).

## Recursos de políticas para Amazon SWF
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Compatibilidad con los recursos de políticas:** sí

Los administradores pueden usar las políticas de AWS JSON para especificar quién tiene acceso a qué. Es decir, qué **entidad principal** puede realizar **acciones** en qué **recursos** y en qué **condiciones**.

El elemento `Resource` de la política JSON especifica el objeto u objetos a los que se aplica la acción. Como práctica recomendada, especifique un recurso utilizando el [Nombre de recurso de Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). En el caso de las acciones que no admiten permisos por recurso, utilice un carácter comodín (\$1) para indicar que la instrucción se aplica a todos los recursos.

```
"Resource": "*"
```

Para ver una lista de los tipos de recursos de Amazon SWF y sus tipos ARNs, consulte [Acciones definidas por Amazon Simple Workflow Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsimpleworkflowservice.html#amazonsimpleworkflowservice-actions-as-permissions) en la Referencia de *autorización del servicio*. Para obtener información sobre las acciones con las que puede especificar el ARN de cada recurso, consulte [Recursos definidos por Amazon Simple Workflow Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsimpleworkflowservice.html#amazonsimpleworkflowservice-resources-for-iam-policies).

Para ver ejemplos de políticas basadas en identidad de Amazon SWF, consulte [Ejemplos de políticas basadas en identidades de Amazon Simple Workflow Service](security_iam_id-based-policy-examples.md).

## Claves de condición de políticas para Amazon SWF
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Compatibilidad con claves de condición de políticas específicas del servicio:** sí

Los administradores pueden usar las políticas de AWS JSON para especificar quién tiene acceso a qué. Es decir, qué **entidad principal** puede realizar **acciones** en qué **recursos** y en qué **condiciones**.

El elemento `Condition` especifica cuándo se ejecutan las instrucciones en función de criterios definidos. Puede crear expresiones condicionales que utilizan [operadores de condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), tales como igual o menor que, para que la condición de la política coincida con los valores de la solicitud. Para ver todas las claves de condición AWS globales, consulte las claves de [contexto de condición AWS globales](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) en la *Guía del usuario de IAM*.

Para obtener una lista de las claves de condición de Amazon SWF, consulte [Claves de condición de Amazon Simple Workflow Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsimpleworkflowservice.html#amazonsimpleworkflowservice-policy-keys) en la *Referencia de autorizaciones de servicio*. Para obtener más información acerca de las acciones y los recursos con los que puede utilizar una clave de condición, consulte [Recursos definidos por Amazon Simple Workflow Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsimpleworkflowservice.html#amazonsimpleworkflowservice-resources-for-iam-policies).

Para ver ejemplos de políticas basadas en identidad de Amazon SWF, consulte [Ejemplos de políticas basadas en identidades de Amazon Simple Workflow Service](security_iam_id-based-policy-examples.md).

## ACLs en Amazon SWF
<a name="security_iam_service-with-iam-acls"></a>

**Soporta ACLs: No** 

Las listas de control de acceso (ACLs) controlan qué directores (miembros de la cuenta, usuarios o roles) tienen permisos para acceder a un recurso. ACLs son similares a las políticas basadas en recursos, aunque no utilizan el formato de documento de políticas JSON.

## ABAC con Amazon SWF
<a name="security_iam_service-with-iam-tags"></a>

**Compatibilidad con ABAC (etiquetas en las políticas):** parcial

El control de acceso basado en atributos (ABAC) es una estrategia de autorización que define permisos en función de atributos denominados etiquetas. Puede adjuntar etiquetas a las entidades y AWS los recursos de IAM y, a continuación, diseñar políticas de ABAC para permitir las operaciones cuando la etiqueta del director coincida con la etiqueta del recurso.

Para controlar el acceso en función de etiquetas, debe proporcionar información de las etiquetas en el [elemento de condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) de una política utilizando las claves de condición `aws:ResourceTag/key-name`, `aws:RequestTag/key-name` o `aws:TagKeys`.

Si un servicio admite las tres claves de condición para cada tipo de recurso, el valor es **Sí** para el servicio. Si un servicio admite las tres claves de condición solo para algunos tipos de recursos, el valor es **Parcial**.

*Para obtener más información sobre ABAC, consulte [Definición de permisos con la autorización de ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) en la Guía del usuario de IAM*. Para ver un tutorial con los pasos para configurar ABAC, consulte [Uso del control de acceso basado en atributos (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) en la *Guía del usuario de IAM*.

## Uso de credenciales temporales con Amazon SWF
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Compatibilidad con credenciales temporales:** sí

Las credenciales temporales proporcionan acceso a AWS los recursos a corto plazo y se crean automáticamente cuando se utiliza la federación o se cambia de rol. AWS recomienda generar credenciales temporales de forma dinámica en lugar de utilizar claves de acceso a largo plazo. Para obtener más información, consulte [Credenciales de seguridad temporales en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) y [Servicios de AWS que funcionan con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) en la *Guía del usuario de IAM*.

## Permisos de entidades principales entre servicios para Amazon SWF
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Admite sesiones de acceso directo (FAS):** sí

 Las sesiones de acceso directo (FAS) utilizan los permisos del principal que llama y los que solicitan Servicio de AWS para realizar solicitudes a los servicios descendentes. Servicio de AWS Para obtener información sobre las políticas a la hora de realizar solicitudes de FAS, consulte [Sesiones de acceso directo](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 

## Roles de servicio para Amazon SWF
<a name="security_iam_service-with-iam-roles-service"></a>

**Compatible con roles de servicio:** sí

 Un rol de servicio es un [rol de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) que asume un servicio para realizar acciones en su nombre. Un administrador de IAM puede crear, modificar y eliminar un rol de servicio desde IAM. Para obtener más información, consulte [Crear un rol para delegar permisos a un Servicio de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) en la *Guía del usuario de IAM*. 

**aviso**  
Cambiar los permisos de un rol de servicio podría interrumpir la funcionalidad de Amazon SWF. Edite los roles de servicio solo cuando Amazon SWF proporcione orientación para hacerlo.

## Roles vinculados a servicios para Amazon SWF
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Compatibilidad con roles vinculados al servicio:** no 

 Un rol vinculado a un servicio es un tipo de rol de servicio que está vinculado a un. Servicio de AWS El servicio puede asumir el rol para realizar una acción en su nombre. Los roles vinculados al servicio aparecen en usted Cuenta de AWS y son propiedad del servicio. Un administrador de IAM puede ver, pero no editar, los permisos de los roles vinculados a servicios. 

Para más información sobre cómo crear o administrar roles vinculados a servicios, consulta [Servicios de AWS que funcionan con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html). Busque un servicio en la tabla que incluya `Yes` en la columna **Rol vinculado a un servicio**. Seleccione el vínculo **Sí** para ver la documentación acerca del rol vinculado a servicios para ese servicio.

## Políticas de Amazon SWF basadas en identidades
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Compatibilidad con las políticas basadas en identidad:** sí

Las políticas basadas en identidad son documentos de políticas de permisos JSON que puede asociar a una identidad, como un usuario de IAM, un grupo de usuarios o un rol. Estas políticas controlan qué acciones pueden realizar los usuarios y los roles, en qué recursos y en qué condiciones. Para obtener más información sobre cómo crear una política basada en la identidad, consulte [Definición de permisos de IAM personalizados con políticas administradas por el cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) en la *Guía del usuario de IAM*.

Con las políticas basadas en identidades de IAM, puede especificar las acciones y los recursos permitidos o denegados, así como las condiciones en las que se permiten o deniegan las acciones. Para obtener más información sobre los elementos que puede utilizar en una política de JSON, consulte [Referencia de los elementos de la política de JSON de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) en la *Guía del usuario de IAM*.

### Ejemplos de políticas basadas en identidades para Amazon SWF
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>

Para ver ejemplos de políticas basadas en identidad de Amazon SWF, consulte [Ejemplos de políticas basadas en identidades de Amazon Simple Workflow Service](security_iam_id-based-policy-examples.md).

## Políticas basadas en recursos de Amazon SWF
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Admite políticas basadas en recursos:** no 

Las políticas basadas en recursos son documentos de política JSON que se asocian a un recurso. Los ejemplos de políticas basadas en recursos son las *políticas de confianza de roles* de IAM y las *políticas de bucket* de Amazon S3. En los servicios que admiten políticas basadas en recursos, los administradores de servicios pueden utilizarlos para controlar el acceso a un recurso específico. Para el recurso al que se asocia la política, la política define qué acciones puede realizar una entidad principal especificada en ese recurso y en qué condiciones. Debe [especificar una entidad principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) en una política basada en recursos. Los principales pueden incluir cuentas, usuarios, roles, usuarios federados o. Servicios de AWS

Para habilitar el acceso entre cuentas, puede especificar toda una cuenta o entidades de IAM de otra cuenta como la entidad principal de una política en función de recursos. Para obtener más información, consulte [Acceso a recursos entre cuentas en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) en la *Guía del usuario de IAM*.

# Cómo funciona Amazon Simple Workflow Service con IAM
<a name="security_iam_service-with-iam"></a>

Antes de utilizar IAM para administrar el acceso a Amazon SWF, obtenga información sobre qué características de IAM se encuentran disponibles en Amazon SWF.


**Características de IAM que puede utilizar con Amazon Simple Workflow Service**  

| Característica de IAM | Compatibilidad de Amazon SWF | 
| --- | --- | 
|  [Políticas basadas en identidades](swf-dev-iam.md#security_iam_service-with-iam-id-based-policies)  |   Sí  | 
|  [Políticas basadas en recursos](swf-dev-iam.md#security_iam_service-with-iam-resource-based-policies)  |   No   | 
|  [Acciones de políticas](swf-dev-iam.md#security_iam_service-with-iam-id-based-policies-actions)  |   Sí  | 
|  [Recursos de políticas](swf-dev-iam.md#security_iam_service-with-iam-id-based-policies-resources)  |   Sí  | 
|  [Claves de condición de política (específicas del servicio)](swf-dev-iam.md#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   Sí  | 
|  [ACLs](swf-dev-iam.md#security_iam_service-with-iam-acls)  |   No   | 
|  [ABAC (etiquetas en políticas)](swf-dev-iam.md#security_iam_service-with-iam-tags)  |   Parcial  | 
|  [Credenciales temporales](swf-dev-iam.md#security_iam_service-with-iam-roles-tempcreds)  |   Sí  | 
|  [Permisos de entidades principales](swf-dev-iam.md#security_iam_service-with-iam-principal-permissions)  |   Sí  | 
|  [Roles de servicio](swf-dev-iam.md#security_iam_service-with-iam-roles-service)  |   Sí  | 
|  [Roles vinculados al servicio](swf-dev-iam.md#security_iam_service-with-iam-roles-service-linked)  |   No   | 

*Para obtener una visión general de cómo funcionan Amazon SWF y otros AWS servicios con la mayoría de las funciones de IAM, consulte los [AWS servicios que funcionan con IAM en la Guía del usuario de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html).*

# Ejemplos de políticas basadas en identidades de Amazon Simple Workflow Service
<a name="security_iam_id-based-policy-examples"></a>

De forma predeterminada, los usuarios y roles no tienen permiso para crear ni modificar los recursos de Amazon SWF. Un administrador de IAM puede crear políticas de IAM para conceder permisos a los usuarios para realizar acciones en los recursos que necesitan.

Para obtener información acerca de cómo crear una política basada en identidades de IAM mediante el uso de estos documentos de políticas JSON de ejemplo, consulte [Creación de políticas de IAM (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) en la *Guía del usuario de IAM*.

Para obtener más información sobre las acciones y los tipos de recursos definidos por Amazon SWF, incluido el formato de cada uno de los tipos de recursos, consulte [Acciones, recursos y claves de condición de Amazon Simple Workflow Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsimpleworkflowservice.html) en la Referencia de *autorización del servicio*. ARNs 

**Topics**
+ [Prácticas recomendadas sobre las políticas](#security_iam_service-with-iam-policy-best-practices)
+ [Uso de la consola de Amazon SWF](#security_iam_id-based-policy-examples-console)
+ [Cómo permitir a los usuarios consultar sus propios permisos](#security_iam_id-based-policy-examples-view-own-permissions)

## Prácticas recomendadas sobre las políticas
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Las políticas basadas en identidades determinan si alguien puede crear, eliminar o acceder a los recursos de Amazon SWF de la cuenta. Estas acciones pueden generar costos adicionales para su Cuenta de AWS. Siga estas directrices y recomendaciones al crear o editar políticas basadas en identidades:
+ **Comience con las políticas AWS administradas y avance hacia los permisos con privilegios mínimos: para empezar a conceder permisos** a sus usuarios y cargas de trabajo, utilice las *políticas AWS administradas* que otorgan permisos para muchos casos de uso comunes. Están disponibles en su. Cuenta de AWS Le recomendamos que reduzca aún más los permisos definiendo políticas administradas por el AWS cliente que sean específicas para sus casos de uso. Con el fin de obtener más información, consulte las [políticas administradas por AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) o las [políticas administradas por AWS para funciones de tarea](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) en la *Guía de usuario de IAM*.
+ **Aplique permisos de privilegio mínimo**: cuando establezca permisos con políticas de IAM, conceda solo los permisos necesarios para realizar una tarea. Para ello, debe definir las acciones que se pueden llevar a cabo en determinados recursos en condiciones específicas, también conocidos como *permisos de privilegios mínimos*. Con el fin de obtener más información sobre el uso de IAM para aplicar permisos, consulte [Políticas y permisos en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) en la *Guía del usuario de IAM*.
+ **Utilice condiciones en las políticas de IAM para restringir aún más el acceso**: puede agregar una condición a sus políticas para limitar el acceso a las acciones y los recursos. Por ejemplo, puede escribir una condición de políticas para especificar que todas las solicitudes deben enviarse utilizando SSL. También puedes usar condiciones para conceder el acceso a las acciones del servicio si se utilizan a través de una acción específica Servicio de AWS, por ejemplo CloudFormation. Para obtener más información, consulte [Elementos de la política de JSON de IAM: Condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) en la *Guía del usuario de IAM*.
+ **Utiliza el analizador de acceso de IAM para validar las políticas de IAM con el fin de garantizar la seguridad y funcionalidad de los permisos**: el analizador de acceso de IAM valida políticas nuevas y existentes para que respeten el lenguaje (JSON) de las políticas de IAM y las prácticas recomendadas de IAM. El analizador de acceso de IAM proporciona más de 100 verificaciones de políticas y recomendaciones procesables para ayudar a crear políticas seguras y funcionales. Para más información, consulte [Validación de políticas con el Analizador de acceso de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) en la *Guía del usuario de IAM*.
+ **Requerir autenticación multifactor (MFA**): si tiene un escenario que requiere usuarios de IAM o un usuario raíz en Cuenta de AWS su cuenta, active la MFA para mayor seguridad. Para exigir la MFA cuando se invoquen las operaciones de la API, añada condiciones de MFA a sus políticas. Para más información, consulte [Acceso seguro a la API con MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) en la *Guía del usuario de IAM*.

Para obtener más información sobre las prácticas recomendadas de IAM, consulte [Prácticas recomendadas de seguridad en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) en la *Guía del usuario de IAM*.

## Uso de la consola de Amazon SWF
<a name="security_iam_id-based-policy-examples-console"></a>

Para acceder a la consola de Amazon Simple Workflow Service, debe tener un conjunto mínimo de permisos. Estos permisos deben permitirle enumerar y ver detalles sobre los recursos de Amazon SWF que tiene en su cuenta. Cuenta de AWS Si crea una política basada en identidades que sea más restrictiva que el mínimo de permisos necesarios, la consola no funcionará del modo esperado para las entidades (usuarios o roles) que tengan esa política.

No necesita conceder permisos mínimos de consola a los usuarios que solo realizan llamadas a la API AWS CLI o a la AWS API. En su lugar, permita el acceso únicamente a las acciones que coincidan con la operación de API que intentan realizar.

Para garantizar que los usuarios y los roles puedan seguir utilizando la consola de Amazon SWF, adjunte también la política gestionada `ReadOnly` AWS o Amazon `ConsoleAccess` SWF a las entidades. Para obtener más información, consulte [Adición de permisos a un usuario](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) en la *Guía del usuario de IAM*:

## Cómo permitir a los usuarios consultar sus propios permisos
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

En este ejemplo, se muestra cómo podría crear una política que permita a los usuarios de IAM ver las políticas administradas e insertadas que se asocian a la identidad de sus usuarios. Esta política incluye permisos para completar esta acción en la consola o mediante programación mediante la API o. AWS CLI AWS 

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

# Principios básicos
<a name="swf-dev-iam.basic"></a>

El control de acceso de Amazon SWF se basa principalmente en dos tipos de permisos:
+ Permisos en el nivel de recursos: los recursos de Amazon SWF a los que puede obtener acceso un usuario.

  Solo puede expresar los permisos a nivel de recursos para los dominios.
+ Permisos en el nivel de API: las acciones de Amazon SWF a las que puede llamar un usuario.

El enfoque más sencillo consiste en conceder acceso total a la cuenta (llamar a cualquier acción de Amazon SWF en cualquier dominio) o denegar el acceso por completo. Sin embargo, IAM admite un método de control de acceso más preciso que suele ser más útil. Por ejemplo, puede: 
+ Permitir que el usuario llame a cualquier acción de Amazon SWF sin restricciones, pero solo en un dominio determinado. Puede utilizar una política de este tipo para permitir que aplicaciones de flujo de trabajo que están en desarrollo utilicen cualquier acción, pero solo un dominio de "entorno de prueba".
+ Permitir que el usuario acceda a cualquier dominio, pero limitar la forma en que usa la API. Puede utilizar una política de este tipo para permitir que una aplicación de "auditoría" llame a la API en cualquier dominio, pero acceso de solo lectura.
+ Permitir que el usuario llame solo a un conjunto limitado de acciones en ciertos dominios. Puede utilizar una política de este tipo para permitir que un iniciador de flujo de trabajo solo llame a la acción `StartWorkflowExecution` en un determinado dominio.

El control de acceso de Amazon SWF se basa en los siguientes principios:
+ Las decisiones de control de acceso se basan solo en políticas de IAM; todas las operaciones de manipulación y auditoría de la política se realizan por medio de IAM.
+ El modelo de control de acceso utiliza una deny-by-default política; se deniega cualquier acceso que no esté permitido de forma explícita. 
+ Para controlar el acceso a los recursos de Amazon SWF, asocie políticas de IAM adecuadas a los actores del flujo de trabajo.
+ Solo se pueden expresar permisos a nivel de recursos para los dominios.
+ Puede limitar aún más el uso de ciertas acciones aplicando condiciones a uno o más parámetros.
+ Si concedes permiso de uso [RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html), puedes expresar los permisos para la lista de decisiones incluidas en esa acción.

  Cada decisión tiene uno o más parámetros, como una llamada a la API normal. Para permitir que las políticas sean lo más fáciles de leer posible, puede expresar permisos a nivel de decisiones como si fueran llamadas a la API reales, lo que incluye la aplicación de condiciones a ciertos parámetros. Estos tipos de permisos se llaman permisos *pseudo API*.

Para obtener un resumen de qué parámetros de la API normal y la pseudo API se pueden limitar con estas condiciones, consulte [Resumen de las API](swf-dev-iam.api.md).

# Políticas de IAM para Amazon SWF
<a name="swf-dev-iam.policies"></a>

Una política de IAM comprende uno o varios elementos `Statement`, cada uno de los cuales consta de un conjunto de elementos que define la política. Para obtener una lista completa de los elementos y un análisis general acerca de cómo crear políticas, consulte [El lenguaje de la política de acceso](https://docs.aws.amazon.com/IAM/latest/UserGuide/AccessPolicyLanguage.html). El control de acceso a Amazon SWF se basa en los siguientes elementos:

Efecto  
(Obligatorio) El efecto de la instrucción: `deny` o `allow`.  
Debe permitir el acceso de forma explícita. IAM deniega el acceso de forma predeterminada.

Recurso  
(Obligatorio) El recurso (una entidad de un AWS servicio con la que el usuario puede interactuar) al que se aplica la declaración.  
Solo puede expresar los permisos a nivel de recursos para los dominios. Por ejemplo, una política puede permitir acceder solo a determinados dominios en su cuenta. Para expresar los permisos de un dominio, `Resource` configúrelo en el nombre de recurso de Amazon (ARN) del dominio, que tiene el formato «arn:aws:swf::: /domain/». *Region* *AccountID* *DomainName* *Region*es la AWS región, *AccountID* es el ID de la cuenta sin guiones y es el nombre de dominio. *DomainName*

Action  
(Obligatorio) La acción a la que se aplica la declaración, a la que puede hacer referencia utilizando el siguiente formato:*serviceId*:*action*. Para Amazon SWF, *serviceID* establézcalo en. `swf` Por ejemplo, `swf:StartWorkflowExecution` hace referencia a la [StartWorkflowExecution](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_StartWorkflowExecution.html)acción y se utiliza para controlar qué usuarios pueden iniciar flujos de trabajo.  
 Si concedes permiso de uso [RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html), también puedes controlar el acceso a la lista de decisiones incluida `Action` para expresar los permisos de la pseudoAPI. Dado que IAM deniega el acceso de forma predeterminada, la decisión del decisor debe indicarse explícitamente o, de lo contrario, no se aceptará. Puede utilizar un valor `*` para permitir todas las decisiones.

Condición  
(Opcional) Expresa una restricción en uno o más parámetros de una acción, que limitan los valores permitidos.  
Las acciones de Amazon SWF tienen a menudo un gran alcance, que se puede reducir con la ayuda de condiciones de IAM. Por ejemplo, para limitar las listas de tareas a las que puede acceder la [PollForActivityTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_PollForActivityTask.html)acción, debes incluir una `Condition` y utilizar la `swf:taskList.name` clave para especificar las listas permitidas.   
Puede expresar restricciones para las siguientes entidades:  
+ El tipo de flujo de trabajo. El nombre y la versión tienen claves independientes.
+ El tipo de actividad. El nombre y la versión tienen claves independientes.
+ Las listas de tareas.
+ Tags. Puede especificar varias etiquetas para algunas acciones. En ese caso, cada etiqueta tiene una clave distinta.
Para Amazon SWF, todos los valores son cadenas, de modo que puede limitar un parámetro por medio de un operador de cadena como `StringEquals`, que limita el parámetro a una cadena especificada. Sin embargo, los operadores de comparación de la cadena regulares como `StringEquals` requieren que todas las solicitudes incluyan el parámetro. Si no incluye el parámetro de forma explícita, y no hay un valor predeterminado como la lista de tareas predeterminada provista durante el registro del tipo, se denegará el acceso.  
A menudo es útil tratar las condiciones como si fueran opcionales. De este modo, puede llamar a una acción sin incluir necesariamente el parámetro asociado. Por ejemplo, es posible que desee permitir que un decisor especifique un conjunto de [RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html)decisiones, pero también permitirle especificar solo una de ellas para una llamada determinada. En ese caso, puede limitar los parámetros pertinentes con un operador `StringEqualsIfExists`, a fin de permitir el acceso si el parámetro satisface la condición, pero sin denegar el acceso si el parámetro está ausente.
Para obtener una lista completa de los parámetros que puede limitar y las claves asociadas, consulte [Resumen de las API](swf-dev-iam.api.md).

La siguiente sección proporciona ejemplos de cómo crear políticas de Amazon SWF. Para obtener más información, consulte [Condiciones de la cadena](https://docs.aws.amazon.com/IAM/latest/UserGuide/AccessPolicyLanguage_ElementDescriptions.html#AccessPolicyLanguage_ConditionType). 

## Redacción de políticas para Amazon SWF
<a name="swf-dev-iam.policies.examples"></a>

Un flujo de trabajo consta de varios *actores*: actividades, decisores, etc. Para controlar el acceso de cada actor, asocie una política de IAM adecuada.

Con la siguiente acción, el actor tendrá acceso completo a la cuenta en todas las regiones:
+ **Acción:** `swf:*`
+ **Recurso:** `arn:aws:swf:*:123456789012:/domain/*`

 Puede utilizar comodines para que un solo valor represente varios recursos, acciones o regiones.
+ El primer comodín (`*`) del `Resource` valor indica que los permisos de recursos se aplican a todas **las regiones**. 

  Para limitar los permisos a una sola región, sustituya el comodín por la cadena de región apropiada, como us-east-1. 
+ El segundo comodín (`*`) en el valor `Resource` permite al actor acceder a todos los dominios en las regiones especificadas.
+ El comodín (`*`) en el valor `Action` permite al actor llamar a cualquier acción de Amazon SWF. 

Para obtener más información sobre el uso de los comodines, consulte [Descripciones de elementos](https://docs.aws.amazon.com/IAM/latest/UserGuide/AccessPolicyLanguage_ElementDescriptions.html)

### Permisos de dominio
<a name="swf-dev-iam.policies.examples.domain"></a>

Para restringir los flujos de trabajo de un departamento a un dominio concreto, puedes conceder un permiso que permita a un actor realizar cualquier acción, pero solo para un departamento específico. 

Para conceder a un actor acceso a más de un dominio, expresa el permiso para cada dominio en forma de lista de declaraciones:
+ **Acción:** `swf:*`
+ **Recurso:** `arn:aws:swf:*:123456789012:/domain/department1` 
+ **Recurso:** `arn:aws:swf:*:123456789012:/domain/department2` 

Puede permitir que un actor utilice cualquier acción de Amazon SWF en los dominios `department1` y`department2`. También puede utilizar comodines en ocasiones para representar varios dominios. 

### Restricciones y permisos de la API
<a name="swf-dev-iam.policies.examples.api"></a>

Usted controla qué **acciones** puede utilizar un actor especificando la acción en el `Action` elemento. 

Con la siguiente acción, un actor solo puede llamar `StartWorkflowExecution` para iniciar flujos de trabajo. No puede usar ninguna otra acción.
+ **Acción:** `swf:StartWorkflowExecution` 

**Condiciones**  
Si lo desea, puede restringir los valores de los parámetros permitidos de la acción mediante un `Condition` elemento.

Para restringir los flujos de trabajo que puede iniciar un actor, restrinja uno o más de los valores de los `StartWorkflowExecution` parámetros, de la siguiente manera:

```
"Condition" : {
   "StringEquals" : { 
      "swf:workflowType.name" : "workflow1",
      "swf:workflowType.version" : "version2" 
    }
}
```

Un actor con las restricciones anteriores solo `version2` puede ejecutar `workflow1` y ambos parámetros deben incluirse en la solicitud.

Para limitar un parámetro sin tener que incluirlo en una solicitud, utilice un operador `StringEqualsIfExists`, como sigue:

```
"Condition" : {
   "StringEqualsIfExists" : { "swf:taskList.name" : "task_list_name" }
}
```

Un actor con la política anterior puede especificar opcionalmente una lista de tareas al iniciar la ejecución de un flujo de trabajo.

Puede limitar la lista de etiquetas para algunas acciones. Cada etiqueta tiene una clave independiente, por lo que puede `swf:tagList.member.0` restringir la primera etiqueta de la lista, `swf:tagList.member.1` restringir la segunda etiqueta de la lista, etc., hasta un máximo de 5. 

Debe tener cuidado al restringir las listas de etiquetas. Por ejemplo, ***no*** se recomienda la siguiente condición. 

**No** se recomienda la siguiente condición porque permite especificar opcionalmente una `some_ok_tag` u otra`another_ok_tag`. Sin embargo, la condición restringe solo el **primer elemento** de la lista de etiquetas. La lista podría tener elementos adicionales con valores arbitrarios, todos los cuales estarían permitidos porque la condición no aplica ninguna condición `swf:tagList.member.1``swf:tagList.member.2`, etc.

```
// Example to illustrate an insecure Condition
"Condition" : {
   "StringEqualsIfExists" : {
      "swf:tagList.member.0" : "some_ok_tag", "another_ok_tag"
   }
}
```

Una forma de solucionar el problema anterior es impedir el uso de listas de etiquetas. 

La siguiente política asegura que solo se permitan `some_ok_tag` o `another_ok_tag` al exigir que la lista tenga solo un elemento.

```
"Condition" : {
   "StringEqualsIfExists" : {
      "swf:tagList.member.0" : "some_ok_tag", "another_ok_tag"
    },
    "Null" : { "swf:tagList.member.1" : "true" }
}
```

### Restricciones y permisos de pseudo API
<a name="pseudo-api-permissions-constraints"></a>

Para restringir las decisiones disponibles`RespondDecisionTaskCompleted`, primero debes permitir que el actor llame`RespondDecisionTaskCompleted`. A continuación, debes expresar los permisos para los miembros de la pseudoAPI correspondientes utilizando la misma sintaxis que para la API normal, de la siguiente manera:
+ **Declaración 1**

  **Recurso:** `arn:aws:swf:*:123456789012:/domain/*` 

  **Acción:** `swf:RespondDecisionTaskCompleted` 
+ **Declaración 2**

  **Recurso:** `*` 

  **Acción:** `swf:ScheduleActivityTask` 

  **Condición**: ` "StringEquals" : { "swf:activityType.name" : "SomeActivityType" }` 

La primera `Statement` permite al actor llamar`RespondDecisionTaskCompleted`. La segunda afirmación permite al actor utilizar la `ScheduleActivityTask` decisión de ordenar a Amazon SWF que programe una tarea de actividad. Para permitir todas las decisiones, sustituya «swf:ScheduleActivityTask" por «swf: \$1».

Puede utilizar operadores de condición para limitar los parámetros al igual que con la API normal. El `StringEquals` operador del ejemplo anterior `Condition` permite `RespondDecisionTaskCompleted` programar una tarea de actividad para la `SomeActivityType` actividad y debe programarla. Si quiere permitir que `RespondDecisionTaskCompleted` utilice un valor de parámetro pero sin que sea obligatorio, utilice el operador `StringEqualsIfExists`.

## AWS política gestionada: SimpleWorkflowFullAccess
<a name="swf-full-accss-mngd-policy"></a>

Puede asociar la política `SimpleWorkflowFullAccess` a las identidades de IAM.

Esta política proporciona acceso completo al servicio de configuración de Amazon SWF.

## Limitaciones del modelo de servicio de las políticas de IAM
<a name="swf-dev-iam.policies.allowed"></a>

Debe tener presentes las restricciones del modelo de servicio al crear políticas de IAM. Es posible crear una política de IAM válida desde el punto de vista sintáctico que represente una solicitud de Amazon SWF no válida; una solicitud permitida en términos de control de acceso puede producir un error, ya que se trata de una solicitud no válida. 

Por ejemplo, el modelo de servicio de Amazon SWF **no** permite utilizar `tagFilter` los parámetros `typeFilter` and en la misma `[ListOpenWorkflowExecutions](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListOpenWorkflowExecutions.html)` solicitud. La siguiente condición permitiría que las llamadas que el servicio rechazara (mediante el lanzamiento) por considerarlas solicitudes no válidas`ValidationException`:

```
"Condition" : {
   "StringEquals" : { 
      "swf:typeFilter.name" : "workflow_name",
      "swf:typeFilter.version" : "workflow_version",
      "swf:tagFilter.tag" : "some_tag" 
    }
}
```

# Resumen de las API
<a name="swf-dev-iam.api"></a>

En esta sección, se describe brevemente cómo utilizar las políticas de IAM para controlar la forma en que un actor puede usar cada API y pseudo API para obtener acceso a los recursos de Amazon SWF.
+ Para todas las acciones excepto `RegisterDomain` y `ListDomains`, puede expresar permisos para el recurso del dominio a fin de autorizar o denegar el acceso a todos o parte de los dominios de la cuenta. 
+ Puede permitir o denegar el permiso a cualquier miembro de la API normal y, si concede permiso para llamar a `[RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html)`, para cualquier miembro de la pseudo API. 
+ Puede utilizar una condición para restringir los valores permitidos de algunos parámetros.

Las siguientes secciones indican los parámetros que es posible limitar para cada miembro de la API normal y la pseudo API; proporcionan la clave asociada y señalan las limitaciones sobre cómo puede controlar el acceso al dominio. 

## API normal
<a name="swf-dev-iam.api.regular"></a>

Esta sección enumera los miembros de la API normal, y describe brevemente los parámetros que se pueden limitar y las claves asociadas. También señala las limitaciones sobre cómo puede controlar el acceso al dominio.

`[CountClosedWorkflowExecutions](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_CountClosedWorkflowExecutions.html)`
+ `tagFilter.tag`: restricción de cadena. La clave es `swf:tagFilter.tag`
+ `typeFilter.name`: restricción de cadena. La clave es `swf:typeFilter.name`.
+ `typeFilter.version`: restricción de cadena. La clave es `swf:typeFilter.version`. 

**nota**  
`CountClosedWorkflowExecutions` exige que `typeFilter` y `tagFilter` sean mutuamente exclusivos.

`[CountOpenWorkflowExecutions](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_CountOpenWorkflowExecutions.html)`
+ `tagFilter.tag`: restricción de cadena. La clave es `swf:tagFilter.tag`
+ `typeFilter.name`: restricción de cadena. La clave es `swf:typeFilter.name`.
+ `typeFilter.version`: restricción de cadena. La clave es `swf:typeFilter.version`. 

**nota**  
`CountOpenWorkflowExecutions` exige que `typeFilter` y `tagFilter` sean mutuamente exclusivos.

`[CountPendingActivityTasks](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_CountPendingActivityTasks.html)`
+ `taskList.name`: restricción de cadena. La clave es `swf:taskList.name`.

`[CountPendingDecisionTasks](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_CountPendingDecisionTasks.html)`
+ `taskList.name`: restricción de cadena. La clave es `swf:taskList.name`.

`[DeleteActivityType](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DeleteActivityType.html)`
+ `activityType.name`: restricción de cadena. La clave es `swf:activityType.name`.
+ `activityType.version`: restricción de cadena. La clave es `swf:activityType.version`.

`[DeprecateActivityType](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DeprecateActivityType.html)`
+ `activityType.name`: restricción de cadena. La clave es `swf:activityType.name`.
+ `activityType.version`: restricción de cadena. La clave es `swf:activityType.version`.

`[DeprecateDomain](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DeprecateDomain.html)`
+ No puede limitar los parámetros de esta acción.

`[DeleteWorkflowType](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DeleteWorkflowType.html)`
+ `workflowType.name`: restricción de cadena. La clave es `swf:workflowType.name`.
+ `workflowType.version`: restricción de cadena. La clave es `swf:workflowType.version`. 

`[DeprecateWorkflowType](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DeprecateWorkflowType.html)`
+ `workflowType.name`: restricción de cadena. La clave es `swf:workflowType.name`.
+ `workflowType.version`: restricción de cadena. La clave es `swf:workflowType.version`. 

`[DescribeActivityType](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DescribeActivityType.html)`
+ `activityType.name`: restricción de cadena. La clave es `swf:activityType.name`.
+ `activityType.version`: restricción de cadena. La clave es `swf:activityType.version`.

`[DescribeDomain](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DescribeDomain.html)`
+ No puede limitar los parámetros de esta acción.

`[DescribeWorkflowExecution](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DescribeWorkflowExecution.html)`
+ No puede limitar los parámetros de esta acción.

`[DescribeWorkflowType](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DescribeWorkflowType.html)`
+ `workflowType.name`: restricción de cadena. La clave es `swf:workflowType.name`.
+ `workflowType.version`: restricción de cadena. La clave es `swf:workflowType.version`.

`[GetWorkflowExecutionHistory](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_GetWorkflowExecutionHistory.html)`
+ No puede limitar los parámetros de esta acción.

`[ListActivityTypes](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListActivityTypes.html)`
+ No puede limitar los parámetros de esta acción.

`[ListClosedWorkflowExecutions](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListClosedWorkflowExecutions.html)`
+ `tagFilter.tag`: restricción de cadena. La clave es `swf:tagFilter.tag`
+ `typeFilter.name`: restricción de cadena. La clave es `swf:typeFilter.name`.
+ `typeFilter.version`: restricción de cadena. La clave es `swf:typeFilter.version`. 

**nota**  
`ListClosedWorkflowExecutions` exige que `typeFilter` y `tagFilter` sean mutuamente exclusivos.

`[ListDomains](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListDomains.html)`
+ No puede limitar los parámetros de esta acción.

`[ListOpenWorkflowExecutions](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListOpenWorkflowExecutions.html)`
+ `tagFilter.tag`: restricción de cadena. La clave es `swf:tagFilter.tag`
+ `typeFilter.name`: restricción de cadena. La clave es `swf:typeFilter.name`.
+ `typeFilter.version`: restricción de cadena. La clave es `swf:typeFilter.version`. 

**nota**  
`ListOpenWorkflowExecutions` exige que `typeFilter` y `tagFilter` sean mutuamente exclusivos.

`[ListWorkflowTypes](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListWorkflowTypes.html)`
+ No puede limitar los parámetros de esta acción.

`[PollForActivityTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_PollForActivityTask.html)`
+ `taskList.name`: restricción de cadena. La clave es `swf:taskList.name`.

`[PollForDecisionTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_PollForDecisionTask.html)`
+ `taskList.name`: restricción de cadena. La clave es `swf:taskList.name`.

`[RecordActivityTaskHeartbeat](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RecordActivityTaskHeartbeat.html)`
+ No puede limitar los parámetros de esta acción.

`[RegisterActivityType](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterActivityType.html)`
+ `defaultTaskList.name`: restricción de cadena. La clave es `swf:defaultTaskList.name`. 
+ `name`: restricción de cadena. La clave es `swf:name`.
+ `version`: restricción de cadena. La clave es `swf:version`.

`[RegisterDomain](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterDomain.html)`
+ `name`: el nombre del dominio que se está registrando está disponible como recurso de esta acción. 

`[RegisterWorkflowType](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterWorkflowType.html)`
+ `defaultTaskList.name`: restricción de cadena. La clave es `swf:defaultTaskList.name`. 
+ `name`: restricción de cadena. La clave es `swf:name`.
+ `version`: restricción de cadena. La clave es `swf:version`.

`[RequestCancelWorkflowExecution](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RequestCancelWorkflowExecution.html)`
+ No puede limitar los parámetros de esta acción.

`[RespondActivityTaskCanceled](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskCanceled.html)`
+ No puede limitar los parámetros de esta acción.

`[RespondActivityTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskCompleted.html)`
+ No puede limitar los parámetros de esta acción.

`[RespondActivityTaskFailed](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskFailed.html)`
+ No puede limitar los parámetros de esta acción.

`[RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html)`
+ `decisions.member.N`: restringido indirectamente mediante pseudopermisos de API. Para obtener más información, consulte [Pseudo API](#swf-dev-iam.api.pseudo).

`[SignalWorkflowExecution](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_SignalWorkflowExecution.html)`
+ No puede limitar los parámetros de esta acción.

`[StartWorkflowExecution](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_StartWorkflowExecution.html)`
+ `tagList.member.0`: restricción de cadena. La clave es `swf:tagList.member.0`
+ `tagList.member.1`: restricción de cadena. La clave es `swf:tagList.member.1`
+ `tagList.member.2`: restricción de cadena. La clave es `swf:tagList.member.2`
+ `tagList.member.3`: restricción de cadena. La clave es `swf:tagList.member.3`
+ `tagList.member.4`: restricción de cadena. La clave es `swf:tagList.member.4`
+ `taskList.name`: restricción de cadena. La clave es `swf:taskList.name`.
+ `workflowType.name`: restricción de cadena. La clave es `swf:workflowType.name`.
+ `workflowType.version`: restricción de cadena. La clave es `swf:workflowType.version`.

**nota**  
No puede limitar más de cinco etiquetas.

`[TerminateWorkflowExecution](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_TerminateWorkflowExecution.html)`
+ No puede limitar los parámetros de esta acción.

## Pseudo API
<a name="swf-dev-iam.api.pseudo"></a>

Esta sección indica los miembros de la pseudo API, que representan las decisiones incluidas en `[RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html)`. Si otorga permiso para utilizar `RespondDecisionTaskCompleted`, su política puede expresar permisos para los miembros de esta API de la misma forma que para la API normal. Para limitar aún más algunos miembros de la pseudo API, puede establecer condiciones en uno o más parámetros. Esta sección enumera los miembros de la pseudo API, y describe brevemente los parámetros que se pueden limitar y las claves asociadas.

**nota**  
Las claves `aws:SourceIP`, `aws:UserAgent` y `aws:SecureTransport` no están disponibles para la pseudo API. Si la política de seguridad prevista exige que estas claves controlen el acceso a la pseudo API, puede utilizarlas con la acción `RespondDecisionTaskCompleted`. 

`CancelTimer`
+ No puede limitar los parámetros de esta acción.

`CancelWorkflowExecution`
+ No puede limitar los parámetros de esta acción.

`CompleteWorkflowExecution`
+ No puede limitar los parámetros de esta acción.

`ContinueAsNewWorkflowExecution`
+ `tagList.member.0`: restricción de cadena. La clave es `swf:tagList.member.0`
+ `tagList.member.1`: restricción de cadena. La clave es `swf:tagList.member.1`
+ `tagList.member.2`: restricción de cadena. La clave es `swf:tagList.member.2`
+ `tagList.member.3`: restricción de cadena. La clave es `swf:tagList.member.3`
+ `tagList.member.4`: restricción de cadena. La clave es `swf:tagList.member.4`
+ `taskList.name`: restricción de cadena. La clave es `swf:taskList.name`.
+ `workflowTypeVersion`: restricción de cadena. La clave es `swf:workflowTypeVersion`.

**nota**  
No puede limitar más de cinco etiquetas.

`FailWorkflowExecution`
+ No puede limitar los parámetros de esta acción.

`RecordMarker`
+ No puede limitar los parámetros de esta acción.

`RequestCancelActivityTask`
+ No puede limitar los parámetros de esta acción.

`RequestCancelExternalWorkflowExecution`
+ No puede limitar los parámetros de esta acción.

`ScheduleActivityTask`
+ `activityType.name`: restricción de cadena. La clave es `swf:activityType.name`.
+ `activityType.version`: restricción de cadena. La clave es `swf:activityType.version`.
+ `taskList.name`: restricción de cadena. La clave es `swf:taskList.name`.

`SignalExternalWorkflowExecution`
+ No puede limitar los parámetros de esta acción.

`StartChildWorkflowExecution`
+ `tagList.member.0`: restricción de cadena. La clave es `swf:tagList.member.0`
+ `tagList.member.1`: restricción de cadena. La clave es `swf:tagList.member.1`
+ `tagList.member.2`: restricción de cadena. La clave es `swf:tagList.member.2`
+ `tagList.member.3`: restricción de cadena. La clave es `swf:tagList.member.3`
+ `tagList.member.4`: restricción de cadena. La clave es `swf:tagList.member.4`
+ `taskList.name`: restricción de cadena. La clave es `swf:taskList.name`.
+ `workflowType.name`: restricción de cadena. La clave es `swf:workflowType.name`.
+ `workflowType.version`: restricción de cadena. La clave es `swf:workflowType.version`.

**nota**  
No puede limitar más de cinco etiquetas.

`StartTimer`
+ No puede limitar los parámetros de esta acción.

# Políticas basadas en etiquetas
<a name="tag-based-policies"></a>

Amazon SWF admite políticas basadas en etiquetas. Por ejemplo, puede restringir los dominios de Amazon SWF que incluyan una etiqueta con la clave `environment` y el valor `production` con la siguiente condición:

```
"Condition": {
    "StringEquals": {"aws:ResourceTag/environment": "production"}
}
```

Para obtener más información acerca del etiquetado, consulte:
+ [Etiquetas en Amazon SWF](swf-dev-adv-tags.md)
+ [Control del acceso mediante etiquetas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html)

# Puntos de conexión de VPC de Amazon para Amazon SWF
<a name="swf-vpc-endpoints"></a>

**nota**  
AWS PrivateLink Actualmente, el soporte solo está disponible en las regiones AWS Top Secret: Este, AWS Secret Region y China.

Si utiliza Amazon Virtual Private Cloud (Amazon VPC) para alojar sus AWS recursos, puede establecer una conexión entre sus flujos de trabajo de Amazon VPC y Amazon Simple Workflow Service. Puede utilizar esta conexión con sus flujos de trabajo de Amazon SWF sin cruzar la red de internet pública. 

Amazon VPC le permite lanzar AWS recursos en una red virtual personalizada. Puede utilizar una VPC para controlar la configuración de red, como el intervalo de direcciones IP, las subredes, las tablas de enrutamiento y las puertas de enlace de red. Para obtener más información VPCs, consulte la Guía del [usuario de Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/).

Para conectar Amazon VPC a Amazon SWF, primero debe definir un *punto de conexión de VPC de interfaz*, lo que le permitirá conectar la VPC a otros Servicios de AWS. El punto de conexión ofrece conectividad escalable de confianza sin necesidad de utilizar una gateway de Internet, una instancia de conversión de las direcciones de red (NAT) o una conexión de VPN. Para obtener más información, consulte [Puntos de conexión de VPC de la interfaz (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html) en la *Guía del usuario de Amazon VPC*.

## Creación del punto de conexión
<a name="swf-vpc-endpoint-create"></a>

Puede crear un punto de conexión de Amazon SWF en su VPC mediante Consola de administración de AWS, the AWS Command Line Interface (AWS CLI), un AWS SDK, la API de Amazon SWF o. CloudFormation

Para obtener información sobre la creación y configuración de un punto de conexión mediante la consola de Amazon VPC o la AWS CLI, consulte [Creación de un punto de conexión de interfaz](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint) en la *Guía del usuario de Amazon VPC*.

**nota**  
 Al crear un punto de conexión, especifique que Amazon SWF es el servicio al que desea conectar la VPC. En la consola de Amazon VPC, los nombres de los servicios varían en función de la región de AWS . **Por ejemplo, en la región AWS Top Secret (Este), el nombre del servicio de Amazon SWF es com.amazonaws. us-iso-east-1.swf.**

Para obtener información sobre cómo crear y configurar un punto final mediante CloudFormation, consulte el VPCEndpoint recurso [AWS:EC2:::](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html) en la *Guía del CloudFormation usuario*.

## Políticas de punto de conexión de VPC de Amazon
<a name="swf-vpc-endpoint-policy"></a>

Para controlar el acceso de conectividad a Amazon SWF, puede adjuntar una política de punto final AWS Identity and Access Management (IAM) mientras crea un punto de enlace de Amazon VPC. Puede crear reglas de IAM complejas al asociar varias políticas de punto de conexión. Para obtener más información, consulte:
+  [Políticas de puntos de conexión de Amazon Virtual Private Cloud para Amazon SWF](swf-vpc-iam.md) 
+  [Control del acceso a los servicios con puntos de conexión de VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) 

# Políticas de puntos de conexión de Amazon Virtual Private Cloud para Amazon SWF
<a name="swf-vpc-iam"></a>

Puede crear una política para los puntos de conexión de VPC de Amazon para Amazon SWF donde especifique lo siguiente:
+ La **entidad principal** que puede realizar acciones.
+ Las acciones que se pueden realizar.
+ El recurso en el que se pueden realizar las acciones.

En el siguiente ejemplo, se añade una función de IAM específica a una política:

```
"Principal": {
   "AWS": "arn:aws:iam::123456789012:role/MyRole"
}
```
+ Para obtener más información sobre cómo crear políticas de puntos de conexión, consulte [Controlar el acceso a servicios con puntos de conexión de VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html).
+ Para obtener información sobre cómo puede utilizar IAM para controlar el acceso a sus recursos AWS y a los de Amazon SWF, consulte. [Identity and Access Management en Amazon Simple Workflow Service](swf-dev-iam.md)

# Solución de problemas de identidad y acceso de Amazon Simple Workflow Service
<a name="security_iam_troubleshoot"></a>

Utilice la siguiente información para diagnosticar y solucionar los problemas habituales que puedan surgir al trabajar con Amazon SWF e IAM.

**Topics**
+ [No tengo autorización para realizar una acción en Amazon SWF](#security_iam_troubleshoot-no-permissions)
+ [No estoy autorizado a realizar tareas como: PassRole](#security_iam_troubleshoot-passrole)
+ [Quiero permitir que personas ajenas a mí accedan Cuenta de AWS a mis recursos de Amazon SWF](#security_iam_troubleshoot-cross-account-access)

## No tengo autorización para realizar una acción en Amazon SWF
<a name="security_iam_troubleshoot-no-permissions"></a>

Si recibe un error que indica que no tiene autorización para realizar una acción, las políticas se deben actualizar para permitirle realizar la acción.

En el siguiente ejemplo, el error se produce cuando el usuario `mateojackson` intenta utilizar la consola para consultar los detalles acerca de un recurso ficticio `my-example-widget`, pero no tiene los permisos ficticios `swf:GetWidget`.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: swf:GetWidget on resource: my-example-widget
```

En este caso, la política de Mateo se debe actualizar para permitirle acceder al recurso `my-example-widget` mediante la acción `swf:GetWidget`.

Si necesita ayuda, póngase en contacto con su AWS administrador. El administrador es la persona que le proporcionó las credenciales de inicio de sesión.

## No estoy autorizado a realizar tareas como: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Si recibe un error que indica que no tiene autorización para llevar a cabo la acción `iam:PassRole`, las políticas se deben actualizar para permitirle pasar un rol a Amazon SWF.

Algunas Servicios de AWS permiten transferir una función existente a ese servicio en lugar de crear una nueva función de servicio o una función vinculada a un servicio. Para ello, debe tener permisos para transferir la función al servicio.

En el siguiente ejemplo, el error se produce cuando un usuario de IAM denominado `marymajor` intenta utilizar la consola para realizar una acción en Amazon SWF. Sin embargo, la acción requiere que el servicio cuente con permisos que otorguen un rol de servicio. Mary no tiene permisos para transferir el rol al servicio.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

En este caso, las políticas de Mary se deben actualizar para permitirle realizar la acción `iam:PassRole`.

Si necesita ayuda, póngase en contacto con su AWS administrador. El administrador es la persona que le proporcionó las credenciales de inicio de sesión.

## Quiero permitir que personas ajenas a mí accedan Cuenta de AWS a mis recursos de Amazon SWF
<a name="security_iam_troubleshoot-cross-account-access"></a>

Se puede crear un rol que los usuarios de otras cuentas o las personas externas a la organización puedan utilizar para acceder a sus recursos. Se puede especificar una persona de confianza para que asuma el rol. En el caso de los servicios que admiten políticas basadas en recursos o listas de control de acceso (ACLs), puede utilizar esas políticas para permitir que las personas accedan a sus recursos.

Para obtener más información, consulte lo siguiente:
+ Para saber si Amazon SWF admite estas características, consulte [Cómo funciona Amazon Simple Workflow Service con IAM](security_iam_service-with-iam.md).
+ Para obtener información sobre cómo proporcionar acceso a los recursos de su Cuentas de AWS propiedad, consulte [Proporcionar acceso a un usuario de IAM en otro de su propiedad en la Cuenta de AWS Guía del usuario](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) de *IAM*.
+ Para obtener información sobre cómo proporcionar acceso a tus recursos a terceros Cuentas de AWS, consulta Cómo [proporcionar acceso a recursos que Cuentas de AWS son propiedad de terceros](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) en la Guía del usuario de *IAM*.
+ Para obtener información sobre cómo proporcionar acceso mediante una federación de identidades, consulte [Proporcionar acceso a usuarios autenticados externamente (identidad federada)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) en la *Guía del usuario de IAM*.
+ Para conocer sobre la diferencia entre las políticas basadas en roles y en recursos para el acceso entre cuentas, consulte [Acceso a recursos entre cuentas en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) en la *Guía del usuario de IAM*.