How to install a Connector on a Kubernetes cluster to integrate Kubernetes with Apono
To integrate with Kubernetes and start managing JIT access to Kubernetes resources, you must first install a connector in your Kubernetes cluster.
This is can be done by one of the following methods:
Helm
Terraform
What's a connector? What makes it so secure?
The Apono Connector is an on-prem connection that can be used to connect resources to Apono and separate the Apono web app from the environment for maximal security.
An Apono connector is installed in the cloud platform managing your Kubernetes resource. The installation is made by running a Helm command with the necessary parameters.
An existing Kubernetes project on one of the following platforms:
Google Kubernetes Engine (GKE)
Elastic Kubernetes Service (EKS)
Azure Kubernetes Engine (AKS)
Kubernetes (self-managed)
Helm
kubectl
Select any Kubernetes integration in the Catalog.
You can install a new connector from any Kubernetes New Integration form. Pick the one relevant to your network.
Connectors for EKS, GKE, AKS and self-managed Kubernetes work in the same way.
From the drop-down list on the next page select Add a New Connector, and then select Help.
Copy the token displayed toward the bottom of the page.
Run the following Helm command in a terminal:
Without permissions
If you would like to install the connector in Kubernetes, but not grant Apono access to read or manage access to Kubernetes resources, use this code:
With permissions
If you would like to install the connector in Kubernetes and grant Apono access to read and manage access to Kubernetes resources, use this code:
Where:
[APONO_TOKEN] is the token copied from the integration page in the previous step.
[CONNECTOR_NAME] is any name you choose to give the connector.
Helm will finish with a message that the apono-connector has been installed.
Interested in HA for the connector?
Add this variable to the Helm chart to create one or more replicas of the Apono connector instance:
--set-string replicaCount=<number_of_replicas>
Read more here.
The Kubernetes Connector is now installed.
Return to the Add new integration form from step 1 for EKS, GKE, AKS or self-managed Kubernetes.
The Connector is found by the form, marked by a green checkmark
You can now integrate Apono with your Kubernetes instance
Complete the integration with EKS, GKE, AKS or self-managed Kubernetes.
If you are managing more than one Kubernetes cluster, you must be certain that the current context points to the cluster into which the Apono connector is to be added.
Get the current context with kubectl config current-context
Set the current context with kubectl config use-context [clustername]
An Apono connector is installed in the cloud platform managing your Kubernetes resource. The installation is made by adding an Apono module to your Terraform configuration.
A Kubernetes project on one of the following platforms:
Google Kubernetes Engine (GKE)
Elastic Kubernetes Service (EKS)
Azure Kubernetes Engine (AKS)
Kubernetes (self-managed)
Terraform with the following providers:
Helm
Kubernetes
AWS
Select any Kubernetes integration in the Catalog.
You can install a new connector from any Kubernetes New Integration form. Pick the one relevant to your network.
Connectors for EKS, GKE, AKS and self-managed Kubernetes work in the same way.
From the drop-down list on the next page select Add a New Connector, and then select Terraform.
Copy the token displayed toward the bottom of the page.
Add the following to your Terraform module.
If you would like to install the connector in Kubernetes, but not grant Apono access to read or manage access to Kubernetes resources, use this code:
If you would like to install the connector in Kubernetes and grant Apono access to read and manage access to Kubernetes resources, use this code:
Where:
[APONO_TOKEN] is the token copied from the integration page in the previous step.
[CONNECTOR_NAME] is any name you choose to give the connector.
Run terraform init
. It will finish with the message:
"Terraform has been successfully initialized!"
Run terraform apply
. It will finish with the message:
"Apply complete! Resources: (N) added.."
The Kubernetes Connector is now installed.
Return to the Add new integration form from step 1 for EKS, GKE, AKS or self-managed Kubernetes.
The Connector is found by the form, marked by a green checkmark
You can now integrate Apono with your Kubernetes instance
Complete the integration with EKS, GKE, AKS or self-managed Kubernetes.
Return to the Catalog, and select one of the following Kubernetes integrations:
Learn how to update a connector through the Helm CLI
Periodically, you may need to update your Kubernetes connector to help maintain functionality, performance, and security.
This article explains how to update a connector through the Helm CLI.
Item | Description |
---|---|
Use the following steps to update an Apono connector for Kubernetes:
In the shell environment, run the following helm upgrade
command to pull the most recent connector version.
Shell
Parameter | Description |
---|---|
On the Connectors page, verify that the connector has been updated.
You have chosen the advanced installation method
You can also easily connect AWS in Apono following this UI guide
It's required that you have your Cloud Account connected to your Kubernetes Cluster In this example we use Kube2Iam solution for kubernetes on EC2
The Connector is deployed using helm and requires and IAM Role to be able to access tagged ASM secrets in the future. You can choose to install the Connector using either your CLI or Terraform:
CLI
Create a IAM role to allow Connector read access for apono tagged secrets
Get AWS Account
Replace #EKS_CLUSTER_NAME
Create Connector Role
Assign Role Policies
Deploy Apono Connector
Terraform
Required providers: helm
(v2.5.1), aws
, kubernetes
You can validate the Connector is installed in the .
Cluster admin access
Cluster admin access to the cluster to integrate The cluster admin access can be the built-in cluster-admin role or equivalent permission level.
Helm Command Line Interface (Helm CLI)
Command-line interface used to manage Kubernetes applications
apono.connectorId string
ID for the connector
apono.token string
Token value obtained from the Apono UI
serviceAccount.managerClusterRoles boolean
Configures whether the connector also manages access to the cluster on which it is deployed
The value of serviceAccount.manageClusterRoles
should be based on whether the installation has been set up to manage the cluster roles or not.