Restricciones de lanzamiento AWS Service Catalog - AWS Service Catalog

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.

Restricciones de lanzamiento AWS Service Catalog

Una restricción de lanzamiento especifica una función de AWS Identity and Access Management (IAM) que AWS Service Catalog supone cuando un usuario final lanza, actualiza o termina un producto. Un rol de IAM es una colección de permisos que un usuario de o servicio de puede asumir temporalmente para usar los servicios de . Para obtener un ejemplo introductorio, consulte:

Las restricciones de lanzamiento se aplican a los productos de la cartera (asociación producto-cartera). Las restricciones de lanzamiento no se aplican a nivel de cartera ni a un producto en todas las carteras. Para asociar una restricción de lanzamiento con todos los productos de una cartera, debe aplicar la restricción de lanzamiento individualmente a cada producto.

Sin una restricción de lanzamiento, los usuarios finales deben lanzar y administrar los productos con sus propias credenciales de IAM;. Para ello, deben tener permisos para AWS CloudFormation, los servicios de AWS que los productos utilizan y AWS Service Catalog. En cambio, el uso de un rol de lanzamiento permite limitar los permisos de los usuarios finales al mínimo necesario para el producto en cuestión. Para obtener más información acerca de los permisos de los usuarios finales, consulte Administración de identidad y acceso en AWS Service Catalog.

Para crear y asignar roles de IAM;, debe contar con los siguientes permisos administrativos de IAM:

  • iam:CreateRole

  • iam:PutRolePolicy

  • iam:PassRole

  • iam:Get*

  • iam:List*

Configuración de un rol de lanzamiento

El rol de IAM que se asigna a un producto como restricción de lanzamiento debe tener permisos para utilizar lo siguiente:

Para los productos de Cloudformation

  • La arn:aws:iam::aws:policy/AWSCloudFormationFullAccess AWS CloudFormation política administrada

  • Los servicios en la plantilla de AWS CloudFormation del producto;

  • Acceso de solo lectura a la plantilla de AWS CloudFormation en un bucket de Amazon S3 propiedad del servicio.

Para productos Terraform

  • los servicios utilizados en la plantilla de Amazon S3 del producto;

  • Acceso de solo lectura a la plantilla de Amazon S3 en un bucket de Amazon S3 propiedad del servicio.

  • resource-groups:Tag para etiquetar en una instancia de Amazon EC2 (asumido por el motor de aprovisionamiento Terraform al realizar operaciones de aprovisionamiento)

  • resource-groups:CreateGroup para el etiquetado de grupos de recursos (asumido por AWS Service Catalog para crear grupos de recursos y asignar etiquetas)

La política de confianza del rol de IAM debe permitir a AWS Service Catalog asumir el rol. En el siguiente procedimiento, la política de confianza se establecerá automáticamente al seleccionar AWS Service Catalog como el tipo de rol. Si no utiliza la consola, consulte la sección Crear políticas de confianza para los servicios de AWS que asumen roles en Cómo utilizar las políticas de confianza con los roles de IAM.

nota

Los permisos servicecatalog:ProvisionProduct, servicecatalog:TerminateProvisionedProduct y servicecatalog:UpdateProvisionedProduct no se pueden asignar en una función de lanzamiento. Debe usar los roles de IAM tal y como se muestra en los pasos de la política en línea en la sección Conceder permisos a AWS Service Catalog los usuarios finales.

nota

Para ver los productos y recursos de Cloudformation aaaprovisionado en la consola AWS Service Catalog, los usuarios finales necesitan acceso de lectura al AWS CloudFormation. Para ver los productos y recursos aaprovisionados en la consola no se utiliza el rol de lanzamiento.

Para crear un rol de lanzamiento
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

    Los productos de Terraform requieren configuraciones de roles de lanzamiento adicionales. Para obtener más información, consulte el Paso 5: Crear roles de lanzamiento en Cómo empezar con un producto de Terraform Open Source.

  2. Elija Roles.

  3. Elija Crear nuevo rol.

  4. Escriba un nombre de función y elija Next Step.

  5. En AWS Roles de Servicio elegir AWS Service Catalog Seleccionar.

  6. En la página Attach Policy, elija Next Step.

  7. Para crear una función, elija Create Role.

