Términos y conceptos de AWS RAM - AWS Resource Access Manager

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

Términos y conceptos de AWS RAM

Los siguientes conceptos ayudan a entender cómo se puede usar AWS Resource Access Manager (AWS RAM) para compartir recursos.

Uso compartido de recursos

AWS RAM le permite compartir recursos creando un recurso compartido. Un recurso compartido consta de los tres elementos siguientes:

  • Una lista de uno o más recursos de AWS que se van a compartir.

  • Una lista de una o más entidades principales a las que se concede acceso.

  • Un permiso administrado para cada tipo de recurso que se incluya en el recurso compartido. Cada permiso administrado se aplica a todos los recursos de ese tipo en ese recurso compartido.

Una vez que ha usado AWS RAM para crear un recurso compartido, se puede conceder a las entidades principales especificadas en el recurso compartido acceso a los recursos que este contiene.

  • Si activa el uso compartido de AWS RAM con AWS Organizations, y las entidades principales con las que comparte pertenecen a la misma organización que la cuenta que comparte, dichas entidades principales podrán recibir acceso tan pronto como el administrador de la cuenta les conceda permisos para usar los recursos mediante una política de permisos de AWS Identity and Access Management (IAM).

  • Si no activa el uso compartido de AWS RAM con organizaciones, puede seguir compartiendo recursos con Cuentas de AWS individuales de su organización. El administrador de la cuenta consumidora recibe una invitación para unirse al recurso compartido, y debe aceptarla para que las entidades principales especificadas en el recurso compartido puedan acceder a los recursos compartidos.

  • También puede compartir con cuentas externas a su organización, si el tipo de recurso lo admite. El administrador de la cuenta consumidora recibe una invitación para unirse al recurso compartido, y debe aceptarla para que las entidades principales especificadas en el recurso compartido puedan acceder a los recursos compartidos. Para obtener información sobre los tipos de recursos que admiten este tipo de uso compartido, consulte Recursos que se pueden compartir AWS y fíjese en la columna Puede compartir con cuentas externas a su organización.

Cuentas que comparte

La cuenta que comparte contiene el recurso que se comparte y en el que el administrador de AWS RAM crea el recurso compartido de AWS mediante AWS RAM.

Un administrador de AWS RAM es una entidad principal de IAM que dispone de permisos para crear y configurar recursos compartidos en la Cuenta de AWS. Puesto que AWS RAM funciona adjuntando una política basada en recursos a los recursos de un recurso compartido, el administrador de AWS RAM también debe tener permisos para llamar a la operación PutResourcePolicy del Servicio de AWS para cada tipo de recurso incluido en un recurso compartido.

Entidades principales consumidoras

La cuenta consumidora es la Cuenta de AWS con la que se comparte un recurso. El recurso compartido puede especificar una cuenta completa como entidad principal o, en el caso de ciertos tipos de recursos, roles o usuarios individuales de la cuenta. Para obtener información sobre los tipos de recursos que admiten este tipo de uso compartido, consulte Recursos que se pueden compartir AWS y fíjese en la columna Puede compartir con roles y usuarios de IAM.

AWS RAM también admite las entidades principales de servicio como entidades consumidoras de recursos compartidos. Para obtener información sobre los tipos de recursos que admiten este tipo de uso compartido, consulte Recursos que se pueden compartir AWS y fíjese en la columna Puede compartir con entidades principales de servicio.

Las entidades principales de la cuenta consumidora pueden realizar solo las acciones permitidas por los dos permisos siguientes:

  • Los permisos administrados adjuntos al recurso compartido. Especifican los permisos máximos que se pueden conceder a las entidades principales de la cuenta consumidora.

  • Las políticas basadas en la identidad de IAM adjuntadas a roles o usuarios individuales por el administrador de IAM en la cuenta consumidora. Esas políticas deben conceder acceso Allow a acciones específicas y al nombre de recurso de Amazon (ARN) de un recurso de la cuenta que comparte.

