# AWS
# Overview
Process Automation integrates with Amazon Web Services (AWS) through a variety of plugins listed below. By integrating Process Automation with AWS, users can provide a centralized, self-service interface for both simple and complex tasks spanning multiple cloud environments.
Click to expand to see the full list of Process Automation plugins for AWS:
Process Automation AWS Plugins
# Setup
Because Process Automation can be self-hosted and has a Cloud offering Runbook Automation, there are multiple methods for authenticating with AWS:
EC2 IAM Role - For Process Automation hosted on EC2
ECS Task IAM Role - For Process Automation hosted on ECS
Access Key & Secret & Key - For Process Automation or Runbook Automation
# Option 1: EC2 IAM Role
When self-hosting Process Automation on EC2, the recommended method for integrating with AWS is to assign an IAM role to the EC2 virtual-machines:
- Go to the AWS Management Console and open the IAM console at https://console.aws.amazon.com/iam/ (opens new window).
- In the navigation pane of the console, click Roles and then click Create New Role.
- For the Trusted Entity Type select AWS service.
- Under Common use cases select EC2 then click Next.
- In the Permissions policies, select the permission-sets based on the plugins you intend to use.
- For example, all of the CloudWatch Logs Plugins require
logs:StartQuery
andlogs:GetQueryResults
while the Execute Saved Query also requireslogs:DescribeQueryDefinitions
.
Then click Next.
- For example, all of the CloudWatch Logs Plugins require
- Specify a Role Name and a Description. Do not change the Select trusted entities.
- Click Create Role.
- Navigate to the EC2 console and click on Instances.
- Click on the EC2 (or multiple instances if running a clustered setup) and click on Actions -> Security -> Modify IAM Role:
- Click on Choose IAM Role and find the IAM Role you created in Step 6 then click Update IAM Role:
Now that the IAM Role is attached to the EC2, use the following steps to define this authentication method in Process Automation:
System Level
- Click on the System Menu (gear icon) in the upper right.
- Click on System Configuration.
- Navigate to the AWS section and click on the Pencil Icon in the upper right.
- (Optional) Set a default Region to be used for all plugins.
- From the Credential Provider field dropdown, select EC2.
- Click Save in the lower right:
Project Level
- In the specific project, click on Project Settings in the lower left.
- Click on Edit Configuration then click on Plugins.
- Click on +PluginGroup.
- Select AWS from the list:
- (Optional) Select the default Region to be used for all plugins within this project.
- From the Credential Provider field dropdown, select EC2.
- Click Save in the lower right.
# Option 2: ECS Task IAM Role
When self-hosting Process Automation on ECS, the recommended method for integrating with AWS is to assign an IAM role to the ECS Task Role:
- Go to the AWS Management Console and open the IAM console at https://console.aws.amazon.com/iam/ (opens new window).
- In the navigation pane of the console, click Roles and then click Create New Role.
- For the Trusted Entity Type select AWS service.
- Under Common use cases find Elastic Container Task in the dropdown under User cases for other AWS services:
- In the Permissions policies, select the permission-sets based on the plugins you intend to use.
- For example, all of the CloudWatch Logs Plugins require
logs:StartQuery
andlogs:GetQueryResults
while the Execute Saved Query also requireslogs:DescribeQueryDefinitions
.
Then click Next.
- For example, all of the CloudWatch Logs Plugins require
- Specify a Role Name and a Description. Do not change the Select trusted entities.
- Click Create Role.
- Navigate to the ECS console and click on Task Definitions.
- Select the Task Definition used for Process Automation and Create new revision.
- Scroll down to the Environment section and select the role you created for the Task Role field:
Now that the IAM Role is attached to the ECS Task, use the following steps to define this authentication method in Process Automation:
System Level
- Click on the System Menu (gear icon) in the upper right.
- Click on System Configuration.
- Navigate to the AWS section and click on the Pencil Icon in the upper right.
- (Optional) Set a default Region to be used for all plugins.
- From the Credential Provider field dropdown, select ECS.
- Click Save in the lower right:
Project Level
- In the specific project, click on Project Settings in the lower left.
- Click on Edit Configuration then click on Plugins.
- Click on +PluginGroup.
- Select AWS from the list:
- (Optional) Select the default Region to be used for all plugins within this project.
- From the Credential Provider field dropdown, select ECS.
- Click Save in the lower right.
# Option 3: Access Key & Secret Key
- Create an AWS Access Key and Secret Key that is associated with an IAM Role, follow these instructions (opens new window).
- Once the keys have been downloaded, add the Secret Key into Project or System Key Storage using the Password key type, following these instructions.
Tip
If using a third party credential-store, such as Hashicorp Vault, then skip step 2.
Now that the AWS Secret Key has been added to Key Storage, use the following steps to configure authentication for either the entire system or for a specific project:
System Level
- Click on the System Menu (gear icon) in the upper right.
- Click on System Configuration.
- Navigate to the AWS section and click on the Pencil Icon in the upper right.
- Click the Select button next to Key Storage Password and find the AWS Secret that was saved in step 2 above.
- Place your AWS Access Key into the Access Key ID field.
- (Optional) Set a default Region to be used for all plugins
- Click Save in the lower right.
Project Level
- In the specific project, click on Project Settings in the lower left.
- Click on Edit Configuration then click on Plugins.
- Click on +PluginGroup.
- Select AWS from the list:
- Click the Select button next to Key Storage Password and find the AWS Secret that was saved in step 2 above.
- Place your AWS Access Key into the Access Key ID field.
- (Optional) Select the default Region to be used for all plugins within this project.
- Click Save in the lower right.