

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.

# AWS Service Catalog Acciones de servicio
<a name="using-service-actions"></a>

**nota**  
AWS Service Catalog no admite acciones de servicio para los productos Terraform Open Source o Terraform Cloud.

AWS Service Catalog le permite reducir el mantenimiento administrativo y la formación de los usuarios finales y, al mismo tiempo, cumplir con las medidas de cumplimiento y seguridad. Con las acciones de servicio, como administrador, puede permitir a los usuarios finales que realicen tareas operativas, solucionen problemas, ejecuten comandos aprobados o soliciten permisos en AWS Service Catalog. Los [documentos de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html) se utilizan para definir acciones. Los [AWS Systems Manager documentos](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html) proporcionan acceso a acciones predefinidas que implementan las AWS mejores prácticas, como detener y reiniciar Amazon EC2, y también puede definir acciones personalizadas.

En este tutorial se proporcionará a los usuarios finales la capacidad de reiniciar una instancia Amazon EC2. Añadirá los permisos necesarios, definirá la acción de servicio, asociará la acción de servicio con un producto y probará la experiencia del usuario final utilizando la acción con un producto aprovisionado.

## Requisitos previos
<a name="service-actions-prerequisites"></a>

En este tutorial se presupone que dispone de todos los permisos de AWS administrador AWS Service Catalog, con los que ya está familiarizado y que ya dispone de un conjunto básico de productos, carteras y usuarios. Si no está familiarizado con este tutorial AWS Service Catalog, complete la [configuración](setup.md) y [Introducción](getstarted.md) las tareas antes de seguir con él.