AWS RAM admite los siguientes tipos de entidades principales de IAM como entidades consumidoras de recursos compartidos:

  • Otra Cuenta de AWS: el recurso compartido hace que los recursos incluidos en la cuenta que comparte estén disponibles para la cuenta consumidora.

  • Roles o usuarios individuales de IAM en otra cuenta: algunos tipos de recursos permiten compartir directamente con roles o usuarios individuales de IAM. Identifique este tipo de entidad principal por su ARN.

    • Rol de IAM: arn:aws:iam::123456789012:role/rolename

    • Usuario de IAM: arn:aws:iam::123456789012:user/username

  • Entidad principal de servicio: comparta un recurso con un servicio de AWS servicio para conceder al servicio acceso a un recurso compartido. Compartir con una entidad principal de servicio hace posible que un servicio de AWS emprenda acciones en su nombre para mitigar la carga operativa.

    Para compartir con una entidad principal de servicio, seleccione que desea permitir el uso compartido con cualquiera y, a continuación, en Seleccione el tipo de entidad principal, elija Entidad principal de servicio en la lista desplegable. Especifique el nombre de la entidad principal de servicio con el siguiente formato:

    • service-id.amazonaws.com

    Para reducir el riesgo del suplente confuso, la política de recursos muestra el ID de cuenta del propietario del recurso en la clave de condición aws:SourceAccount.

  • Cuentas de una organización: si la cuenta que comparte está administrada por AWS Organizations, el recurso compartido puede especificar el ID de la organización para compartirlo con todas las cuentas de la organización. Como alternativa, el recurso compartido también puede especificar un ID de unidad organizativa (OU) para compartirlo con todas las cuentas de esa OU. Una cuenta solo puede compartir con su propia organización o con ID de OU dentro de su propia organización. Especifique las cuentas de una organización por el ARN de la organización o de la OU.

    • Todas las cuentas de una organización: a continuación se muestra un ejemplo del ARN de una organización de AWS Organizations:

      arn:aws:organizations::123456789012:organization/o-<orgid>

    • Todas las cuentas de una unidad organizativa: a continuación se muestra un ejemplo del ARN de un ID de OU:

      arn:aws:organizations::123456789012:organization/o-<orgid>/ou-<rootid>-<ouid>

    importante

    Cuando comparte con una organización o unidad organizativa, y ese ámbito incluye la cuenta propietaria del recurso compartido, todas las entidades principales de la cuenta compartida automáticamente obtienen acceso a los recursos del recurso compartido. El acceso concedido viene definido por los permisos administrados asociados al recurso compartido. Esto se debe a que la política basada en recursos que AWS RAM adjunta a cada recurso del recurso compartido utiliza "Principal": "*". Para obtener más información, consulte Implicaciones del uso de "Principal": "*" en una política basada en recursos.

    Las entidades principales de las demás cuentas consumidoras no obtienen acceso a los recursos del recurso compartido de inmediato. Los administradores de las demás cuentas primero deben adjuntar políticas de permisos basados en identidad a las entidades principales correspondientes. Tales políticas deben conceder acceso Allow a los ARN de los recursos individuales del recurso compartido. Los permisos de dichas políticas no pueden superar los especificados en el permiso administrado asociado al recurso compartido.

Política basada en recursos

Las políticas basadas en recursos son documentos de texto JSON que implementan el lenguaje de políticas de IAM. A diferencia de las políticas basadas en identidad que se adjuntan a la entidad principal, como un rol o usuario de IAM, las políticas basadas en recursos se adjunta al recurso. AWS RAM crea políticas basadas en recursos en su nombre en función de la información que proporcione para el recurso compartido. Debe especificar un elemento de política de Principal que determine quién puede acceder al recurso. Para obtener más información, consulte Políticas basadas en identidad y políticas basadas en recursos en la Guía del usuario de IAM.

