Capabilities
| Resource | Sync | Provision |
|---|---|---|
| Accounts | ||
| Groups | ||
| IAM roles | ||
| Cluster roles | ||
| Namespaces | ||
| Namespace roles | ||
| Access policies |
Before you begin
This connector requires you to have a working AWS connector. If you haven’t already done so, set up the AWS connector before you proceed. You’ll also need the AWS CLI installed and configured, andkubectl configured to connect to your EKS cluster.
Gather EKS credentials
Configuring the connector requires you to pass in credentials generated in EKS. The EKS connector requires different credentials based on your chosen hosting method:| Credential | Cloud-hosted | Self-hosted | Notes |
|---|---|---|---|
| Region | |||
| Cluster name | |||
| Access key | |||
| Access key secret | |||
| Assume role ARN | The configuration process varies by hosting method. |
(Cloud and self-hosted) Look up your region and cluster name
If you want to integrate multiple clusters, you must set up an EKS connector for each one.
(Self-hosted) Look up an AWS IAM access key and secret
Navigate to IAM (Identity and Access Management) > Users and select the user you want to generate the key for.
Click Create access key, and choose use cases as relevant (these do not impact the scope of the key itself).
(Cloud-hosted) Generate an Assume Role ARN
This process has several steps, and we’ll walk through them together.Get a ConductorOne-provided External ID
Choose how to set up the new AWS connector:
- Add the connector to a currently unmanaged app (select from the list of apps that were discovered in your identity, SSO, or federation provider that aren’t yet managed with ConductorOne)
- Add the connector to a managed app (select from the list of existing managed apps)
- Create a new managed app
Set the owner for this connector. You can manage the connector yourself, or choose someone else from the list of ConductorOne users. Setting multiple owners is allowed.
If you choose someone else, ConductorOne will notify the new connector owner by email that their help is needed to complete the setup process.
Create a custom IAM role
Navigate to the IAM Dashboard and select Access Management > Roles > Create Role.
Select Custom Trust Policy and paste the following into the Trust Policy JSON editor, replacing
EXTERNAL_ID_FROM_C1_INTEGRATIONS_PAGE with the External ID from ConductorOne.(Self-hosted) Generate an Assume Role ARN
Navigate to the IAM Dashboard and select Access Management > Roles > Create Role.
Assign the role permissions within the cluster
Once you have created the role, you need to assign it permissions inside the cluster. You can do this by editing theaws-auth configmap and mapping the created role to the cluster-admin user or any cluster user/group with admin privileges. For more restricted, granular permissions, you can create a custom ClusterRole that has read-only permissions.
To use the connector for role provisioning, the assumed IAM role must be part of the system:masters group.
You can see the current state of your aws-auth configmap by running:
mapRoles section:
aws-auth configmap. Since this configmap lives in kube-system namespace, special permissions are required. You need to be part of the system:masters group in Kubernetes. The members of this group have full administrative permissions over the entire cluster (including edit resources in the kube-system namespace where the aws-auth configmap resides). Note: The cluster creator is automatically added to this group.
To add a role to the system:masters group you can follow the process above to edit the configmap and add an entry in the mapRoles field.
Example entry:
Configure the EKS connector
- Cloud-hosted
- Self-hosted
Follow these instructions to use a built-in, no-code connector hosted by ConductorOne.That’s it! Your EKS connector is now pulling access data into ConductorOne.
Choose how to set up the new EKS connector:
- Add the connector to a currently unmanaged app (select from the list of apps that were discovered in your identity, SSO, or federation provider that aren’t yet managed with ConductorOne)
- Add the connector to a managed app (select from the list of existing managed apps)
- Create a new managed app
Set the owner for this connector. You can manage the connector yourself, or choose someone else from the list of ConductorOne users. Setting multiple owners is allowed.
If you choose someone else, ConductorOne will notify the new connector owner by email that their help is needed to complete the setup process.
Finally, tell the connector where to find the identities that will be used for this app in ConductorOne.
- In the Shared identity source area of the page, click Edit.
- Select your AWS v2 connector.
- Optional. Limit the identities pulled from the connector you selected to only those with a certain entitlement by setting the entitlement.
- Click Save.