Introduction
Elisity Cloud Control Center (CCC) supports connectivity to Amazon Web Services (AWS) as a cloud workload connector, enabling discovery and visibility of EC2 instances within IdentityGraph. This extends Elisity's identity-based microsegmentation from on-premises network devices to cloud workloads, allowing administrators to manage both traditional endpoints and cloud instances under a unified policy framework.
The AWS connector discovers EC2 instances across selected AWS regions and imports their metadata into IdentityGraph. This gives administrators unified visibility into cloud workloads alongside traditional endpoints, with instance attributes, AWS account and network names, AWS tags, and per-interface network context available for review in IdentityGraph.
This article covers the following configuration workflow:
- Enabling the Workloads feature in Advanced Settings
- Configuring the AWS connector with IAM credentials and region selection
- Assigning a Workload Distribution Zone to the AWS discovery endpoint
- Viewing discovered workloads in IdentityGraph
Prerequisites
- Administrator access to Elisity Cloud Control Center
- An AWS IAM user with programmatic access (Access Key ID and Secret Access Key) and read permissions for EC2 across the target regions
- Alternatively, an IAM role that Elisity can assume, with read permissions for EC2 across the target regions. This method stores no long-lived credentials in Cloud Control Center and is recommended for production environments.
- The IAM user or role must have the permissions listed in Required AWS Permissions
- At least one active EC2 instance in the target AWS account for discovery validation
Required AWS Permissions
The permissions policy that Cloud Control Center displays during connector setup grants the following read-only permissions on all resources. The policy does not create, modify, or delete anything in AWS.
| Permission group | Actions | Purpose | Required or Optional |
|---|---|---|---|
|
Instances and placement EC2ReadOnly |
ec2:DescribeInstancesec2:DescribeInstanceStatusec2:DescribeRegionsec2:DescribeAvailabilityZones
|
Discover instances, their state, and the region and availability zone each instance runs in. | Required |
|
Virtual networks and interfaces EC2ReadOnly |
ec2:DescribeVpcsec2:DescribeSubnetsec2:DescribeNetworkInterfacesec2:DescribeAddresses
|
Read the VPC, subnet, network interface, and IP address context of each instance. This is also the source of the Virtual Network Name and Subnet Name values. | Required |
|
Security groups EC2ReadOnly |
ec2:DescribeSecurityGroupsec2:DescribeSecurityGroupRules
|
Read the security groups and rules attached to each interface. | Required |
|
Routing and egress EC2ReadOnly |
ec2:DescribeRouteTablesec2:DescribeInternetGatewaysec2:DescribeNatGatewaysec2:DescribeVpnConnectionsec2:DescribeVpnGatewaysec2:DescribeTransitGatewaysec2:DescribeTransitGatewayAttachmentsec2:DescribeTransitGatewayVpcAttachments
|
Read the route table and the internet, NAT, VPN, or transit gateway path that each interface uses to reach other networks. | Required |
|
Tags EC2ReadOnly |
ec2:DescribeTags |
Read the instance tags shown as CSP Tags and the Name tags used for Virtual Network Name and Subnet Name. | Required |
|
Load balancing ELBReadOnly |
elasticloadbalancing:DescribeLoadBalancerselasticloadbalancing:DescribeTargetGroupselasticloadbalancing:DescribeTargetHealthelasticloadbalancing:DescribeListenerselasticloadbalancing:DescribeTags
|
Read load balancers, target groups, target health, listeners, and their tags. | Required |
|
Account identity STSIdentity |
sts:GetCallerIdentity |
Identify the AWS account that the connector authenticates to. Cloud Control Center also uses this permission to validate the connection. | Required |
|
Account alias IAMAccountAlias |
iam:ListAccountAliases |
Display the AWS account alias as Account Name. Without it, discovery and validation still succeed and Account Name is empty. | Optional |
Enable the Workloads Feature
The Workloads capability is an advanced feature that must be enabled before the AWS connector and Workloads navigation become available.
Step 1. Enable Workloads in Advanced Settings
Navigate to Settings > System > Advanced. Locate the Workloads tile and toggle Enable Workloads to the on position.
After enabling Workloads, the left navigation updates. The IdentityGraph menu expands to display two sub-items: Devices and Workloads. The Connectors page also displays the Amazon Web Services connector option.
The Workloads feature must be enabled before any cloud connector configuration or workload visibility is available in Cloud Control Center.
Configure the AWS Connector
After enabling Workloads, configure the AWS connector to establish connectivity to your AWS account and begin discovering EC2 instances.
Step 2. Open the Add Connector Dialog
Navigate to Settings > Connectors and click + Add Connector.
Step 3. Select Amazon Web Services
In the Add Connector dialog, locate and select Amazon Web Services. This will only be visible after enabling Workloads in Step 1. Click Configure.
The connector configuration wizard opens with four steps: Authentication Type, Authentication Setup, AWS Regions, and Summary.
Step 4. Configure Authentication
On the Authentication Type step, enter a Connector Name and choose how Elisity authenticates to your AWS account:
- IAM Role Assumption - Elisity assumes a read-only role in your AWS account. No credentials are stored in Cloud Control Center. This method is marked Recommended and is the preferred option for production environments.
- IAM Access Keys - Elisity authenticates with an IAM user's access keys. Setup is simpler, but the access keys must be rotated manually.
Select the authentication method and click Next.
Authentication Setup
The Authentication Setup step presents the fields for the method selected on the Authentication Type step.
IAM Role Assumption
When IAM Role Assumption is selected, Cloud Control Center guides you through four steps to create and connect the role in your AWS account.
Step 1: Create IAM Policy in AWS
In the AWS Console, go to IAM > Policies > Create Policy, switch to the JSON editor, and paste the permissions policy displayed by Cloud Control Center. The policy grants the permissions listed in Required AWS Permissions. Name the policy ElisityCloudDiscoveryPolicy, then click I've Created The Policy.
In the AWS IAM console, the created policy lists the allowed services and access levels for the granted permissions.
Step 2: Create an IAM Role in AWS
In the AWS Console, go to IAM > Roles > Create Role and complete the following:
- Select AWS account as the trusted entity type.
- Choose Another AWS account and enter the Account ID provided by Cloud Control Center.
- Select Require external ID and enter the External ID provided by Cloud Control Center.
- Attach the
ElisityCloudDiscoveryPolicycreated in the previous step. - Give the role a name that begins with
ElisityDiscoveryRole.
Use the Copy buttons in Cloud Control Center to copy the Account ID and External ID exactly, then click I've Created The Role.
While creating the role in AWS, attach the ElisityCloudDiscoveryPolicy when prompted to add permissions.
After the role is created, the AWS console displays the role summary with the attached ElisityCloudDiscoveryPolicy.
Step 3: Verify Trust Policy
The trust policy is configured automatically when you create the role. Cloud Control Center displays the expected trust policy so you can confirm it matches the one on your role, including the sts:AssumeRole action and the External ID condition. After confirming, click Looks Good.
Step 4: Enter Role ARN and Test
Copy the Role ARN from the role you created in AWS, paste it into the Role ARN field, and click Test Connection. When the role is validated, Cloud Control Center confirms that your AWS credentials were validated and you can proceed to the next step.
Important: If the test connection fails when using IAM Role Assumption, verify that the role trust policy allows Elisity to assume the role, that the External ID entered in AWS matches the value provided in Cloud Control Center, and that the permissions policy granting EC2 read access is attached to the role.
IAM Access Keys
When IAM Access Keys is selected, enter the Access Key ID and Secret Access Key for the IAM user, then click Test Connection to validate the credentials against the AWS API. This step also displays the read-only permissions policy that the IAM user requires. You can switch to IAM Role Assumption at any time from this step.
The Authentication Setup step for IAM Access Keys requires the following fields:
| Field | Description |
|---|---|
| Access Key ID | The IAM Access Key ID for the AWS user account with EC2 read permissions |
| Secret Access Key | The IAM Secret Access Key corresponding to the Access Key ID |
Important: If the test connection fails when using IAM Access Keys, verify that the Access Key ID and Secret Access Key are correct and that the IAM user has the required EC2 read permissions.
Step 5. Select AWS Regions
On the AWS Regions step, choose which AWS regions to scan for EC2 instances. Two options are available:
- All Regions - Scans all available AWS regions (17 regions). When selected, Cloud Control Center validates API access to every region during the permissions check. If the IAM credentials do not have access to all regions, Cloud Control Center automatically switches the selection to Custom and pre-selects only the regions where permissions were successfully validated.
-
Custom - Select specific regions to scan (for example,
us-east-1,us-east-2,us-west-1,us-west-2). Use this option to limit discovery to regions where your workloads reside or where the IAM user has permissions.
Select the appropriate option and, if using Custom, add the target regions to the Regions field.
After selecting the regions, click Validate Permissions to verify that the IAM credentials have API access to the selected regions. A success message confirms: "All regions verified successfully. You're ready to proceed with your workload setup." Click Next.
If you change the region selection afterwards, click Re-Validate to check the updated list.
If All Regions is selected and validation fails for one or more regions, Cloud Control Center reports which regions could not be reached and automatically switches the selection from All Regions to Custom. The regions where permissions were successfully validated are pre-selected in the Custom regions list. This prevents the connector from making repeated API calls to regions where the IAM credentials lack access. Review the pre-selected regions, add or remove entries as needed, and click Validate Permissions again to confirm.
Step 6. Review and Submit
On the Summary step, review the connector configuration including the Authentication details (Connector Name, Authentication Method, and masked Access Key ID) and the number of selected AWS Regions. Click Submit to create the connector.
When the connector uses IAM Role Assumption, the Authentication details show the assumed Role ARN in place of the Access Key ID.
After submission, the connector appears on the Connectors page with an Active status. Cloud Control Center begins discovering EC2 instances across the configured regions. The initial discovery completes within approximately 60 seconds, and subsequent discovery cycles run at the same interval.
Use the row actions menu on the connector endpoint to edit, sync, or delete it.
View Discovered Workloads
After the AWS connector completes its initial discovery cycle, discovered EC2 instances appear in the Workloads section of IdentityGraph.
Step 7. Navigate to the Workloads Page
Navigate to IdentityGraph > Workloads. The Workloads page displays a summary dashboard and a searchable table of all discovered cloud workloads.
Workload Summary
The summary section at the top of the page provides an overview of discovered workloads including:
- Total Workloads - The total count of discovered EC2 instances
- By State - Color-coded indicators showing the number of running, stopped, and terminated instances
- By Region - A donut chart showing the distribution of workloads across AWS regions
- By Virtual Network - A donut chart showing the distribution of workloads across Virtual Private Clouds (VPCs)
- By Instance Type - A donut chart showing the distribution of workloads by EC2 instance type
Workload Table
The table below the summary lists each discovered workload with the following columns:
| Column | Description |
|---|---|
| Hostname/Instance ID | The hostname or AWS instance identifier for the workload |
| Provider | The cloud provider (AWS) |
| Status | The current state of the EC2 instance (Running, Stopped) |
| IP Addresses | The primary IP address of the instance, with a count of additional addresses if applicable |
| Enforcement IP Address | The IP address configured for policy enforcement on the workload |
| Account ID | The 12-digit ID of the AWS account where the instance runs |
| Account Name | The AWS account alias. Empty when no account alias is available. See Required AWS Permissions |
| Instance Type | The AWS instance type (for example, t2.micro, t2.medium, t3.small) |
| Region | The AWS region where the instance runs (for example, us-west-1) |
| Platform | The operating system platform (for example, Linux/UNIX, Windows) |
| Virtual Network | The AWS Virtual Private Cloud identifier where the instance resides |
| Virtual Network Name | The value of the VPC Name tag. Empty when the VPC has no Name tag |
| Subnet | The AWS subnet identifier for the instance |
| Subnet Name | The value of the subnet Name tag. Empty when the subnet has no Name tag |
| MAC Address | The MAC address of the primary network interface |
| Tags | The AWS tags applied to the instance |
| Last Update | The timestamp of the most recent discovery update for the instance |
Account ID, Account Name, Virtual Network Name, and Subnet Name are visible by default and can be filtered and sorted like the other columns. Use Manage Columns in the table toolbar to show or hide columns. When a workload has interfaces in more than one VPC or subnet, the cell shows the first value and a +N indicator that opens the full list.
Step 8. View Workload Details
Click on any workload in the table to open its detail page. The Workload Details page displays three sections of information:
Instance Details
This section displays the authoritative metadata sourced directly from AWS. These fields are sourced from AWS and update automatically during each discovery cycle:
| Field | Description |
|---|---|
| Instance ID | The unique AWS instance identifier |
| Endpoint Name | The connector name associated with this workload |
| Account ID | The ID of the AWS account where the instance runs |
| Account Name | The AWS account alias |
| Provider | The cloud provider (AWS) |
| MAC Address | The MAC address of the primary network interface |
| Status | The current instance state (RUNNING, STOPPED) |
| Region | The AWS region |
| VPC ID | The VPC identifier |
| VPC Name | The value of the VPC Name tag |
| Subnet ID | The subnet identifier |
| Subnet Name | The value of the subnet Name tag |
| Availability Zone | The AWS availability zone |
| Hostname | The hostname reported for the instance |
| Instance Type | The EC2 instance type |
| Sync Status | The synchronization state between AWS and Cloud Control Center (UP_TO_DATE) |
| Last Update | The timestamp of the most recent discovery update for the instance |
The workload also carries the Workload Distribution Zone of the AWS discovery endpoint that discovered it. The value is read-only on the workload and is changed by editing the endpoint.
Labels and Tags
This section displays two categories of metadata:
-
CSP Tags - Tags applied to the EC2 instance in AWS (for example,
Role: WebServer,Environment: Production,Application: CustomerPortal). These are read-only and synchronize automatically from AWS. - Manually Configured Labels - Elisity-specific labels that administrators can manually assign to the workload for additional classification.
Manually Configured
This section contains fields that administrators can edit directly in Cloud Control Center:
- Hostname - A custom hostname for the workload
- Risk Level - An administrator-assigned risk level
- Risk Score - An administrator-assigned risk score
Network Interfaces
The Network Interfaces tab lists each network interface attached to the workload. A workload can have one or more interfaces, and each interface is modeled with its own network context and security data. For each interface, this tab displays:
- Enforcement IP - The IP address configured for policy enforcement on the interface, marked Auto-discovered when Cloud Control Center derived it from the interface rather than an administrator setting it
- Network Context - The interface MAC address, VPC ID and VPC Name, Subnet ID and Subnet Name, subnet CIDR, source/destination check state, and route table
- Security Groups - The AWS security groups associated with the interface
- CSP Interface Tags - Read-only tags applied to the interface in AWS
- Elisity Interface Tags - Tags that administrators can assign to the interface in Cloud Control Center
Operationalization
Connector Status
After configuring the AWS connector, verify its status by navigating to Settings > Connectors. The Amazon Web Services connector should display an Active status, indicating that Cloud Control Center is successfully communicating with the AWS API and discovering EC2 instances at the configured interval.
Verification
To confirm that the Cloud Workloads integration is functioning correctly:
- Navigate to IdentityGraph > Workloads and verify that EC2 instances from the configured regions appear in the workload list.
- Click on an individual workload to confirm that Instance Details, CSP Tags, and other metadata are populated.
- Open the Network Interfaces tab on the workload and confirm that the per-interface details are populated.
- If applicable, verify that tag changes made in the AWS console are reflected in Cloud Control Center within approximately 60 seconds.
- Filter the Account ID column by your AWS account ID and confirm that the instances from the connected account appear in the table.
Troubleshooting
| Issue | Resolution |
|---|---|
| Workloads navigation item does not appear | Verify that the Workloads feature is enabled under Settings > System > Advanced. The toggle must be in the on position. |
| AWS connector test connection fails (IAM Access Keys) | Verify that the IAM Access Key ID and Secret Access Key are correct and that the IAM user has the required EC2 read permissions. |
| IAM Role authentication or test connection fails | Verify that the role trust policy allows Elisity to assume the role, that the External ID entered in AWS matches the value provided in Cloud Control Center, and that the ElisityCloudDiscoveryPolicy granting EC2 read permissions is attached to the role. Confirm that the Role ARN entered in the connector is correct. |
| Region validation fails for some regions | The IAM user may not have permissions for certain regions. Cloud Control Center automatically selects only the accessible regions. Adjust the IAM policy to include the desired regions if needed. |
| No workloads appear after connector setup | Allow approximately 60 seconds for the initial discovery cycle to complete. Verify that EC2 instances exist in the selected regions and that the connector status is Active. |
| AWS tag changes are not reflected | Tag changes propagate from AWS to Cloud Control Center within approximately 60 seconds. If changes do not appear after this interval, verify the connector status is Active. |
| Account Name is empty | Confirm that the optional IAMAccountAlias permission in Required AWS Permissions is granted and that an account alias is set in AWS IAM. The value appears after the next discovery cycle. |
| Virtual Network Name or Subnet Name is empty | The VPC or subnet has no Name tag in AWS, or the tag is blank. Add a Name tag in AWS. The name appears after the next discovery cycle. |
| AWS discovery endpoint cannot be saved | A Workload Distribution Zone is required on every AWS discovery endpoint. Assign one to the endpoint, then save it again. If none exists, create one first. |
| Duplicate endpoint is rejected | The whole endpoint configuration is validated, not the name alone. Edit the existing endpoint that already covers this AWS account and region set instead of adding a second one. |
| A workload interface is not enforced on its Enforcement IP | The interface Enforcement IP conflicts with a network device or with another workload interface. Devices take priority over workloads. Where two workload interfaces present the same Enforcement IP, the interface that already holds the address keeps it and the other is not enforced on that address; the existing assignment is never preempted. Correct the duplicate address, then recheck the tab. |
| A Distribution Zone cannot be deleted | A Distribution Zone referenced by an AWS discovery endpoint cannot be deleted. Reassign every endpoint that references it, then delete the Distribution Zone. |