Las políticas basadas en recursos generadas por AWS RAM se evalúan junto con todos los demás tipos de políticas de IAM. Esto incluye cualquier política basada en la identidad de IAM que se adjunte a las entidades principales que intenten acceder al recurso, así como las políticas de control de servicios (SCP) de AWS Organizationsque puedan aplicarse a la Cuenta de AWS. Las políticas basadas en recursos generadas por AWS RAM participan en la misma lógica de evaluación de políticas que el resto de políticas de IAM. Para obtener detalles completos sobre la evaluación de políticas y sobre cómo determinar los permisos resultantes, consulte Lógica de evaluación de políticas en la Guía del usuario de IAM.

AWS RAM proporciona una experiencia de uso compartido de recursos sencilla y segura al proporcionar políticas de abstracción basadas en recursos fáciles de usar.

En el caso de los tipos de recursos que admiten políticas basadas en recursos, AWS RAM crea y administra automáticamente las políticas basadas en recursos en su nombre. Para un recurso determinado, AWS RAM crea la política basada en recursos combinando la información de todos los recursos compartidos que incluyen dicho recurso. Por ejemplo, piense en una canalización de Amazon Sagemaker que comparte utilizando AWS RAM y que incluye en dos recursos compartidos diferentes. Podría utilizar un recurso compartido para proporcionar acceso de solo lectura a toda la organización. A continuación, podría utilizar el otro recurso compartido para conceder únicamente permisos de ejecución de SageMaker a una sola cuenta. AWS RAM combina automáticamente esos dos conjuntos diferentes de permisos en una única política de recursos con varias instrucciones. A continuación, adjunta la política combinada basada en recursos al recurso de la canalización. Puede ver esta política de recursos subyacente llamando a la operación GetResourcePolicy. Los Servicios de AWS utilizan entonces esa política basada en recursos para autorizar a cualquier entidad principal que intente realizar una acción en el recurso compartido.

Si bien puede crear políticas basadas en recursos manualmente y adjuntarlas a sus recursos llamando a PutResourcePolicy, le recomendamos que utilice AWS RAM, ya que ofrece las siguientes ventajas:

  • Capacidad de detección para entidades consumidoras de recursos compartidos: si comparte recursos utilizando AWS RAM, los usuarios pueden ver todos los recursos compartidos con ellos directamente en la consola de servicio y las operaciones de API del recurso propietario, como si dichos recursos estuvieran directamente en la cuenta del usuario. Por ejemplo, si comparte un proyecto de AWS CodeBuild con otra cuenta, los usuarios de la cuenta consumidora pueden ver el proyecto en la consola de CodeBuild y en los resultados de las operaciones de la API de CodeBuild realizadas. Los recursos que se comparten adjuntando directamente una política basada en recursos no están visibles de este modo. En su lugar, debe detectar el recurso y hacer referencia a él explícitamente por su ARN.

  • Capacidad de administración para los propietarios del recurso compartido: si comparte recursos utilizando AWS RAM, los propietarios de los recursos de la cuenta que comparte pueden ver de forma centralizada qué otras cuentas tienen acceso a sus recursos. Si comparte un recurso utilizando una política basada en recursos, solo podrá ver las cuentas consumidoras examinando la política de los recursos individuales en la consola de servicio o API correspondiente.

  • Eficiencia: si comparte recursos utilizando AWS RAM, puedes compartir varios recursos y administrarlos como una unidad. Los recursos que se comparten mediante el uso exclusivo de políticas basadas en recursos requieren que se adjunten políticas individuales a cada recurso que se comparte.

  • Sencillez: con AWS RAM, no necesita entender el lenguaje de políticas basado en JSON que utiliza IAM. AWS RAM proporciona permisos administrados de AWS listos para usar entre los que puede elegir para adjuntarlos a sus recursos compartidos.