Para adjuntar una política al nuevo rol
  1. Elija la función que ha creado para ver la página de detalles de dicha función.

  2. Elija la pestaña Permissions y, a continuación, expanda la sección Inline Policies. A continuación, elija click here.

  3. Elija Custom Policy y después Select.

  4. Introduzca un nombre para la política y, a continuación, pegue lo siguiente en el editor Policy Document:

    "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetObject" ], "Resource":"*", "Condition":{ "StringEquals":{ "s3:ExistingObjectTag/servicecatalog:provisioning":"true" } } ] }
    nota

    Al configurar un rol de lanzamiento para una restricción de lanzamiento, debe usar esta cadena: "s3:ExistingObjectTag/servicecatalog:provisioning":"true".

  5. Agregue una línea a la política por cada servicio adicional que el producto utilice. Por ejemplo, si desea agregar permiso para Amazon Relational Database Service (Amazon RDS), escriba una coma al final de la última línea de la lista Action y, a continuación, agregue la siguiente línea:

    "rds:*"
  6. Seleccione Apply Policy.

Aplicación de una restricción de lanzamiento

Tras configurar el rol de lanzamiento, asigne el rol al producto como una restricción de lanzamiento. Esta acción indica a AWS Service Catalog que debe asumir la función cuando un usuario final lance el producto.

Para asignar el rol a un producto
  1. Abra la consola de Service Catalog en https://console.aws.amazon.com/servicecatalog/.

  2. Elija la cartera que contiene el producto.

  3. Elija la pestaña Constraints (Restricciones) y elija Create constraint (Crear restricción).

  4. Elija el producto en Product (Producto) y elija Launch (Lanzar) en Constraint type (Tipo de restricción). Elija Continuar.

  5. En la sección Restricción de lanzamiento, puede seleccionar un rol de IAM de su cuenta y especificar un ARN de rol de IAM o escribir el nombre del rol.

    Si especifica el nombre del rol si una cuenta utilice la restricción de lanzamiento, se utilizará el rol de IAM con ese nombre en la cuenta. Este enfoque permite que las restricciones del rol de lanzamiento sean independientes de la cuenta, de modo que pueda crear menos recursos por cuenta compartida.

    nota

    El nombre del rol especificado debe existir en la cuenta creada para crear la restricción de lanzamiento y la cuenta del usuario que lanza un producto con esta restricción de lanzamiento.

  6. Después de especificar el rol de IAM, elija Create (Crear).

Añadir Confused Deputy a una restricción de lanzamiento

AWS Service Catalog admite la protección de Confused Deputy para las API que se ejecutan con una solicitud de Assume Role. Al añadir una restricción de lanzamiento, puede restringir el acceso a al rol de lanzamiento mediante las condiciones de la política de confianza del rol de lanzamiento sourceAccount y sourceArn. Garantiza que el rol de lanzamiento sea llamado por una fuente confiable.

En el siguiente ejemplo, la AWS Service Catalog usuario final pertenece a la cuenta 111111111111. Cuando el administrador AWS Service Catalog crea una LaunchConstraint para un producto, el usuario final puede especificar las siguientes condiciones en la política de confianza del rol de lanzamiento para restringir asumir el rol a la cuenta 111111111111.

"Condition":{ "ArnLike":{ "aws:SourceArn":"arn:aws:servicecatalog:us-east-1:111111111111:*" }, "StringEquals":{ "aws:SourceAccount":"111111111111" } }

Un usuario que aprovisiona un producto con la LaunchConstraint debe tener el mismo AccountId (111111111111). En caso contrario, la operación falla con un error AccessDenied, lo que impide un uso indebido del rol de lanzamiento.

Las siguientes API AWS Service Catalog están protegidas para la protección de Confused Deputy:

  • LaunchConstraint

  • ProvisionProduct

  • UpdateProvisionedProduct

  • TerminateProvisionedProduct

  • ExecuteProvisionedProductServiceAction

  • CreateProvisionedProductPlan

  • ExecuteProvisionedProductPlan

La protección sourceArn para AWS Service Catalog solo admite ARN con plantillas, como "arn:<aws-partition>:servicecatalog:<region>:<accountId>:". No admite ARN de recursos específicos.

Verificar la restricción de lanzamiento

Para comprobar que AWS Service Catalog utiliza la función para lanzar el producto y que el producto aprovisionado se ha creado correctamente, lance el producto desde la consola de AWS Service Catalog. Para probar una restricción antes de distribuírsela a los usuarios, cree una cartera de prueba que contenga los mismos productos y pruebe las restricciones con ella.

Para lanzar el producto
  1. En el menú de la consola de AWS Service Catalog, elija Catálogo de Servicios y Usuario final.

  2. Elija el producto para abrir la página Detalles del producto. En la tabla Opciones de lanzamiento, compruebe que aparezca el nombre de recurso de Amazon (ARN) de la función.

  3. Seleccione Lanzar producto.

  4. Continúe con los demás pasos del lanzamiento y rellene la información que se le pida.

  5. Compruebe que el producto se inicia correctamente.