**Topics**
+ [Requisitos previos](#service-actions-prerequisites)
+ [Paso 1: Configurar los permisos de usuario final](#service-actions-configure-end-user-permissions)
+ [Paso 2: Crear una acción de servicio](#service-actions-create-new-service-action)
+ [Paso 3: Asociar la acción de servicio con una versión de producto](#service-actions-associate-with-product-version)
+ [Paso 4: Probar la experiencia del usuario final](#service-actions-test-end-user-experience)
+ [Paso 5: Administrar las acciones del servicio con AWS CloudFormation](#service-actions-cloudformation)
+ [Paso 6: solucionar problemas](#service-actions-troubleshooting)

## Paso 1: Configurar los permisos de usuario final
<a name="service-actions-configure-end-user-permissions"></a>

Los usuarios finales deben tener los permisos necesarios para ver y realizar acciones de servicio específicas. En este ejemplo, el usuario final necesita permiso para acceder a la función de acciones de AWS Service Catalog servicio y realizar un reinicio de Amazon EC2.

**Para actualizar los permisos**

1. Abra la consola AWS Identity and Access Management (IAM) en. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. En el menú, localice los grupos de usuarios.

1. Elija los grupos que los usuarios finales utilizarán para acceder a AWS Service Catalog los recursos. En este ejemplo, seleccionamos el grupo de usuarios finales. En su propia implementación, elija el grupo que utilizan los usuarios finales relevantes.

1. En la pestaña **Permissions (Permisos)** de la página de detalles de su grupo, puede crear una nueva política o editar una existente. En este ejemplo, agregamos permisos a la política existente seleccionando la política personalizada creada para los permisos de AWS Service Catalog aprovisionamiento y rescisión del grupo.

1. En la página **Policy (Política)**, seleccione **Edit Policy (Editar política)** para agregar los permisos necesarios. Puede utilizar el editor visual o el editor JSON para editar la política. En este ejemplo, utilizamos el editor JSON para añadir los permisos. Para este tutorial, añada los siguientes permisos a la política:

------
#### [ JSON ]

****  

   ```
   {
   	"Version":"2012-10-17",		 	 	 
   	"Statement": [
   		{
   			"Sid": "Stmt1536341175150",
   			"Action": [
   				"servicecatalog:ListServiceActionsForProvisioningArtifact",
   				"servicecatalog:ExecuteprovisionedProductServiceAction",
   				"ssm:DescribeDocument",
   				"ssm:GetAutomationExecution",
   				"ssm:StartAutomationExecution",
   				"ssm:StopAutomationExecution",
   				"cloudformation:ListStackResources",
   				"ec2:DescribeInstanceStatus",
   				"ec2:StartInstances",
   				"ec2:StopInstances"
   			],
   			"Effect": "Allow",
   			"Resource": "*"
   		}
   	]
   }
   ```

------

1. Después de editar la política, revise y apruebe el cambio en ella. Los usuarios del grupo de usuarios finales ahora tienen los permisos necesarios para realizar la acción de reinicio de Amazon EC2 en AWS Service Catalog.

## Paso 2: Crear una acción de servicio
<a name="service-actions-create-new-service-action"></a>

A continuación, creará una acción de servicio para reiniciar las instancias Amazon EC2.

1. Abre la AWS Service Catalog consola en [https://console.aws.amazon.com/sc/](https://console.aws.amazon.com/servicecatalog/).

1. En el menú, elija **Service actions (Acciones de servicio)**.

1. En la página **Acciones de servicio**, elija **Crear acción**.

1. En la página **Crear acción**, elija un AWS Systems Manager documento para definir la acción del servicio. La acción de reinicio de instancia Amazon EC2 está definida por un documento AWS Systems Manager , por lo que mantenemos la opción predeterminada en el menú desplegable **Documentos de Amazon**.

1. Busque y elija la acción **AWS-Restart EC2 Instance**.

1. Proporcione un nombre y una descripción a la acción que tenga sentido para su entorno y su equipo. El usuario final verá esta descripción, así que elija algo que le ayude a entender lo que hace la acción.

1. En **Configuración de parámetro y destino**, elija el parámetro de documento de SSM que será el destino de la acción (por ejemplo, el **ID de instancia**) y elija el destino del parámetro. Seleccione **Add parameter (Añadir parámetro)** para añadir parámetros adicionales. 

1. En **Permissions (Permisos)**, elija un rol. Estamos usando permisos predeterminados para este ejemplo. Son posibles otras configuraciones de permisos y están definidas en esta página.

1. Después de revisar la configuración, elija **Create action** (Crear acción).

1. En la página siguiente, aparece una confirmación cuando se ha creado la acción y está lista para utilizarse.

## Paso 3: Asociar la acción de servicio con una versión de producto
<a name="service-actions-associate-with-product-version"></a>

Después de definir una acción, debe asociar un producto a dicha acción.

1. En la página **de acciones del servicio**, elija **AWS-Restart** yEC2instance, a continuación, seleccione **Asociar acción**. 

1. En la página **Associate action (Asociar acción)**, elija el producto en el que desea que sus usuarios finales realicen la acción de servicio. En este ejemplo, elegimos **Linux Desktop (Escritorio Linux)**.

1. Seleccione una versión del producto. Tenga en cuenta que puede utilizar la casilla de verificación superior para seleccionar todas las versiones.

1. Elija **Associate action (Asociar acción)**.

1. En la página siguiente aparece un mensaje de confirmación.

Ha creado la acción de servicio en AWS Service Catalog. El siguiente paso de este tutorial es utilizar la acción de servicio como usuario final.

## Paso 4: Probar la experiencia del usuario final
<a name="service-actions-test-end-user-experience"></a>

Los usuarios finales pueden realizar acciones de servicio en los productos aprovisionados. Para los fines de este tutorial, el usuario final debe tener al menos un producto aprovisionado. El producto aprovisionado debe lanzarse desde la versión del producto que asoció con la acción de servicio en el paso anterior.

**Para obtener acceso a la acción de servicio como usuario final**

1. Inicie sesión en la AWS Service Catalog consola como usuario final. 

1. En el AWS Service Catalog panel de control, en el panel de navegación, seleccione la **lista de productos aprovisionados**. La lista muestra los productos que se aprovisionan para la cuenta del usuario final.

1. En la página **Provisioned products list**, elija la instancia que está aprovisionada.

1. En la página de **detalles del producto aprovisionado**, selecciona **Acciones** en la parte superior derecha y, a continuación, selecciona la acción **AWS EC2instance-Restart**. 

1. Confirme que desea ejecutar la acción personalizada. Recibirá una confirmación de que se ha enviado la acción.

## Paso 5: Administrar las acciones del servicio con AWS CloudFormation
<a name="service-actions-cloudformation"></a>

 Puede crear acciones de servicio y sus asociaciones con AWS CloudFormation los recursos. Para obtener más información, consulte lo indicado en la *Guía del usuario de AWS CloudFormation *: 
+  [AWS::ServiceCatalog::CloudFormationProduct ProvisioningArtifactProperties](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationproduct-provisioningartifactproperties.html) 
+  [AWS::ServiceCatalog::ServiceActionAsociación](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceactionassociation.html) 

**nota**  
 Si gestionas las asociaciones de acciones de servicio con CloudFormation recursos, no añadas ni quites acciones de servicio a través del AWS Command Line Interface o Consola de administración de AWS. Cuando actualiza una pila, se sustituyen todos los cambios en las acciones del servicio que se hayan realizado fuera de CloudFormation . 

## Paso 6: solucionar problemas
<a name="service-actions-troubleshooting"></a>

Si la ejecución de la acción de servicio produce un error, puede encontrar el mensaje de error en la sección **Outputs** del evento de ejecución de acción de servicio en la página **Provisioned product**. A continuación, puede consultar las explicaciones de los mensajes de error comunes que puede encontrar.

**nota**  
El texto exacto de los mensajes de error está sujeto a cambios, por lo que debe evitar usarlos en cualquier tipo de proceso automatizado.

 **Internal Failure (Error interno)**

AWS Service Catalog se produjo un error interno. Inténtelo de nuevo más tarde. Si el error persiste, póngase en contacto con el servicio de atención al cliente. 

 **Se ha producido un error (ThrottlingException) al llamar a la StartAutomationExecution operación**

La ejecución de la acción del servicio se limitó por el servicio backend, como SSM. 

 **Access denied while assuming the role (Acceso denegado al asumir el rol)**

 AWS Service Catalog no pudo asumir la función especificada en la definición de la acción de servicio. Asegúrese de que la entidad principal *servicecatalog.amazonaws.com* o una entidad principal regional como *servicecatalog.us-east-1.amazonaws.com* esté incluida en la lista de la política de confianza del rol. 

 **Se produjo un error (AccessDeniedException) al llamar a la StartAutomationExecution operación: el usuario no está autorizado a realizar: ssm: StartAutomationExecution en el recurso.**

El rol especificado en la definición de la acción de servicio no tiene permisos para invocar ssm:. StartAutomationExecution Asegúrese de que el rol tiene los permisos de SSM adecuados. 

 **No se encuentra ningún recurso con el tipo {{TargetType}} en el producto aprovisionado**

El producto aprovisionado no contiene ningún recurso que coincida con el tipo de destino especificado en el documento SSM, como AWS: :EC2: :Instance. Compruebe el producto aprovisionado para estos recursos o confirme que el documento es correcto. 

 **Document with that name does not exist (El documento con ese nombre no existe)**

El documento especificado en la definición de acción del servicio no existe. 

 **Failed to describe SSM Automation document (Se ha producido un error al describir el documento de automatización de SSM)**

AWS Service Catalog encontró una excepción desconocida de SSM al intentar describir el documento especificado. 

 **Failed to retrieve credentials for role (Se ha producido un error al recuperar las credenciales para el rol)**

AWS Service Catalog encontró un error desconocido al asumir la función especificada. 

 **El parámetro tiene el valor "{{InvalidValue}}" y no se encuentra en {{{ValidValue1}, {ValidValue2}}}**

 El valor del parámetro pasado a SSM no está en la lista de valores permitidos para el documento. Confirme que los parámetros proporcionados son válidos e inténtelo de nuevo. 

 **Error de tipo de parámetro. El valor proporcionado para no {{ParameterName}} es una cadena válida.**

El valor del parámetro pasado a SSM no es válido para el tipo del documento. 

 **Parameter is not defined in service action definition (El parámetro no está definido en la definición de acción del servicio)**

Se ha pasado un parámetro AWS Service Catalog que no está definido en la definición de la acción de servicio. Solo puede utilizar parámetros definidos en la definición de acción del servicio. 

 **El paso falla cuando se trata de una executing/canceling acción. {{Error message.}} Por favor, consulte la Guía de solución de problemas del servicio de automatización para obtener más detalles de diagnóstico.**

 Se ha producido un error en un paso del documento de automatización de SSM. Consulte el error en el mensaje para solucionar más problemas. 

 **Los siguientes valores para el parámetro no están permitidos porque no están en el producto aprovisionado: {{InvalidResourceId}}**

El usuario solicitó la acción en un recurso que no está en el producto aprovisionado. 

 **TargetType no definido para el documento de automatización de SSM**

Las acciones de servicio requieren que los documentos de automatización de SSM tengan una TargetType definición. Compruebe su documento de automatización de SSM. 