Al usar AWS RAM, puede incluso compartir algunos tipos de recursos que aún no son compatibles con las políticas basadas en recursos. Para estos tipos de recursos, AWS RAM genera automáticamente una política basada en recursos como representación de los permisos reales. Los usuarios pueden ver esta representación llamando a GetResourcePolicy. Esto incluye los siguientes tipos de recursos:

  • Amazon Aurora: clústeres de base de datos (DB)

  • Amazon EC2: reservas de capacidad y hosts dedicados

  • AWS License Manager: configuraciones de licencias

  • AWS Outposts: tablas de enrutamiento de puerta de enlace, outposts y sitios

  • Amazon Route 53: reglas de reenvío

  • Amazon Virtual Private Cloud: direcciones IPv4 propiedad del cliente, listas de prefijos, subredes, destinos de reflejo de tráfico, puertas de enlace de tránsito, dominios de multidifusión de puerta de enlace de tránsito

Ejemplos de políticas basadas en recursos generadas por AWS RAM

Si comparte un recurso de imagen de EC2 Image Builder con una cuenta individual, AWS RAM genera una política similar a la del ejemplo siguiente y la adjunta a todos los recursos de imagen que estén incluidos en el recurso compartido.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::123456789012:root"}, "Action": [ "imagebuilder:GetImage", "imagebuilder:ListImages", ], "Resource": "arn:aws:imagebuilder:us-east-1:123456789012:image/testimage/1.0.0/44" } ] }

Si comparte un recurso de imagen de EC2 Image Builder con un rol o usuario de IAM de una Cuenta de AWS diferente, AWS RAM genera una política similar a la del ejemplo siguiente y la adjunta a todos los recursos de imagen que estén incluidos en el recurso compartido.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/MySampleRole" }, "Action": [ "imagebuilder:GetImage", "imagebuilder:ListImages", ], "Resource": "arn:aws:imagebuilder:us-east-1:123456789012:image/testimage/1.0.0/44" } ] }

Si comparte un recurso de imagen de EC2 Image Builder con todas las cuentas de una organización o con las cuentas de una unidad organizativa, AWS RAM genera una política similar a la del ejemplo siguiente y la adjunta a todos los recursos de imagen que estén incluidos en el recurso compartido.

nota

Esta política usa "Principal": "*" y luego usa el elemento "Condition" para restringir los permisos a las identidades que coincidan con los PrincipalOrgID especificados. Para obtener más información, consulte Implicaciones del uso de "Principal": "*" en una política basada en recursos.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "imagebuilder:GetImage", "imagebuilder:ListImages", ], "Resource": "arn:aws:imagebuilder:us-east-1:123456789012:image/testimage/1.0.0/44" "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-123456789" } } } ] }

Implicaciones del uso de "Principal": "*" en una política basada en recursos

Cuando se incluye "Principal": "*" en una política basada en recursos, la política concede acceso a todas las entidades principales de IAM de la cuenta que contiene el recurso, con sujeción a las restricciones que imponga un elemento Condition, si existe. Las instrucciones Deny explícitas de cualquier política que se aplique a la entidad principal de llamada anulan los permisos otorgados por esta política. Sin embargo, una instrucción Deny implícita (es decir, en ausencia de una instrucción Allow explícita) en cualquier política de identidad, política de límite de permisos o política de sesión aplicable no da como resultado una instrucción Deny a las entidades principales a las que dicha política basada en recursos concede acceso a una determinada acción.

Si este comportamiento no es deseable en su caso, puede limitarlo añadiendo una instrucción Deny explícita a una política de identidad, límite de permisos o política de sesión que afecte a los roles y usuarios pertinentes.

Permisos administrados

Los permisos administrados definen qué acciones pueden realizar las entidades principales, y en qué condiciones, para los tipos de recursos admitidos en un recurso compartido. Al crear un recurso compartido, debe especificar qué permiso administrado desea usar para cada tipo de recurso que esté incluido en el recurso compartido. Un permiso administrado enumera el conjunto de actions y las condiciones que las entidades principales pueden llevar a cabo en el recurso compartido utilizando AWS RAM.

