AWS Cloud9 ya no está disponible para los nuevos clientes. Los clientes existentes de AWS Cloud9 pueden seguir utilizando el servicio con normalidad. Más información
Administración de identidades y accesos para AWS Cloud9
AWS Identity and Access Management (IAM) es un Servicio de AWS que ayuda a los administradores a controlar de forma segura el acceso a los recursos de AWS. Los administradores de IAM controlan quién está autenticado (ha iniciado sesión) y autorizado (tiene permisos) para utilizar recursos de AWS Cloud9. IAM es un Servicio de AWS que se puede utilizar sin cargo adicional.
Temas
- Público
- Autenticación con identidades
- Administración de acceso mediante políticas
- Cómo AWS Cloud9 funciona con IAM
- Ejemplos de políticas basadas en identidades de AWS Cloud9
- Solución de problemas de identidades de AWS Cloud9 y accesos
- Cómo funciona AWS Cloud9 con los recursos y las operaciones de IAM
- Políticas administradas de AWS para AWS Cloud9
- Creación de políticas administradas por el cliente para AWS Cloud9
- Referencia de permisos de AWS Cloud9
- Credenciales temporales administradas por AWS
Público
La forma en que utilice AWS Identity and Access Management (IAM) difiere en función del trabajo que realice en AWS Cloud9.
Usuario de servicio: si utiliza el servicio de AWS Cloud9 para realizar su trabajo, su administrador le proporciona las credenciales y los permisos que necesita. A medida que utilice más características de AWS Cloud9 para realizar su trabajo, es posible que necesite permisos adicionales. Entender cómo se administra el acceso puede ayudarlo a solicitar los permisos correctos al administrador. Si no puede acceder a una característica en AWS Cloud9, consulte Solución de problemas de identidades de AWS Cloud9 y accesos.
Administrador de servicio: si está a cargo de los recursos de AWS Cloud9 en su empresa, probablemente tenga acceso completo a AWS Cloud9. Su trabajo consiste en determinar a qué características y recursos de AWS Cloud9 deben acceder los usuarios del servicio. A continuación, debe enviar solicitudes a su administrador de IAM para cambiar los permisos de los usuarios de sus servicios. Revise la información de esta página para conocer los conceptos básicos de IAM. Para obtener más información sobre cómo su empresa puede utilizar IAM con AWS Cloud9, consulte Cómo AWS Cloud9 funciona con IAM.
Administrador de IAM: si es un administrador de IAM, es posible que quiera conocer más detalles sobre cómo escribir políticas para administrar el acceso a AWS Cloud9. Para consultar ejemplos de políticas basadas en identidad de AWS Cloud9 que puede utilizar en IAM, consulte Ejemplos de políticas basadas en identidades de AWS Cloud9.
Autenticación con identidades
La autenticación es la manera de iniciar sesión en AWS mediante credenciales de identidad. Debe estar autenticado (haber iniciado sesión en AWS) como Usuario raíz de la cuenta de AWS, como un usuario de IAM o asumiendo un rol de IAM.
Puede iniciar sesión en AWS como una identidad federada mediante las credenciales proporcionadas a través de una fuente de identidad. AWS IAM Identity Center Los usuarios (del Centro de identidades de IAM), la autenticación de inicio de sesión único de su empresa y sus credenciales de Google o Facebook son ejemplos de identidades federadas. Al iniciar sesión como una identidad federada, su administrador habrá configurado previamente la federación de identidades mediante roles de IAM. Cuando accede a AWS mediante la federación, está asumiendo un rol de forma indirecta.
Según el tipo de usuario que sea, puede iniciar sesión en AWS Management Console o en el portal de acceso AWS. Para obtener más información sobre el inicio de sesión en AWS, consulte Cómo iniciar sesión en su Cuenta de AWS en la Guía del usuario de AWS Sign-In.
Si accede a AWS mediante programación, AWS proporciona un kit de desarrollo de software (SDK) y una interfaz de la línea de comandos (CLI) para firmar criptográficamente las solicitudes mediante el uso de las credenciales. Si no usa las herramientas de AWS, debe firmar las solicitudes. Para obtener más información sobre cómo usar el método recomendado para firmar las solicitudes por su cuenta, consulte AWS Signature Version 4 para solicitudes de API en la Guía del usuario de IAM.
Independientemente del método de autenticación que use, es posible que deba proporcionar información de seguridad adicional. Por ejemplo, AWS le recomienda el uso de la autenticación multifactor (MFA) para aumentar la seguridad de su cuenta. Para obtener más información, consulte Autenticación multifactor en la AWS IAM Identity CenterGuía del usuario y AWS Autenticación multifactor en IAM en la Guía del usuario de IAM.
Usuario raíz de Cuenta de AWS
Cuando se crea una Cuenta de AWS, se comienza con una identidad de inicio de sesión que tiene acceso completo a todos los recursos y Servicios de AWS de la cuenta. Esta identidad recibe el nombre de usuario raíz de la Cuenta de AWS y se accede a ella iniciando sesión con el email y la contraseña que utilizó para crear la cuenta. Recomendamos encarecidamente que no utilice el usuario raíz para sus tareas diarias. Proteja las credenciales del usuario raíz y utilícelas solo para las tareas que solo el usuario raíz pueda realizar. Para ver la lista completa de las tareas que requieren que inicie sesión como usuario raíz, consulte Tareas que requieren credenciales de usuario raíz en la Guía del usuario de IAM.
Identidad federada
Como práctica recomendada, solicite que los usuarios humanos, incluidos los que requieren acceso de administrador, utilicen la federación con un proveedor de identidades para acceder a los Servicios de AWS utilizando credenciales temporales.
Una identidad federada es un usuario del directorio de usuarios de su empresa, un proveedor de identidad web, el AWS Directory Service, el directorio del Identity Center, o cualquier usuario que acceda a Servicios de AWS utilizando credenciales proporcionadas a través de una fuente de identidad. Cuando identidades federadas acceden a Cuentas de AWS, asumen roles y los roles proporcionan credenciales temporales.
Para una administración de acceso centralizada, le recomendamos que utilice AWS IAM Identity Center. Puede crear usuarios y grupos en el IAM Identity Center o puede conectarse y sincronizar con un conjunto de usuarios y grupos de su propia fuente de identidad para usarlos en todas sus aplicaciones y Cuentas de AWS. Para obtener más información, consulte ¿Qué es el Centro de identidades de IAM? en la Guía del usuario de AWS IAM Identity Center.
Usuarios y grupos de IAM
Un usuario de IAM es una identidad de la Cuenta de AWSque dispone de permisos específicos para una sola persona o aplicación. Siempre que sea posible, recomendamos emplear credenciales temporales, en lugar de crear usuarios de IAM que tengan credenciales de larga duración como contraseñas y claves de acceso. No obstante, si tiene casos de uso específicos que requieran credenciales de larga duración con usuarios de IAM, recomendamos rotar las claves de acceso. Para más información, consulte Rotar las claves de acceso periódicamente para casos de uso que requieran credenciales de larga duración en la Guía del usuario de IAM.
Un grupo de IAM es una identidad que especifica un conjunto de usuarios de IAM. No puede iniciar sesión como grupo. Puede usar los grupos para especificar permisos para varios usuarios a la vez. Los grupos facilitan la administración de los permisos de grandes conjuntos de usuarios. Por ejemplo, podría tener un grupo cuyo nombre fuese IAMAdmins y conceder permisos a dicho grupo para administrar los recursos de IAM.
Los usuarios son diferentes de los roles. Un usuario se asocia exclusivamente a una persona o aplicación, pero la intención es que cualquier usuario pueda asumir un rol que necesite. Los usuarios tienen credenciales de larga duración permanentes; no obstante, los roles proporcionan credenciales temporales. Para obtener más información, consulte Casos de uso para usuarios de IAM en la Guía del usuario de IAM.
Roles de IAM
Un rol de IAM es una identidad de la Cuenta de AWSque dispone de permisos específicos. Es similar a un usuario de IAM, pero no está asociado a una determinada persona. Para asumir temporalmente un rol de IAM en la AWS Management Console, puede cambiar de un rol de usuario a un rol de IAM (consola). Puede asumir un rol llamando a una operación de la AWS CLI o de la API de AWS, o utilizando una URL personalizada. Para más información sobre los métodos para el uso de roles, consulte Métodos para asumir un rol en la Guía del usuario de IAM.
Los roles de IAM con credenciales temporales son útiles en las siguientes situaciones:
-
Acceso de usuario federado: para asignar permisos a una identidad federada, puede crear un rol y definir sus permisos. Cuando se autentica una identidad federada, se asocia la identidad al rol y se le conceden los permisos define el rol. Para obtener información acerca de roles para federación, consulte Creación de un rol para un proveedor de identidades de terceros en la Guía del usuario de IAM. Si utiliza IAM Identity Center, debe configurar un conjunto de permisos. IAM Identity Center correlaciona el conjunto de permisos con un rol en IAM para controlar a qué pueden acceder las identidades después de autenticarse. Para obtener información acerca de los conjuntos de permisos, consulte Conjuntos de permisos en la Guía del usuario de AWS IAM Identity Center.
-
Permisos de usuario de IAM temporales: un usuario de IAM puede asumir un rol de IAM para recibir temporalmente permisos distintos que le permitan realizar una tarea concreta.
-
Acceso entre cuentas: puede utilizar un rol de IAM para permitir que alguien (una entidad principal de confianza) de otra cuenta acceda a los recursos de la cuenta. Los roles son la forma principal de conceder acceso entre cuentas. No obstante, con algunos Servicios de AWS se puede adjuntar una política directamente a un recurso (en lugar de utilizar un rol como representante). Para obtener información acerca de la diferencia entre los roles y las políticas basadas en recursos para el acceso entre cuentas, consulte Acceso a recursos entre cuentas en IAM en la Guía del usuario de IAM.
-
Acceso entre servicios: algunos Servicios de AWS utilizan características de otros Servicios de AWS. Por ejemplo, cuando realiza una llamada en un servicio, es común que ese servicio ejecute aplicaciones en Amazon EC2 o almacene objetos en Amazon S3. Es posible que un servicio haga esto usando los permisos de la entidad principal, usando un rol de servicio o usando un rol vinculado a servicios.
-
Reenviar sesiones de acceso (FAS): cuando utiliza un rol o un usuario de IAM para llevar a cabo acciones en AWS, se le considera una entidad principal. Cuando utiliza algunos servicios, es posible que realice una acción que desencadene otra acción en un servicio diferente. FAS utiliza los permisos de la entidad principal para llamar a un Servicio de AWS, combinados con el Servicio de AWS solicitante para realizar solicitudes a servicios posteriores. Las solicitudes de FAS solo se realizan cuando un servicio recibe una solicitud que requiere interacciones con otros Servicios de AWS o recursos para completarse. En este caso, debe tener permisos para realizar ambas acciones. Para obtener información sobre las políticas a la hora de realizar solicitudes de FAS, consulte Reenviar sesiones de acceso.
-
Rol de servicio: un rol de servicio es un rol de IAM que adopta 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 Creación de un rol para delegar permisos a un Servicio de AWS en la Guía del usuario de IAM.
-
Rol vinculado a los servicios: un rol vinculado a servicios 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 a servicios aparecen en la 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.
-
-
Aplicaciones que se ejecutan en Amazon EC2: puede utilizar un rol de IAM que le permita administrar credenciales temporales para las aplicaciones que se ejecutan en una instancia de EC2 y realizan solicitudes a la AWS CLI o a la API de AWS. Es preferible hacerlo de este modo a almacenar claves de acceso en la instancia de EC2. Para asignar un rol de AWS a una instancia de EC2 y ponerla a disposición de todas las aplicaciones, cree un perfil de instancia adjuntado a la instancia. Un perfil de instancia contiene el rol y permite a los programas que se ejecutan en la instancia de EC2 obtener credenciales temporales. Para más información, consulte Uso de un rol de IAM para conceder permisos a aplicaciones que se ejecutan en instancias Amazon EC2 en la Guía del usuario de IAM.
Administración de acceso mediante políticas
Para controlar el acceso en AWS, se crean políticas y se adjuntan a identidades o recursos de AWS. Una política es un objeto de AWS que, cuando se asocia a una identidad o un recurso, define sus permisos. AWS evalúa estas políticas cuando una entidad principal (sesión de rol, usuario o usuario raíz) realiza una solicitud. Los permisos en las políticas determinan si la solicitud se permite o se deniega. La mayoría de las políticas se almacenan en AWS como documentos JSON. Para obtener más información sobre la estructura y el contenido de los documentos de política JSON, consulte Información general de políticas JSON en la Guía del usuario de IAM.
Los administradores pueden utilizar las políticas JSON de AWS para especificar quién tiene acceso a qué. Es decir, qué entidad principal puede realizar acciones en qué recursos y en qué condiciones.
De forma predeterminada, los usuarios y los roles no tienen permisos. Un administrador de IAM puede crear políticas de IAM para conceder permisos a los usuarios para realizar acciones en los recursos que necesitan. A continuación, el administrador puede añadir las políticas de IAM a roles y los usuarios pueden asumirlos.
Las políticas de IAM definen permisos para una acción independientemente del método que se utilice para realizar la operación. Por ejemplo, suponga que dispone de una política que permite la acción iam:GetRole
. Un usuario con dicha política puede obtener información del usuario de la AWS Management Console, la AWS CLI o la API de AWS.
Políticas basadas en identidades
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 información sobre cómo crear una política basada en identidades, consulte Definición de permisos de IAM personalizados con políticas administradas por el cliente en la Guía del usuario de IAM.
Las políticas basadas en identidades pueden clasificarse además como políticas insertadas o políticas administradas. Las políticas insertadas se integran directamente en un único usuario, grupo o rol. Las políticas administradas son políticas independientes que puede adjuntar a varios usuarios, grupos y roles de su Cuenta de AWS. Las políticas administradas incluyen las políticas administradas de AWS y las políticas administradas por el cliente. Para obtener información sobre cómo elegir entre una política administrada o una política insertada, consulte Elección entre políticas gestionadas y políticas insertadas en la Guía del usuario de IAM.
Políticas basadas en recursos
Las políticas basadas en recursos son documentos de política JSON que se asocian a un recurso. 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 en una política en función de recursos. Las entidades principales pueden incluir cuentas, usuarios, roles, usuarios federados o Servicios de AWS.
Las políticas basadas en recursos son políticas insertadas que se encuentran en ese servicio. No se puede utilizar políticas de IAM administradas de AWS en una política basada en recursos.
Listas de control de acceso (ACL)
Las listas de control de acceso (ACL) controlan qué entidades principales (miembros de cuentas, usuarios o roles) tienen permisos para acceder a un recurso. Las ACL son similares a las políticas basadas en recursos, aunque no utilizan el formato de documento de políticas JSON.
Amazon S3, AWS WAF y Amazon VPC son ejemplos de servicios que admiten las ACL. Para obtener más información sobre las ACL, consulte Información general de Lista de control de acceso (ACL) en la Guía para desarrolladores de Amazon Simple Storage Service.
Otros tipos de políticas
AWS admite otros tipos de políticas adicionales menos frecuentes. Estos tipos de políticas pueden establecer el máximo de permisos que los tipos de políticas más frecuentes le conceden.
-
Límites de permisos: un límite de permisos es una característica avanzada que le permite establecer los permisos máximos que una política basada en identidad puede conceder a una entidad de IAM (usuario o rol de IAM). Puede establecer un límite de permisos para una entidad. Los permisos resultantes son la intersección de las políticas basadas en la identidad de la entidad y los límites de permisos. Las políticas basadas en recursos que especifiquen el usuario o rol en el campo
Principal
no estarán restringidas por el límite de permisos. Una denegación explícita en cualquiera de estas políticas anulará el permiso. Para obtener más información sobre los límites de los permisos, consulte Límites de permisos para las entidades de IAM en la Guía del usuario de IAM. -
Políticas de control de servicio (SCP): las SCP son políticas de JSON que especifican los permisos máximos de una organización o una unidad organizativa en AWS Organizations. AWS Organizations es un servicio que le permite agrupar y administrar de manera centralizada varias Cuentas de AWS que posea su empresa. Si habilita todas las características en una empresa, entonces podrá aplicar políticas de control de servicio (SCP) a una o todas sus cuentas. Una SCP limita los permisos para las entidades de las cuentas de miembros, incluido cada Usuario raíz de la cuenta de AWS. Para obtener más información acerca de SCP y Organizations, consulte Políticas de control de servicios en la Guía del usuario de AWS Organizations.
-
Políticas de sesión: las políticas de sesión son políticas avanzadas que se pasan como parámetro cuando se crea una sesión temporal mediante programación para un rol o un usuario federado. Los permisos de la sesión resultantes son la intersección de las políticas basadas en identidades del rol y las políticas de la sesión. Los permisos también pueden proceder de una política en función de recursos. Una denegación explícita en cualquiera de estas políticas anulará el permiso. Para más información, consulte Políticas de sesión en la Guía del usuario de IAM.
Varios tipos de políticas
Cuando se aplican varios tipos de políticas a una solicitud, los permisos resultantes son más complicados de entender. Para obtener información acerca de cómo AWS decide si permitir o no una solicitud cuando hay varios tipos de políticas implicados, consulte Lógica de evaluación de políticas en la Guía del usuario de IAM.
Cómo AWS Cloud9 funciona con IAM
Antes de utilizar IAM para administrar el acceso a AWS Cloud9, conozca qué características de IAM se pueden utilizar con AWS Cloud9.
Característica de IAM | Compatibilidad con AWS Cloud9 |
---|---|
Sí |
|
No |
|
Sí |
|
Sí |
|
Sí |
|
No |
|
Sí |
|
Sí |
|
Sí |
|
Sí |
|
Sí |
Para obtener una perspectiva general sobre cómo funcionan AWS Cloud9 y otros servicios de AWS con las características de IAM, consulte Servicios de AWS que funcionan con IAM en la Guía del usuario de IAM.
Políticas de AWS Cloud9 basadas en identidades
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 información sobre cómo crear una política basada en identidades, consulte Definición de permisos de IAM personalizados con políticas administradas por el cliente 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. No es posible especificar la entidad principal en una política basada en identidad porque se aplica al usuario o rol al que está adjunto. Para más información sobre los elementos que puede utilizar en una política de JSON, consulte Referencia de los elementos de las políticas de JSON de IAM en la Guía del usuario de IAM.
Ejemplos de políticas basadas en identidades de AWS Cloud9
Para ver ejemplos de políticas basadas en identidad de AWS Cloud9, consulte Ejemplos de políticas basadas en identidades de AWS Cloud9.
Políticas basadas en recursos de AWS Cloud9
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. 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 en una política en función de recursos. Las entidades 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. Añadir a una política en función de recursos una entidad principal entre cuentas es solo una parte del establecimiento de una relación de confianza. Cuando la entidad principal y el recurso se encuentran en Cuentas de AWS diferentes, un administrador de IAM de la cuenta de confianza también debe conceder a la entidad principal (usuario o rol) permiso para acceder al recurso. Para conceder el permiso, adjunte la entidad a una política basada en identidad. Sin embargo, si la política en función de recursos concede el acceso a una entidad principal de la misma cuenta, no es necesaria una política basada en identidad adicional. Para más información, consulte Cross account resource access in IAM en la Guía del usuario de IAM.
AWS Cloud9 no admite políticas basadas en recursos, pero puede seguir controlando los permisos de recursos del entorno de AWS Cloud9 para los miembros del entorno de AWS Cloud9 a través de la API de AWS Cloud9 y el IDE de AWS Cloud9.
Acciones de política para AWS Cloud9
Compatibilidad con las acciones de política: sí
Los administradores pueden utilizar las políticas JSON de AWS 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. Las acciones de la política generalmente tienen el mismo nombre que la operación de API de AWS asociada. Hay algunas excepciones, como acciones de solo permiso que no tienen una operación de API coincidente. También hay algunas operaciones que requieren varias acciones en una política. Estas acciones adicionales se denominan acciones dependientes.
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 AWS Cloud9, consulte Acciones definidas por AWS Cloud9 en la Referencia de autorizaciones de servicio.
Las acciones de políticas de AWS Cloud9 utilizan el siguiente prefijo antes de la acción:
account
Para especificar varias acciones en una única instrucción, sepárelas con comas.
"Action": [ "account:
action1
", "account:action2
" ]
Para ver ejemplos de políticas basadas en identidad de AWS Cloud9, consulte Ejemplos de políticas basadas en identidades de AWS Cloud9.
Recursos de políticas para AWS Cloud9
Compatibilidad con los recursos de políticas: sí
Los administradores pueden utilizar las políticas JSON de AWS 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. Las instrucciones deben contener un elemento Resource
o NotResource
. Como práctica recomendada, especifique un recurso utilizando el Nombre de recurso de Amazon (ARN). Puede hacerlo para acciones que admitan un tipo de recurso específico, conocido como permisos de nivel de recurso.
Para las acciones que no admiten permisos de nivel de recurso, como las operaciones de descripción, utilice un carácter comodín (*) para indicar que la instrucción se aplica a todos los recursos.
"Resource": "*"
Para ver una lista de los tipos de recursos de AWS Cloud9 y sus ARN, consulte Recursos definidos por AWS Cloud9 en la Referencia de autorizaciones de servicio. Para obtener información sobre las acciones con las que puede especificar el ARN de cada recurso, consulte Acciones definidas por AWS Cloud9.
Para ver ejemplos de políticas basadas en identidad de AWS Cloud9, consulte Ejemplos de políticas basadas en identidades de AWS Cloud9.
Claves de condición de políticas para AWS Cloud9
Compatibilidad con claves de condición de políticas específicas del servicio: sí
Los administradores pueden utilizar las políticas JSON de AWS 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
(o bloque de Condition
) permite especificar condiciones en las que entra en vigor una instrucción. El elemento Condition
es opcional. Puede crear expresiones condicionales que utilicen operadores de condición, tales como igual o menor que, para que la condición de la política coincida con los valores de la solicitud.
Si especifica varios elementos de Condition
en una instrucción o varias claves en un único elemento de Condition
, AWS las evalúa mediante una operación AND
lógica. Si especifica varios valores para una única clave de condición, AWS evalúa la condición con una operación lógica OR
. Se deben cumplir todas las condiciones antes de que se concedan los permisos de la instrucción.
También puede utilizar variables de marcador de posición al especificar condiciones. Por ejemplo, puede conceder un permiso de usuario de IAM para acceder a un recurso solo si está etiquetado con su nombre de usuario de IAM. Para más información, consulte Elementos de la política de IAM: variables y etiquetas en la Guía del usuario de IAM.
AWS admite claves de condición globales y claves de condición específicas del servicio. Para ver todas las claves de condición globales de AWS, consulte Claves de contexto de condición globales de AWSen la Guía del usuario de IAM.
Para ver una lista de las claves de condición de AWS Cloud9, consulte Claves de condición para AWS Cloud9 en la Referencia de autorizaciones de servicio. Para obtener más información sobre las acciones y los recursos con los que puede utilizar una clave de condición, consulte Acciones definidas por AWS Cloud9.
Para ver ejemplos de políticas basadas en identidad de AWS Cloud9, consulte Ejemplos de políticas basadas en identidades de AWS Cloud9.
ACL en AWS Cloud9
Compatibilidad con ACL: no
Las listas de control de acceso (ACL) controlan qué entidades principales (miembros de cuentas, usuarios o roles) tienen permisos para acceder a un recurso. Las ACL son similares a las políticas basadas en recursos, aunque no utilizan el formato de documento de políticas JSON.
ABAC con AWS Cloud9
Admite ABAC (etiquetas en las políticas): sí
El control de acceso basado en atributos (ABAC) es una estrategia de autorización que define permisos en función de atributos. En AWS, estos atributos se denominan etiquetas. Puede adjuntar etiquetas a entidades de IAM (usuarios o roles) y a muchos recursos de AWS. El etiquetado de entidades y recursos es el primer paso de ABAC. A continuación, designa las políticas de ABAC para permitir operaciones cuando la etiqueta de la entidad principal coincida con la etiqueta del recurso al que se intenta acceder.
ABAC es útil en entornos que crecen con rapidez y ayuda en situaciones en las que la administración de las políticas resulta engorrosa.
Para controlar el acceso en función de etiquetas, debe proporcionar información de las etiquetas en el elemento de condición de una política utilizando las claves de condición aws:ResourceTag/
, key-name
aws:RequestTag/
o key-name
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 Definir permisos con la autorización de ABAC 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) en la Guía del usuario de IAM.
Uso de credenciales temporales con AWS Cloud9
Compatibilidad con credenciales temporales: sí
Algunos Servicios de AWS no funcionan cuando inicia sesión con credenciales temporales. Para obtener información adicional, incluida la información sobre qué Servicios de AWS funcionan con credenciales temporales, consulte Servicios de AWS que funcionan con IAM en la Guía del usuario de IAM.
Utiliza credenciales temporales si inicia sesión en la AWS Management Console con cualquier método, excepto un nombre de usuario y una contraseña. Por ejemplo, cuando accede a AWS utilizando el enlace de inicio de sesión único (SSO) de la empresa, ese proceso crea automáticamente credenciales temporales. También crea automáticamente credenciales temporales cuando inicia sesión en la consola como usuario y luego cambia de rol. Para más información sobre el cambio de roles, consulte Cambiar de usuario a un rol de IAM (consola) en la Guía del usuario de IAM.
Puede crear credenciales temporales de forma manual mediante la AWS CLI o la API de AWS. A continuación, puede usar esas credenciales temporales para acceder a AWS. AWS recomienda generar credenciales temporales de forma dinámica en lugar de usar claves de acceso a largo plazo. Para más información, consulte Credenciales de seguridad temporales en IAM.
Sesiones de acceso directo para AWS Cloud9
Admite sesiones de acceso directo (FAS): sí
Cuando utiliza un usuario o un rol de IAM para llevar a cabo acciones en AWS, se lo considera una entidad principal. Cuando utiliza algunos servicios, es posible que realice una acción que desencadene otra acción en un servicio diferente. FAS utiliza los permisos de la entidad principal para llamar a un Servicio de AWS, combinados con el Servicio de AWS solicitante para realizar solicitudes a servicios posteriores. Las solicitudes de FAS solo se realizan cuando un servicio recibe una solicitud que requiere interacciones con otros Servicios de AWS o recursos para completarse. En este caso, debe tener permisos para realizar ambas acciones. Para obtener información sobre las políticas a la hora de realizar solicitudes de FAS, consulte Reenviar sesiones de acceso.
Roles de servicio para AWS Cloud9
Compatibilidad con roles de servicio: sí
Un rol de servicio es un rol de IAM 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 Creación de un rol para delegar permisos a un Servicio de AWS en la Guía del usuario de IAM.
aviso
Cambiar los permisos de un rol de servicio podría interrumpir la funcionalidad de AWS Cloud9. Edite los roles de servicio sólo cuando AWS Cloud9 proporcione orientación para hacerlo.
Roles vinculados a servicios de AWS Cloud9
Admite roles vinculados al servicio: sí
Un rol vinculado al 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 a servicios aparecen en la 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, consulte Servicios de AWS que funcionan con IAM. 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.
Ejemplos de políticas basadas en identidades de AWS Cloud9
De forma predeterminada, los usuarios y roles no tienen permiso para crear, ver ni modificar recursos de AWS Cloud9. Tampoco pueden realizar tareas mediante la AWS Management Console, la AWS Command Line Interface (AWS CLI) o la API de AWS. Un administrador de IAM puede crear políticas de IAM para conceder permisos a los usuarios para realizar acciones en los recursos que necesitan. A continuación, el administrador puede añadir las políticas de IAM a roles y los usuarios pueden asumirlos.
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 en la Guía del usuario de IAM.
Para obtener más información sobre las acciones y los tipos de recursos definidos por AWS Cloud9, incluido el formato de los ARN para cada tipo de recurso, consulte Acciones, recursos y claves de condición para AWS Cloud9 en la Referencia de autorizaciones de servicio.
Temas
Prácticas recomendadas sobre las políticas
Las políticas basadas en identidades determinan si alguien puede crear, acceder o eliminar los recursos de AWS Cloud9 de la cuenta. Estas acciones pueden generar costes 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 administradas por AWSy continúe con los permisos de privilegio mínimo: a fin de comenzar a conceder permisos a los usuarios y las cargas de trabajo, utilice las políticas administradas por AWS, que conceden permisos para muchos casos de uso comunes. Están disponibles en su Cuenta de AWS. Se recomienda definir políticas administradas por el cliente de AWS específicas para sus casos de uso a fin de reducir aún más los permisos. Con el fin de obtener más información, consulte las políticas administradas por AWS o las políticas administradas por AWS para funciones de trabajo 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 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 puede usar condiciones para conceder acceso a acciones de servicios si se emplean a través de un Servicio de AWS determinado como, por ejemplo, AWS CloudFormation. Para obtener más información, consulte Elementos de la política de JSON de IAM: Condición en la Guía del usuario de IAM.
-
Utilice 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, consulta Validación de políticas mediante el Analizador de acceso de IAM en la Guía de usuario de IAM.
-
Solicite la autenticación multifactor (MFA): si se encuentra en una situación en la que necesita usuarios raíz o de IAM en su Cuenta de AWS, active la MFA para mayor seguridad. Para solicitar la MFA cuando se invocan las operaciones de la API, agregue las condiciones de la MFA a sus políticas. Para más información, consulte Acceso seguro a la API con MFA en la Guía de usuario de IAM.
Para obtener más información sobre las prácticas recomendadas de IAM, consulte las Prácticas recomendadas de seguridad en IAM en la Guía del usuario de IAM.
Mediante la consola de AWS Cloud9
Para acceder a la consola de AWS Cloud9, debe tener un conjunto mínimo de permisos. Estos permisos deben permitirle enumerar y consultar los detalles sobre los recursos de AWS Cloud9 en su 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 es necesario que conceda permisos mínimos para la consola a los usuarios que solo realizan llamadas a la AWS CLI o a la API de AWS. En su lugar, permite acceso únicamente a las acciones que coincidan con la operación de API que intentan realizar.
Para asegurarse de que los usuarios y los roles puedan seguir utilizando la consola de AWS Cloud9, asocie también a las entidades la política administrada por AWS Cloud9
o ConsoleAccess
AWS. Para más información, consulte Adición de permisos a un usuario en la Guía del usuario de IAM:ReadOnly
Cómo permitir a los usuarios consultar sus propios permisos
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 llevar a cabo esta acción en la consola o mediante programación con la AWS CLI o la API de 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": "*" } ] }
Solución de problemas de identidades de AWS Cloud9 y accesos
Utilice la siguiente información para diagnosticar y solucionar los problemas comunes que puedan surgir cuando trabaje con AWS Cloud9 e IAM.
Temas
No tengo autorización para realizar una acción en AWS Cloud9
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 de IAM mateojackson
intenta utilizar la consola para consultar los detalles acerca de un recurso ficticio
, pero no tiene los permisos ficticios my-example-widget
awes:
.GetWidget
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: awes:GetWidget
on resource:my-example-widget
En este caso, la política del usuario mateojackson
debe actualizarse para permitir el acceso al recurso
mediante la acción my-example-widget
awes:
.GetWidget
Si necesita ayuda, póngase en contacto con su administrador de AWS. El administrador es la persona que le proporcionó las credenciales de inicio de sesión.
No tengo autorización para realizar la operación iam:PassRole
Si recibe un error que indica que no tiene autorización para realizar la acción iam:PassRole
, las políticas deben actualizarse a fin de permitirle pasar un rol a AWS Cloud9.
Algunos servicios de AWS le permiten transferir un rol existente a dicho servicio en lugar de crear un nuevo rol de servicio o uno vinculado al servicio. Para ello, debe tener permisos para transferir el rol 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 AWS Cloud9. 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 administrador de AWS. El administrador es la persona que le proporcionó las credenciales de inicio de sesión.
Quiero permitir a personas externas a mi Cuenta de AWS el acceso a mis recursos de AWS
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. Puede especificar una persona de confianza para que asuma el rol. En el caso de los servicios que admitan las políticas basadas en recursos o las listas de control de acceso (ACL), puede utilizar dichas políticas para conceder a las personas acceso a sus recursos.
Para más información, consulte lo siguiente:
-
Para obtener información acerca de si AWS Cloud9 admite estas características, consulte Cómo AWS Cloud9 funciona con IAM.
-
Para obtener información acerca de cómo proporcionar acceso a los recursos de las Cuenta de AWS de su propiedad, consulte Proporcionar acceso a un usuario de IAM a otra cuenta de AWS de la que es propietario en la Guía del usuario de IAM.
-
Para obtener información acerca de cómo proporcionar acceso a tus recursos a Cuentas de AWS de terceros, consulte Proporcionar acceso a Cuentas de AWS que son propiedad de terceros 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) en la Guía del usuario de IAM.
-
Para conocer sobre la diferencia entre los roles y las políticas basadas en recursos para el acceso entre cuentas, consulte Cross account resource access in IAM en la Guía del usuario de IAM.
Cómo funciona AWS Cloud9 con los recursos y las operaciones de IAM
AWS Identity and Access Management se utiliza para administrar los permisos que le permiten trabajar con entornos de desarrollo de AWS Cloud9 y otros Servicios de AWS y recursos.
Recursos y operaciones de AWS Cloud9
En AWS Cloud9, el recurso principal es un entorno de desarrollo de AWS Cloud9. En las políticas se emplean nombres de recurso de Amazon (ARN) para identificar los recursos a los que se aplican las políticas. En la siguiente tabla se enumeran los ARN del entorno. Para obtener más información, consulte Nombres de recursos de Amazon (ARNs) y espacios de nombres de servicios de AWS en la Referencia general de Amazon Web Services.
Tipo de recurso | Formato de ARN |
---|---|
Entorno |
|
Todos los entornos propiedad de la cuenta especificada en la Región de AWS determinada |
|
Todos los entornos propiedad de la cuenta especificada en la región determinada |
|
Todos los recursos de AWS Cloud9, independientemente de la cuenta o región |
|
Por ejemplo, puede indicar un entorno específico en la instrucción usando su nombre de recurso de Amazon (ARN), de la siguiente manera.
"Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:70d899206236474f9590d93b7c41dfEX"
Para especificar todos los recursos, utilice el carácter comodín (*
) en el elemento Resource
.
"Resource": "*"
Para especificar varios recursos en una única instrucción, separe sus nombres de recurso de Amazon (ARN) con comas.
"Resource": [ "arn:aws:cloud9:us-east-2:123456789012:environment:70d899206236474f9590d93b7c41dfEX", "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX" ]
AWS Cloud9 proporciona un conjunto de operaciones para trabajar con recursos de AWS Cloud9. Para ver una lista, consulte la Referencia de permisos de AWS Cloud9.
Titularidad de los recursos
La cuenta de Cuenta de AWS es la propietaria de los recursos que se crean en ella, independientemente de quién los haya creado.
Tenga en cuenta los siguientes casos de uso y escenarios:
-
Supongamos que utiliza las credenciales de la cuenta raíz de su Cuenta de AWS para crear un entorno de desarrollo de AWS Cloud9. Aunque es posible, no es recomendable. En este caso, Cuenta de AWS es el propietario del entorno.
-
Supongamos que crea un usuario de IAM en la Cuenta de AWS y concede permisos a fin de crear un entorno para dicho usuario. En ese caso, el usuario puede crear un entorno. Sin embargo, su Cuenta de AWS, a la que pertenece el usuario, sigue siendo la propietaria del entorno.
-
Supongamos que crea un rol de IAM en la Cuenta de AWS con permisos para crear un entorno. En ese caso, cualquier persona que pueda asumir el rol puede crear un entorno. La Cuenta de AWS, a la que pertenece el rol, es la propietaria del entorno.
nota
Si elimina una cuenta de usuario que sea propietaria de algún ARN de uno o más entornos AWS Cloud9, estos entornos no tendrán propietario. Una solución alternativa para este escenario consiste en utilizar el SDK de AWS Cloud9 para añadir otro usuario de IAM con privilegios de lectura y escritura mediante la acción CreateEnvironmentMembership
y el tipo de datos EnvironmentMember
. Una vez que haya agregado a este usuario de IAM, puede copiar los archivos del entorno a nuevos entornos AWS Cloud9 y convertir a este propietario en propietario del ARN. Para obtener más información sobre esta acción, consulte CreateEnvironmentMembership y, para obtener más información sobre este tipo de datos, consulte EnvironmentMember en la Guía de referencia de la API AWS Cloud9.
Administración del acceso a los recursos de
Una política de permisos describe quién tiene acceso a qué recursos.
nota
En esta sección, se describe cómo se utiliza IAM en AWS Cloud9. No se proporciona información detallada sobre el servicio de IAM. Para ver la documentación completa de IAM, consulte ¿Qué es IAM? en la Guía del usuario de IAM. Para obtener más información acerca de la sintaxis y las descripciones de las políticas de IAM, consulte Referencia de políticas JSON de IAM en la Guía del usuario de IAM.
Las políticas que se adjuntan a una identidad de IAM se denominan políticas basadas en identidad (o políticas de IAM). Las políticas de permisos que se asocian a un recurso se denominan políticas basadas en recursos. AWS Cloud9 solo admite las políticas basadas en identidades y recursos.
Cada una de las siguientes acciones de la API solo necesita que se adjunte una política de IAM a la identidad de IAM que desea que llame a estas acciones de API:
-
CreateEnvironmentEC2
-
DescribeEnvironments
Las siguientes acciones de API requieren una política basada en recursos. No es necesaria una política de IAM, pero AWS Cloud9 utiliza una política de IAM si esta se ha adjuntado a la identidad de IAM que desea que llame a estas acciones de API. La política basada en recursos debe aplicarse al recurso de AWS Cloud9 deseado.
-
CreateEnvironmentMembership
-
DeleteEnvironment
-
DeleteEnvironmentMembership
-
DescribeEnvironmentMemberships
-
DescribeEnvironmentStatus
-
UpdateEnvironment
-
UpdateEnvironmentMembership
Para obtener más información sobre lo que hace cada una de estas acciones de API, consulte AWS Cloud9 API Reference (Referencia de la API de AWS Cloud9).
No se puede asociar una política basada en recursos a un recurso de AWS Cloud9 directamente. En cambio, AWS Cloud9 adjunta las políticas basadas en recursos correspondientes a los recursos de AWS Cloud9 a medida que agrega, modifica, actualiza o elimina miembros del entorno.
Para conceder permisos a un usuario para realizar acciones en recursos de AWS Cloud9, adjunte una política de permisos a un grupo de IAM al que pertenezca el usuario. Le recomendamos que asocie una política administrada (predefinida) de AWS para AWS Cloud9 siempre que sea posible. Las políticas administradas de AWS contienen conjuntos predefinidos de permisos de acceso para escenarios de uso y tipos de usuario comunes, por ejemplo, la administración completa de un entorno, los usuarios de un entorno y los usuarios que únicamente tienen acceso de lectura a un entorno. Para ver una lista de las políticas administradas de AWS para AWS Cloud9, consulte Políticas administradas de AWS para AWS Cloud9.
Para casos de uso más detallados y tipos de usuario únicos, puede crear y adjuntar sus propias políticas administradas por el cliente. Consulte Opciones de configuración adicionales para AWS Cloud9 y Creación de políticas administradas por el cliente para AWS Cloud9.
Para adjuntar una política de IAM (administrada por AWS o por el cliente) a una identidad de IAM, consulte Conexión de políticas de IAM (Consola) en la Guía del usuario de IAM.
Permisos de sesión para operaciones de API
Cuando se utiliza la API de AWS CLI o AWS para crear una sesión temporal mediante programación para un rol o un usuario federado, puede pasar políticas de sesión como un parámetro para ampliar el ámbito de la sesión de rol. Esto significa que los permisos efectivos de la sesión son la intersección de las políticas basadas en identidades del rol y las políticas de la sesión.
Cuando se realiza una solicitud para acceder a un recurso durante una sesión, si no hay ninguna instrucción Deny
aplicable, pero tampoco existe ninguna declaración Allow
aplicable en la política de la sesión, el resultado de la evaluación de la política es un denegación implícita. (Para obtener más información, consulte Cómo determinar si una solicitud se permite o se deniega dentro de una cuenta en la Guía del usuario de IAM).
No obstante, para operaciones de la API de AWS Cloud9 que requieren una política basada en recursos (consulte más arriba), se conceden permisos a la entidad de IAM que llama si se especifica como Principal
en la política de recursos. Este permiso explícito tiene prioridad sobre la denegación implícita de la política de la sesión, lo que permite a la sesión llamar a la operación de la API de AWS Cloud9 correctamente.
Políticas administradas de AWS para AWS Cloud9
Una política administrada de AWS es una política independiente que AWS crea y administra. Las políticas administradas de AWS se diseñan para ofrecer permisos para muchos casos de uso comunes, por lo que puede empezar a asignar permisos a los usuarios, grupos y roles.
Considere que es posible que las políticas administradas de AWS no concedan permisos de privilegio mínimo para los casos de uso concretos, ya que están disponibles para que las utilicen todos los clientes de AWS. Se recomienda definir políticas administradas por el cliente específicas para sus casos de uso a fin de reducir aún más los permisos.
No puede cambiar los permisos definidos en las políticas administradas de AWS. Si AWS actualiza los permisos definidos en una política administrada de AWS, la actualización afecta a todas las identidades de entidades principales (usuarios, grupos y roles) a las que está adjunta la política. Lo más probable es que AWS actualice una política administrada de AWS cuando se lance un nuevo Servicio de AWS o las operaciones de la API nuevas estén disponibles para los servicios existentes.
Para obtener más información, consulte Políticas administradas de AWS en la Guía del usuario de IAM.
Política administrada por AWS: AWScloud9Administrator
Puede adjuntar la política AWSCloud9Administrator
a las identidades de IAM.
Esta política concede permisos administrativos
que proporcionan acceso de administrador a AWS Cloud9.
Detalles de los permisos
Esta política incluye los siguientes permisos.
-
AWS Cloud9: todas las acciones de AWS Cloud9 en su Cuenta de AWS.
-
Amazon EC2: obtención de información acerca de los múltiples recursos de Amazon VPC y subredes de su Cuenta de AWS.
-
IAM: obtención de información acerca de los usuarios de IAM en su Cuenta de AWS y creación del rol vinculado al servicio de AWS Cloud9 en su Cuenta de AWS según sea necesario.
-
Systems Manager: permite al usuario llamar a StartSession para iniciar una conexión a una instancia para una sesión del Administrador de sesiones. Este permiso es necesario para los usuarios que abren un entorno que se comunica con su instancia de EC2 a través de Systems Manager. Para obtener más información, consulte Acceso a instancias de EC2 sin entrada con AWS Systems Manager
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:*", "iam:GetUser", "iam:ListUsers", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeInstanceTypeOfferings", "ec2:DescribeRouteTables" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:GetConnectionStatus" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ssm:resourceTag/aws:cloud9:environment": "*" }, "StringEquals": { "aws:CalledViaFirst": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*:*:document/*" ] } ] }
Política administrada por AWS: AWScloud9User
Puede adjuntar la política AWSCloud9User
a las identidades de IAM.
Esta política concede permisos de usuario
para crear entornos de desarrollo de AWS Cloud9 y administrar entornos propios.
Detalles de los permisos
Esta política incluye los siguientes permisos.
-
AWS Cloud9: creación y obtención de información sobre sus entornos, y obtención y cambio de la configuración de usuario para dichos entornos.
-
Amazon EC2: obtención de información acerca de los múltiples recursos de Amazon VPC y subredes de su Cuenta de AWS.
-
IAM: obtención de información acerca de los usuarios de IAM en su Cuenta de AWS y creación del rol vinculado al servicio de AWS Cloud9 en su Cuenta de AWS según sea necesario.
-
Systems Manager: permite al usuario llamar a StartSession para iniciar una conexión a una instancia para una sesión del Administrador de sesiones. Este permiso es necesario para los usuarios que abren un entorno que se comunica con su instancia de EC2 a través de Systems Manager. Para obtener más información, consulte Acceso a instancias de EC2 sin entrada con AWS Systems Manager
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:UpdateUserSettings", "cloud9:GetUserSettings", "iam:GetUser", "iam:ListUsers", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeInstanceTypeOfferings", "ec2:DescribeRouteTables" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloud9:CreateEnvironmentEC2", "cloud9:CreateEnvironmentSSH" ], "Resource": "*", "Condition": { "Null": { "cloud9:OwnerArn": "true" } } }, { "Effect": "Allow", "Action": [ "cloud9:GetUserPublicKey" ], "Resource": "*", "Condition": { "Null": { "cloud9:UserArn": "true" } } }, { "Effect": "Allow", "Action": [ "cloud9:DescribeEnvironmentMemberships" ], "Resource": [ "*" ], "Condition": { "Null": { "cloud9:UserArn": "true", "cloud9:EnvironmentId": "true" } } }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:GetConnectionStatus" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ssm:resourceTag/aws:cloud9:environment": "*" }, "StringEquals": { "aws:CalledViaFirst": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*:*:document/*" ] } ] }
Política administrada por AWS: AWSCloud9EnvironmentMember
Puede adjuntar la política AWSCloud9EnvironmentMember
a las identidades de IAM.
Esta política concede permisos de pertenencia
que proporcionan la capacidad de unirse a un entorno compartido de AWS Cloud9.
Detalles de los permisos
Esta política incluye los permisos siguientes:
-
AWS Cloud9: obtención de información sobre sus entornos, y obtención y cambio de la configuración de usuario para dichos entornos.
-
IAM: obtención de información acerca de los usuarios de IAM en su Cuenta de AWS y creación del rol vinculado al servicio de AWS Cloud9 en su Cuenta de AWS según sea necesario.
-
Systems Manager: permite al usuario llamar a StartSession para iniciar una conexión a una instancia para una sesión del Administrador de sesiones. Este permiso es necesario para los usuarios que abren un entorno que se comunica con su instancia de EC2 a través de Systems Manager. Para obtener más información, consulte Acceso a instancias de EC2 sin entrada con AWS Systems Manager
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:GetUserSettings", "cloud9:UpdateUserSettings", "iam:GetUser", "iam:ListUsers" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloud9:DescribeEnvironmentMemberships" ], "Resource": [ "*" ], "Condition": { "Null": { "cloud9:UserArn": "true", "cloud9:EnvironmentId": "true" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:GetConnectionStatus" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ssm:resourceTag/aws:cloud9:environment": "*" }, "StringEquals": { "aws:CalledViaFirst": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*:*:document/*" ] } ] }
Política administrada de AWS: AWSCloud9ServiceRolePolicy
El rol vinculado a un servicio AWSServiceRoleForAWSCloud9 usa esta política para permitir al entorno de AWS Cloud9 interactuar con Amazon EC2 y los recursos de AWS CloudFormation.
Detalles de los permisos
AWSCloud9ServiceRolePolicy concede a AWSServiceRoleForAWSCloud9 los permisos necesarios para permitir a AWS Cloud9 interactuar con los Servicios de AWS (Amazon EC2 y AWS CloudFormation) necesarios para la creación y la ejecución de los entornos de desarrollo.
AWS Cloud9 define los permisos de sus roles vinculados a los servicios y solo AWS Cloud9 puede asumir sus roles. Los permisos definidos incluyen las políticas de confianza y de permisos, y que la política de permisos no se pueda adjuntar a ninguna otra entidad de IAM.
Para obtener más información acerca de cómo utiliza AWS Cloud9 los roles vinculados a servicios, consulte Uso de roles vinculados a servicios de AWS Cloud9.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances", "ec2:CreateSecurityGroup", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "cloudformation:CreateStack", "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResources" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:TerminateInstances", "ec2:DeleteSecurityGroup", "ec2:AuthorizeSecurityGroupIngress" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloudformation:DeleteStack" ], "Resource": "arn:aws:cloudformation:*:*:stack/aws-cloud9-*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:security-group/*" ], "Condition": { "StringLike": { "aws:RequestTag/Name": "aws-cloud9-*" } } }, { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances" ], "Resource": "*", "Condition": { "StringLike": { "ec2:ResourceTag/aws:cloudformation:stack-name": "aws-cloud9-*" } } }, { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances" ], "Resource": [ "arn:aws:license-manager:*:*:license-configuration:*" ] }, { "Effect": "Allow", "Action": [ "iam:ListInstanceProfiles", "iam:GetInstanceProfile" ], "Resource": [ "arn:aws:iam::*:instance-profile/cloud9/*" ] }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::*:role/service-role/AWSCloud9SSMAccessRole" ], "Condition": { "StringLike": { "iam:PassedToService": "ec2.amazonaws.com" } } } ] }
Actualizaciones de AWS Cloud9 para las políticas administradas de AWS
Consulte los detalles relativos a las actualizaciones de las políticas administradas de AWS para AWS Cloud9 desde que este servicio empezara a realizar el seguimiento de estos cambios. Para obtener alertas automáticas sobre cambios en esta página, suscríbase a la fuente RSS en la página de historial de documentos AWS Cloud9.
Cambio | Descripción | Fecha |
---|---|---|
Se ha agregado una nueva acción a las políticas de AWSCloud9User, AWSCloud9Administrator y AWSCloud9EnvironmentMember. |
Se ha agregado la acción |
12 de octubre de 2023 |
Se han agregado API a las políticas AWSCloud9User y AWSCloud9administrator. |
Se han agregado dos nuevas API a las políticas AWSCloud9User y AWSCloud9Administrator, estas API son |
2 de agosto de 2023 |
Actualización de AWSCloud9ServiceRolePolicy |
AWSCloud9ServiceRolePolicy se actualizó para permitir a AWS Cloud9 iniciar y detener instancias de Amazon EC2 administradas por configuraciones de licencias de License Manager. |
12 de enero de 2022 |
AWS Cloud9 comenzó el seguimiento de los cambios |
AWS Cloud9 comenzó el seguimiento de los cambios de las políticas administradas de AWS. |
15 de marzo de 2021 |
Creación de políticas administradas por el cliente para AWS Cloud9
Si ninguna de las políticas administradas por AWS satisface sus requisitos de control de acceso, puede crear y adjuntar sus propias políticas administradas por el cliente.
Para obtener instrucciones sobre cómo crear una política administrada por el cliente, consulte Crear una política de IAM (Consola) en la Guía del usuario de IAM.
Temas
Especificar elementos de política: efectos, entidades principales, acciones y recursos
Para cada recurso de AWS Cloud9, el servicio define un conjunto de operaciones de API. Para conceder permisos para estas operaciones de API, AWS Cloud9 define un conjunto de acciones que usted puede especificar en una política.
A continuación, se indican los elementos básicos de la política:
-
Effect
: especifique el efecto (permitir o denegar) cuando el usuario solicite la acción específica. Si no concede acceso de forma explícita (permitir) a un recurso, el acceso se deniega implícitamente. También puede denegar explícitamente el acceso a un recurso. Puede hacerlo para asegurarse de que un usuario no tenga acceso a un recurso, aunque otra política se lo conceda. -
Principal
: en las políticas basadas en identidad (políticas de IAM), el usuario al que se adjunta esta política es la entidad principal implícita. Para las políticas basadas en recursos, debe especificar el usuario, cuenta, servicio u otra entidad que desee que reciba permisos. -
Resource
: utilice un nombre de recurso de Amazon (ARN) para identificar el recurso al que se aplica la política. -
Action
: use palabras de clave de acción para identificar las operaciones de recursos que desea permitir o denegar. Por ejemplo, el permisocloud9:CreateEnvironmentEC2
concede al usuario permiso para realizar la operaciónCreateEnvironmentEC2
.
Para obtener más información acerca de la sintaxis y las descripciones de las políticas de IAM, consulte Referencia de políticas JSON de IAM en la Guía del usuario de IAM.
Para ver una tabla con todas las acciones de API de AWS Cloud9 y los recursos a los que se aplican, consulte Referencia de permisos de AWS Cloud9.
Ejemplos de políticas administradas por el cliente
En esta sección, encontrará ejemplos de políticas que conceden permisos para acciones de AWS Cloud9. Puede adaptar las siguientes políticas de IAM de ejemplo para permitir o denegar explícitamente a sus identidades de IAM el acceso a AWS Cloud9.
Para crear o adjuntar una política administrada por el cliente a una identidad de IAM, consulte Crear una política de IAM (Consola) y Conexión de políticas de IAM (Consola), en la Guía del usuario de IAM.
nota
En los siguientes ejemplos se utiliza la región Este de EE. UU. (Ohio) (us-east-2
), un ID de cuenta de Cuenta de AWS ficticio (123456789012
) y un ID de entorno de desarrollo de AWS Cloud9 ficticio (81e900317347585a0601e04c8d52eaEX
).
Temas
- Obtener información sobre entornos
- Crear entornos de EC2
- Crear entornos de EC2 con tipos de instancias de Amazon EC2 específicas
- Crear entornos de EC2 en subredes de Amazon VPC específicas
- Crear entornos de EC2 con un nombre de entorno específico
- Crear entornos de SSH únicamente
- Actualizar entornos o impedir la actualización de un entorno
- Obtener listas de los miembros de un entorno
- Compartir entornos con un usuario específico únicamente
- Impedir compartir entornos
- Cambiar o evitar el cambio, de la configuración de miembros del entorno
- Eliminar o impedir la eliminación, de los miembros de entorno
- Eliminar o impedir la eliminación de un entorno
- Política de IAM personalizada para la creación de un entorno SSM
Obtener información sobre entornos
La siguiente instrucción de política de IAM de ejemplo, adjunta a una entidad de IAM, permite que dicha entidad obtenga información sobre cualquier entorno de su cuenta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:DescribeEnvironments", "Resource": "*" } ] }
nota
El permiso de acceso anterior ya se incluye en las políticas administradas por AWS, AWSCloud9Administrator
y AWSCloud9User
.
Crear entornos de EC2
La siguiente instrucción de política de IAM de ejemplo, adjunta a una entidad de IAM, permite que dicha entidad cree entornos de desarrollo de EC2 de AWS Cloud9 en su cuenta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:CreateEnvironmentEC2", "Resource": "*" } ] }
nota
El permiso de acceso anterior ya se incluye en las políticas administradas por AWS, AWSCloud9Administrator
y AWSCloud9User
.
Crear entornos de EC2 con tipos de instancias de Amazon EC2 específicas
La siguiente instrucción de política de IAM de ejemplo, adjunta a una entidad de IAM, permite que dicha entidad cree entornos de desarrollo de EC2 de AWS Cloud9 en su cuenta. Sin embargo, los entornos de EC2 solo pueden usar la clase especificada de tipos de instancias de Amazon EC2.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:CreateEnvironmentEC2", "Resource": "*", "Condition": { "StringLike": { "cloud9:InstanceType": "t3.*" } } } ] }
nota
Si la política administrada por AWS AWSCloud9Administrator
o AWSCloud9User
ya está adjunta a la entidad de IAM, esa política administrada por AWS sobrescribirá el comportamiento de la instrucción de la política de IAM anterior. Esto se debe a que esas políticas administradas de AWS son más permisivas.
Crear entornos de EC2 en subredes de Amazon VPC específicas
La siguiente instrucción de política de IAM de ejemplo, adjunta a una entidad de IAM, permite que dicha entidad cree entornos de desarrollo de EC2 de AWS Cloud9 en su cuenta. Sin embargo, los entornos de EC2 solo pueden utilizar subredes de Amazon VPC especificadas.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:CreateEnvironmentEC2", "Resource": "*", "Condition": { "StringLike": { "cloud9:SubnetId": [ "subnet-12345678", "subnet-23456789" ] } } } ] }
nota
Si la política administrada por AWS AWSCloud9Administrator
o AWSCloud9User
ya está adjunta a la entidad de IAM, esa política administrada por AWS sobrescribirá el comportamiento de la instrucción de la política de IAM anterior. Esto se debe a que esas políticas administradas de AWS son más permisivas.
Crear entornos de EC2 con un nombre de entorno específico
La siguiente instrucción de política de IAM de ejemplo, adjunta a una entidad de IAM, permite que dicha entidad cree un entorno de desarrollo de EC2 de AWS Cloud9 en su cuenta. Sin embargo, el entorno de EC2 solo puede utilizar el nombre especificado.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:CreateEnvironmentEC2", "Resource": "*", "Condition": { "StringEquals": { "cloud9:EnvironmentName": "my-demo-environment" } } } ] }
nota
Si la política administrada por AWS AWSCloud9Administrator
o AWSCloud9User
ya está adjunta a la entidad de IAM, esa política administrada por AWS sobrescribirá el comportamiento de la instrucción de la política de IAM anterior. Esto se debe a que esas políticas administradas de AWS son más permisivas.
Crear entornos de SSH únicamente
La siguiente instrucción de política de IAM de ejemplo, adjunta a una entidad de IAM, permite que dicha entidad cree entornos de desarrollo de SSH de AWS Cloud9 en su cuenta. Sin embargo, la entidad no puede crear entornos de desarrollo de EC2 de AWS Cloud9.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:CreateEnvironmentSSH", "Resource": "*" }, { "Effect": "Deny", "Action": "cloud9:CreateEnvironmentEC2", "Resource": "*" } ] }
Actualizar entornos o impedir la actualización de un entorno
La siguiente instrucción de política de IAM de ejemplo, adjunta a una entidad de IAM, permite que dicha entidad cambie información sobre cualquier entorno de desarrollo de AWS Cloud9 en su cuenta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:UpdateEnvironment", "Resource": "*" } ] }
nota
Observe que el permiso de acceso anterior ya se incluye en la política administrada por AWS AWSCloud9Administrator
.
La siguiente instrucción de política de IAM de ejemplo, asociada a una entidad de IAM, impide de forma explícita que dicha entidad cambie información sobre el entorno con el nombre de recurso de Amazon (ARN) especificado.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "cloud9:UpdateEnvironment", "Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX" } ] }
Obtener listas de los miembros de un entorno
La siguiente instrucción de política de IAM de ejemplo, adjunta a una entidad de IAM, permite que dicha entidad obtenga una lista de los miembros de cualquier entorno en su cuenta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:DescribeEnvironmentMemberships", "Resource": "*" } ] }
nota
Observe que el permiso de acceso anterior ya se incluye en la política administrada por AWS AWSCloud9Administrator
. Además, el permiso de acceso anterior es más permisivo que el permiso equivalente de la política administrada por AWS AWSCloud9User
.
Compartir entornos con un usuario específico únicamente
La siguiente instrucción de política de IAM de ejemplo, adjunta a una entidad de IAM, permite que dicha entidad comparta cualquier entorno en su cuenta solo con el usuario especificado.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:CreateEnvironmentMembership" ], "Resource": "*", "Condition": { "StringEquals": { "cloud9:UserArn": "arn:aws:iam::123456789012:user/MyDemoUser" } } } ] }
nota
Si la política administrada por AWS AWSCloud9Administrator
o AWSCloud9User
ya está adjunta a la entidad de IAM, esas políticas administradas por AWS sobrescribirán el comportamiento de la instrucción de la política de IAM anterior. Esto se debe a que esas políticas administradas de AWS son más permisivas.
Impedir compartir entornos
La siguiente instrucción de política de IAM de ejemplo, adjunta a una entidad de IAM, impide que dicha entidad comparta ningún entorno en su cuenta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "cloud9:CreateEnvironmentMembership", "cloud9:UpdateEnvironmentMembership" ], "Resource": "*" } ] }
Cambiar o evitar el cambio, de la configuración de miembros del entorno
La siguiente instrucción de política de IAM de ejemplo, adjunta a una entidad de IAM, permite que dicha entidad cambie la configuración de los miembros de cualquier entorno en su cuenta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:UpdateEnvironmentMembership", "Resource": "*" } ] }
nota
Observe que el permiso de acceso anterior ya se incluye en la política administrada por AWS AWSCloud9Administrator
.
La siguiente instrucción de política de IAM de ejemplo, asociada a una entidad de IAM, impide de forma explícita que dicha entidad cambie la configuración de los miembros del entorno con el nombre de recurso de Amazon (ARN) especificado.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "cloud9:UpdateEnvironmentMembership", "Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX" } ] }
Eliminar o impedir la eliminación, de los miembros de entorno
La siguiente instrucción de política de IAM de ejemplo, adjunta a una entidad de IAM, permite que dicha entidad elimine cualquier miembro de cualquier entorno de su cuenta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:DeleteEnvironmentMembership", "Resource": "*" } ] }
nota
Observe que el permiso de acceso anterior ya se incluye en la política administrada por AWS AWSCloud9Administrator
.
La siguiente instrucción de política de IAM de ejemplo, asociada a una entidad de IAM, impide de forma explícita que dicha entidad elimine ningún miembro del entorno con el nombre de recurso de Amazon (ARN) especificado.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "cloud9:DeleteEnvironmentMembership", "Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX" } ] }
Eliminar o impedir la eliminación de un entorno
La siguiente instrucción de política de IAM de ejemplo, adjunta a una entidad de IAM, permite que dicha entidad elimine cualquier entorno de su cuenta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:DeleteEnvironment", "Resource": "*" } ] }
nota
Observe que el permiso de acceso anterior ya se incluye en la política administrada por AWS AWSCloud9Administrator
.
La siguiente instrucción de política de IAM de ejemplo, asociada a una entidad de IAM, impide de forma explícita que dicha entidad elimine el entorno con el nombre de recurso de Amazon (ARN) especificado.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "cloud9:DeleteEnvironment", "Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX" } ] }
Política de IAM personalizada para la creación de un entorno SSM
Hay un problema de permisos actual que se produce al crear un entorno SSM con las políticas asociadas AWSCloud9Administrator
o AWSCloud9User
. La siguiente instrucción de política de IAM de ejemplo, cuando se asocia a una entidad de IAM, permite que los usuarios asocien y usen la política administrada de AWS AWSCloud9Administrator
o AWSCloud9User
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:UpdateUserSettings", "cloud9:GetUserSettings", "iam:GetUser", "iam:ListUsers", "iam:ListRoles", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeRouteTables" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloud9:CreateEnvironmentEC2", "cloud9:CreateEnvironmentSSH" ], "Resource": "*", "Condition": { "Null": { "cloud9:OwnerArn": "true" } } }, { "Effect": "Allow", "Action": [ "cloud9:GetUserPublicKey" ], "Resource": "*", "Condition": { "Null": { "cloud9:UserArn": "true" } } }, { "Effect": "Allow", "Action": [ "cloud9:DescribeEnvironmentMemberships" ], "Resource": [ "*" ], "Condition": { "Null": { "cloud9:UserArn": "true", "cloud9:EnvironmentId": "true" } } }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": "ssm:StartSession", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ssm:resourceTag/aws:cloud9:environment": "*" }, "StringEquals": { "aws:CalledViaFirst": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*:*:document/*" ] }, { "Effect": "Allow", "Action": ["iam:ListInstanceProfilesForRole", "iam:CreateRole"], "Resource": ["arn:aws:iam::*:role/service-role/AWSCloud9SSMAccessRole"] }, { "Effect": "Allow", "Action": ["iam:AttachRolePolicy"], "Resource": ["arn:aws:iam::*:role/service-role/AWSCloud9SSMAccessRole"], "Condition": { "StringEquals": { "iam:PolicyARN": "arn:aws:iam::aws:policy/AWSCloud9SSMInstanceProfile" } } }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/service-role/AWSCloud9SSMAccessRole", "Condition": { "StringEquals": { "iam:PassedToService": "ec2.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:CreateInstanceProfile", "iam:AddRoleToInstanceProfile" ], "Resource": [ "arn:aws:iam::*:instance-profile/cloud9/AWSCloud9SSMInstanceProfile" ] } ] }
Referencia de permisos de AWS Cloud9
Puede utilizar claves de condiciones generales de AWS en sus políticas de AWS Cloud9 para expresar condiciones. Para obtener una lista, consulte Elemento de la política de JSON de IAM: Condition en la Guía del usuario de IAM.
Las acciones se especifican en el campo Action
de la política. Para especificar una acción, use el prefijo cloud9:
seguido del nombre de operación de la API (por ejemplo, "Action": "cloud9:DescribeEnvironments"
). Para especificar varias acciones en una única instrucción, sepárelas con comas (por ejemplo, "Action": [
"cloud9:UpdateEnvironment", "cloud9:DeleteEnvironment" ]
).
Uso de caracteres comodín
Debe especificar un ARN, con o sin un carácter comodín (*
), como el valor del recurso en el campo de la política Resource
. Puede utilizar un carácter comodín para especificar varias acciones o recursos. Por ejemplo, cloud9:*
especifica todas las acciones de AWS Cloud9 y cloud9:Describe*
especifica todas las acciones de AWS Cloud9 que comienzan por la palabra Describe
.
En el siguiente ejemplo se permite que una entidad de IAM obtenga información acerca de los entornos y las pertenencias a los entornos de cualquier entorno de su cuenta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:Describe*" ], "Resource": "*" } ] }
nota
Observe que el permiso de acceso anterior ya se incluye en la política administrada por AWS AWSCloud9Administrator
. Observe también que el permiso de acceso anterior es más permisivo que el permiso equivalente de la política administrada por AWS AWSCloud9User
.
Operaciones de la API de AWS Cloud9 y permisos necesarios para las acciones
nota
Puede usar las tablas siguientes como referencia cuando configure políticas de permisos de control de acceso y de escritura para adjuntarlas a una identidad de IAM (políticas basadas en identidades).
En la tabla Public API operations se enumeran las operaciones de la API a las que los clientes pueden llamar mediante los SDK y AWS Command Line Interface.
En Permission-only API operations se enumeran las operaciones de la API a las que el código del cliente o AWS Command Line Interface no pueden llamar directamente. No obstante, los usuarios de IAM requieren permisos para estas operaciones a las que se llama cuando se realizan acciones de AWS Cloud9 mediante la consola.
Operación de AWS Cloud9 | Permisos necesarios (acción de la API) | Recurso |
---|---|---|
|
Necesario para crear un entorno de desarrollo de EC2 de AWS Cloud9. |
|
|
Necesario para agregar un miembro a un entorno. |
|
|
Necesaria para eliminar un entorno. |
|
|
Necesario para eliminar un miembro de un entorno. |
|
|
Necesario para obtener una lista de miembros de entorno. |
|
|
Necesario para obtener información sobre un entorno. |
|
|
Necesario para obtener información sobre el estado de un entorno. |
|
|
Necesario para actualizar la configuración de un entorno. |
|
|
Necesario para actualizar la configuración de un miembro de un entorno. |
|
Operación de AWS Cloud9 | Descripción | Documentación de la consola |
---|---|---|
|
Inicia la instancia de Amazon EC2 a la que se conecta su IDE de AWS Cloud9. |
|
|
Crea un entorno de desarrollo de SSH de AWS Cloud9 |
|
|
Crea un token de autenticación que permite una conexión entre el IDE de AWS Cloud9 y el entorno del usuario. |
|
|
Obtiene detalles sobre la conexión al entorno de desarrollo de EC2, incluidos el anfitrión, el usuario y el puerto. |
|
|
Obtiene detalles sobre la conexión al entorno de desarrollo de SSH, incluidos el anfitrión, el usuario y el puerto. |
|
|
Obtiene la información de configuración que se utiliza para inicializar el IDE de AWS Cloud9. |
|
|
Obtiene la configuración del IDE de AWS Cloud9 para un entorno de desarrollo especificado. |
|
|
Obtiene la configuración del IDE de AWS Cloud9 para un miembro del entorno especificado. |
|
|
Obtiene la clave SSH pública del usuario, que AWS Cloud9 utiliza para conectarse a entornos de desarrollo de SSH. |
|
|
Obtiene la configuración del IDE de AWS Cloud9 para un usuario especificado. |
|
|
Establece las credenciales temporales administradas por AWS en la instancia de Amazon EC2 utilizada por el entorno de desarrollo integrado (IDE) de AWS Cloud9. |
|
|
Actualiza la configuración del IDE de AWS Cloud9 para un entorno de desarrollo especificado. |
|
|
Actualiza la configuración del IDE de AWS Cloud9 para un miembro del entorno especificado. |
|
|
Actualiza los detalles sobre la conexión al entorno de desarrollo de SSH, incluidos el anfitrión, el usuario y el puerto. |
|
|
Actualiza la configuración del IDE de AWS Cloud9 para un usuario especificado. |
|
|
Concede permiso a un usuario de AWS Cloud9 para obtener la experiencia de migración desde AWS Cloud9 a CodeCatalyst. |
Credenciales temporales administradas por AWS
Si solo busca la lista de acciones que admiten las credenciales temporales administradas por AWS, vaya directamente a Acciones admitidas por las credenciales temporales administradas por AWS. |
Para un entorno de desarrollo de EC2 de AWS Cloud9, AWS Cloud9 pones las credenciales de acceso temporales de AWS a su disposición en el entorno. Las denominamos credenciales temporales administradas por AWS. Esto proporciona los siguientes beneficios:
-
No es necesario almacenar las credenciales de acceso de AWS permanentes de una entidad de AWS (por ejemplo, un usuario de IAM) en cualquier lugar del entorno. Esto impide que los miembros del entorno accedan a esas credenciales sin su conocimiento y aprobación.
-
No es necesario configurar, administrar ni adjuntar manualmente un perfil de instancias a la instancia de Amazon EC2 que se conecta al entorno. Un perfil de instancia es otra estrategia para administrar credenciales temporales de acceso a AWS.
-
AWS Cloud9 renueva constantemente sus credenciales temporales, por lo que un único conjunto de credenciales solo se puede utilizar durante un tiempo limitado. Esta es una práctica recomendada de seguridad de AWS. Para obtener más información, consulte Creación y actualización de credenciales temporales administradas por AWS.
-
AWS Cloud9 pone restricciones adicionales sobre cómo se pueden usar las credenciales temporales para acceder a los recursos y las acciones de AWS desde el entorno. Esta también es una práctica recomendada de seguridad de AWS.
importante
Actualmente, si la instancia de EC2 de su entorno se lanza en una subred privada, no puede usar credenciales temporales administradas por AWS para permitir que el entorno de EC2 acceda a un servicio de AWS en nombre de una entidad de AWS (un usuario de IAM, por ejemplo).
Para obtener más información sobre cuándo puede lanzar una instancia de EC2 en una subred privada, consulte Crear una subred para AWS Cloud9.
nota
Piense en la posibilidad de utilizar una política administrada por AWS en lugar de una política en línea cuando se utilicen credenciales temporales administradas por AWS.
A continuación, se explica cómo funcionan las credenciales temporales administradas por AWS cuando un entorno de EC2 intenta acceder a un Servicio de AWS en nombre de una entidad de AWS (por ejemplo, un usuario de IAM):
-
AWS Cloud9 verifica si la entidad de AWS que llama (por ejemplo, el usuario de IAM) tiene permisos para llevar a cabo la acción solicitada para el recurso solicitado en AWS. Si el permiso no existe o se deniega explícitamente, la solicitud produce un error.
-
AWS Cloud9 verifica las credenciales temporales administradas por AWS para ver si sus permisos permiten la acción solicitada para el recurso solicitado en AWS. Si el permiso no existe o se deniega explícitamente, la solicitud produce un error. Para ver una lista de los permisos que admiten las credenciales temporales administradas por AWS, consulte Acciones admitidas por las credenciales temporales administradas por AWS.
-
Si tanto la entidad de AWS como las credenciales temporales administradas por AWS permiten la acción solicitada para el recurso solicitado, la solicitud se realiza correctamente.
-
Si la entidad de AWS o las credenciales temporales administradas por AWS deniegan explícitamente o no aprueban de forma explícita la acción solicitada para el recurso solicitado, la solicitud generará un error. Esto significa que, aunque la entidad de AWS que llama tenga los permisos adecuados, se producirá un error en la solicitud si AWS Cloud9 no lo permite también explícitamente. Del mismo modo, si AWS Cloud9 permite que un recurso específico realice una acción específica, se producirá un error en la solicitud si la entidad de AWS no lo permite también explícitamente.
El propietario de un entorno de EC2 puede activar o desactivar las credenciales temporales administradas por AWS para ese entorno en cualquier momento, como se indica a continuación:
-
Con el entorno abierto, en el IDE de AWS Cloud9, en la barra de menú, elija AWS Cloud9, Preferences (Preferencias).
-
En la pestaña Preferences (Preferencias), en el panel de navegación, elija AWS Settings, Credentials (Configuración de AWS, Credenciales).
-
Use credenciales temporales administradas por AWS para activar o desactivar dichas credenciales de AWS.
nota
También puede activar o desactivar las credenciales temporales administradas por AWS mediante la llamada a la operación de la API UpdateEnvironment
de AWS Cloud9 y asignar un valor al parámetro managedCredentialsAction
. Puede solicitar esta operación de API utilizando herramientas de AWS estándar como AWS SDK y la AWS CLI.
Si desactiva las credenciales temporales administradas por AWS, el entorno no puede acceder a los Servicios de AWS, independientemente de la entidad de AWS que realice la solicitud. Sin embargo, suponga que no puede o no quiere activar las credenciales temporales administradas por AWS para un entorno, y aún necesita que el entorno acceda a Servicios de AWS. En ese caso, tenga en cuenta las siguientes alternativas:
-
Adjunte un perfil de instancias a la instancia de Amazon EC2 que se conecta al entorno. Para ver instrucciones, consulte la sección sobre la creación y uso de un perfil de instancia para administrar credenciales temporales.
-
Almacene las credenciales de acceso de AWS permanentes en el entorno, por ejemplo, configurando variables de entorno especiales o ejecutando el comando
aws configure
. Para obtener instrucciones, consulte Crear y almacenar las credenciales de acceso permanente en un entorno.
Las alternativas anteriores anulan todos los permisos permitidos (o denegados) por las credenciales temporales administradas por AWS en un entorno de EC2.
Acciones admitidas por las credenciales temporales administradas por AWS
Para un entorno de desarrollo de EC2 de AWS Cloud9, las credenciales temporales administradas por AWS permiten todas las acciones de AWS a todos los recursos de AWS en la Cuenta de AWS de la persona que llama, con las siguientes restricciones:
-
Para AWS Cloud9, solo se permiten las siguientes acciones:
-
cloud9:CreateEnvironmentEC2
-
cloud9:CreateEnvironmentSSH
-
cloud9:DescribeEnvironmentMemberships
-
cloud9:DescribeEnvironments
-
cloud9:DescribeEnvironmentStatus
-
cloud9:UpdateEnvironment
-
-
Para IAM, solo se permiten las siguientes acciones:
-
iam:AttachRolePolicy
-
iam:ChangePassword
-
iam:CreatePolicy
-
iam:CreatePolicyVersion
-
iam:CreateRole
-
iam:CreateServiceLinkedRole
-
iam:DeletePolicy
-
iam:DeletePolicyVersion
-
iam:DeleteRole
-
iam:DeleteRolePolicy
-
iam:DeleteSSHPublicKey
-
iam:DetachRolePolicy
-
iam:GetInstanceProfile
-
iam:GetPolicy
-
iam:GetPolicyVersion
-
iam:GetRole
-
iam:GetRolePolicy
-
iam:GetSSHPublicKey
-
iam:GetUser
-
iam:List*
-
iam:PassRole
-
iam:PutRolePolicy
-
iam:SetDefaultPolicyVersion
-
iam:UpdateAssumeRolePolicy
-
iam:UpdateRoleDescription
-
iam:UpdateSSHPublicKey
-
iam:UploadSSHPublicKey
-
-
Todas las acciones de IAM que interactúan con roles se permiten solo para nombres de rol que comienzan por
Cloud9-
. Sin embargo,iam:PassRole
funciona con todos los nombres de rol. -
Para AWS Security Token Service (AWS STS), solo se permiten las siguientes acciones:
-
sts:GetCallerIdentity
-
sts:DecodeAuthorizationMessage
-
-
Todas las acciones de AWS admitidas se limitan a la dirección IP del entorno. Esta es una práctica recomendada de seguridad de AWS.
Si AWS Cloud9 no admite una acción o un recurso para el que el entorno de EC2 necesita acceso o si las credenciales temporales administradas por AWS están desactivadas para un entorno de EC2 y no puede volver a activarlas, tenga en cuenta las siguientes alternativas:
-
Adjunte un perfil de instancias a la instancia de Amazon EC2 que se conecta al entorno de EC2. Para obtener instrucciones, consulte Creación y uso de un perfil de instancias para administrar credenciales temporales.
-
Almacene las credenciales de acceso de AWS permanentes en el entorno de EC2, por ejemplo, configurando variables de entorno especiales o ejecutando el comando
aws configure
. Para obtener instrucciones, consulte Crear y almacenar las credenciales de acceso permanente en un entorno.
Las alternativas anteriores anulan todos los permisos permitidos (o denegados) por las credenciales temporales administradas por AWS en un entorno de EC2.
Creación y actualización de credenciales temporales administradas por AWS
Para un entorno de desarrollo de EC2 de AWS Cloud9, las credenciales temporales administradas por AWS se crean la primera vez que abre el entorno.
Las credenciales temporales administradas por AWS se actualizan en cualquiera de las siguientes condiciones:
-
Siempre que pase un determinado periodo de tiempo. Actualmente, esto es cada cinco minutos.
-
Cada vez que se vuelve a cargar la pestaña del navegador web, que muestra el IDE del entorno.
-
Cuando se alcanza la marca temporal que se muestra en el archivo
~/.aws/credentials
para el entorno. -
Si la configuración de las credenciales temporales administradas por AWS está desactivada, cuando vuelve a activarla. (Para ver o cambiar esta configuración, elija AWS Cloud9, Preferences [AWS Cloud9, Preferencias] en la barra de menús del IDE. En la pestaña Preferences [Preferencias], en el panel de navegación, elija AWS Settings, Credentials [Configuración de AWS, Credenciales]).
-
Para garantizar la seguridad, las credenciales temporales administradas por AWS caducan automáticamente después de 15 minutos. Para que se actualicen las credenciales, el propietario del entorno debe estar conectado al entorno de AWS Cloud9 a través del IDE. Para obtener más información sobre el rol del propietario del entorno, consulteControl del acceso a las credenciales temporales administradas por AWS.
Control del acceso a las credenciales temporales administradas por AWS
Un colaborador con credenciales temporales administradas por AWS puede utilizar AWS Cloud9 para interactuar con otros Servicios de AWS. Para asegurarse de que solo los colaboradores de confianza dispongan de credenciales temporales administradas por AWS, dichas credenciales se desactivan si alguien que no es el propietario del entorno agrega un nuevo miembro. Las credenciales se desactivan mediante la eliminación del archivo ~/.aws/credentials
.
importante
Las credenciales temporales administradas por AWS también caducan automáticamente cada de 15 minutos. Para que las credenciales se actualicen y los colaboradores puedan seguir utilizándolas, el propietario del entorno debe estar conectado al entorno de AWS Cloud9 a través del IDE.
Solo el propietario del entorno puede volver a habilitar las credenciales temporales administradas por AWS para que puedan compartirse con otros miembros. Cuando el propietario del entorno abre el IDE, un cuadro de diálogo confirma que las credenciales temporales administradas por AWS están desactivadas. El propietario del entorno puede volver a habilitar las credenciales o mantenerlas desactivadas para todos los miembros.
aviso
Para cumplir con las prácticas de seguridad recomendadas, mantenga desactivadas las credenciales temporales administradas si no está seguro de la identidad del último usuario agregado al entorno. Puede verificar la lista de miembros con permisos de lectura/escritura en la ventana Collaborate (Colaborar).