Puede adjuntar un solo permiso administrado por cada tipo de recurso de un recurso compartido. No puede crear un recurso compartido en el que algunos recursos de un determinado tipo usen un permiso administrado y otros recursos del mismo tipo usen un permiso administrado diferente. Para ello, tendría que crear dos recursos compartidos diferentes y dividir los recursos entre ellos, atribuyendo a cada conjunto un permiso administrado diferente. Existen dos tipos diferentes de permisos administrados:

Permisos administrados de AWS

Los permisos administrados de AWS, de cuya creación y mantenimiento se encarga AWS, otorgan permisos para escenarios frecuentes del cliente. AWS RAM define al menos un permiso administrado de AWS para cada tipo de recurso compatible. Algunos tipos de recursos admiten más de un permiso administrado de AWS, designándose uno de ellos como el predeterminado de AWS. El permiso administrado predeterminado de AWS se asocia a menos que se especifique lo contrario.

Permisos administrados por el cliente

Los permisos administrados por el cliente son permisos administrados que usted crea y mantiene especificando con precisión qué acciones se pueden realizar, y en qué condiciones, en los recursos compartidos que se comparten utilizando AWS RAM. Por ejemplo, digamos que desea limitar el acceso de lectura a sus grupos del Administrador de direcciones IP (IPAM) de Amazon VPC, que le ayudan a administrar sus direcciones IP a gran escala. Puede crear permisos administrados por el cliente para que sus desarrolladores asignen direcciones IP, pero no ver el rango de direcciones IP que asignan otras cuentas de desarrollador. Puede seguir las prácticas recomendadas de privilegio mínimo para conceder únicamente los permisos necesarios para realizar tareas en los recursos compartidos.

Puede definir su propio permiso para un tipo de recurso de un recurso compartido, con la opción de añadir condiciones tales como claves de contexto globales y claves específica de servicio para especificar las condiciones en las que las entidades principales tienen acceso al recurso. Estos permisos se pueden usar en uno o más recursos compartidos de AWS RAM. Los permisos administrados por el cliente son específicos de una región.

AWS RAM utiliza los permisos administrados como entrada para crear las políticas basadas en recursos para los recursos que comparte.

Versión del permiso administrado

Cualquier cambio en un permiso administrado se representa como una nueva versión de ese permiso administrado. La nueva versión es la predeterminada para todos los recursos compartidos nuevos. Cada permiso administrado siempre tiene una versión designada como versión predeterminada. Cuando usted o AWS crean una nueva versión de un permiso administrado, debe actualizar de forma explícita el permiso administrado para cada recurso compartido existente. Puede evaluar los cambios antes de aplicarlos al recurso compartido en este paso. Todos los recursos compartidos nuevos utilizarán automáticamente la nueva versión del permiso administrado para el tipo de recurso correspondiente.

Versiones de los permisos administrados de AWS

AWS gestiona todos los cambios en los permisos administrados de AWS. Estos cambios abordan nuevas funcionalidades o eliminan deficiencias detectadas. Solo puede aplicar la versión predeterminada de un permiso administrado a sus recursos compartidos.

Versiones de los permisos administrados por el cliente

Usted se encarga de gestionar todos los cambios en los permisos administrados por el cliente. Puede crear una nueva versión predeterminada, establecer una versión anterior como predeterminada o eliminar las versiones que ya no estén asociadas a ningún recurso compartido. Puede haber hasta cinco versiones de cada permiso administrado por el cliente.

Al crear o actualizar un recurso compartido, solo puede adjuntar la versión predeterminada del permiso administrado especificado. Para obtener más información, consulte Actualizar los permisos administrados de AWS a una versión más reciente.