How to install a Connector on a GCP Project to integrate a GCP Organization or Project with Apono with Helm
To integrate with GCP and start managing JIT access to GCP cloud resources, you must first install a connector in your GCP environment.
The GCP connector must be installed on a GKE cluster. You can do this with CLI or with GCP Deployment Manager in the GCP Portal. The Apono connector will require permissions to the organization or to a specific project, depending on the level of access management you want to achieve with Apono.
To manage access to a single GCP Project, install a connector in a GKE cluster on that project and give the connector the appropriate role to the project. Follow this guide.
To manage access to a GCP Organization, install a connector in a GKE cluster on any project and give the connector the appropriate role to the organization. Follow this guide.
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.
Read more about the recommended GCP Installation Architecture.
Prerequisites
A GKE cluster on any GCP Project of your choosing
Kubernetes command-line tool (kubectl)
The Apono GCP token generated in the Apono UI:
Step-by-step guide
Prepare parameters for Apono installation
Fill and set the values for the following variables:
Set the connector service account variable:
Make sure Cloud Resource Manager API is enabled
Create IAM Service Account and grant it the roles: Browser, Security Admin and Tag Viewer for the entire organization.
Verifying default GKE cluster for installation
Open the Kubernetes command-line tool
Run kubectl config get-contexts
to see the GKE clusters list
Set the desired cluster to be the default - kubectl config use-context
#the name of the cluster
Run kubectl get-contexts
- verify the "*" indicates the correct cluster.
Bind the IAM Service Account to the K8S Service Account
Install Helm Chart
The helm chart installs the following:
Kubernetes Deployment containing the Apono-Connector image container
Kubernetes Service Account annotated with GCP IAM Service Account
Kubernetes Secret containing Docker Registry credentials
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.
Prerequisites
A GKE cluster on the GCP Project you'd like to integrate with Apono
Kubernetes command-line tool (kubectl)
The Apono GCP token generated in the Apono UI:
Step-by-step guide
Prepare parameters for Apono installation
Fill and set the values for the following variables:
Set the following variable:
Enable Cloud Resource Manager API
Create IAM Service Account and grant it with the roles: Browser, Security Admin and Tag Viewer for the project.
Verifying default GKE cluster for installation
Open the Kubernetes command-line tool
Run kubectl config get-contexts
to see the GKE clusters list
Set the desired cluster to be the default - kubectl config use-context
#the name of the cluster
Run kubectl get-contexts
- verify the "*" indicates the correct cluster.
Bind the IAM Service Account to the K8S Service Account
Install Helm Chart
The helm chart installs the following:
Kubernetes Deployment containing the Apono-Connector image container
Kubernetes Service Account annotated with GCP IAM Service Account
Kubernetes Secret containing Docker Registry credentials
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.
You can validate the Connector is installed in the Connector status page.
Then, In the Apono app, you will see the connector was found and a green checkmark indication.
Hurray!
You now have a GCP connector installed in your GCP environment with permissions to the Project.
You can now integrate Apono with a GCP Project or GCP Organization.
Learn how to update a connector through the Helm CLI
Periodically, you may need to update your Google Cloud connector to help maintain functionality, performance, and security.
This article explains how to update a connector through the Helm CLI.
Item | Description |
---|---|
To update an Apono connector for Google Cloud, follow these steps in the shell environment:
Set the APONO_CONNECTOR_ID
environment variable to your chosen connector ID value.
Set the APONO_TOKEN
environment variable to your account token.
Set the PROJECT_ID
environment variable to the Google Project ID.
Set the GCP_SERVICE_ACCOUNT_EMAIL
environment variable.
Run the following helm upgrade
command to pull the most recent connector version.
On the Connectors page, verify that the connector has been updated.
Deploy the Docker image of the Apono connector as Cloud Run service
Cloud Run is a managed compute platform that enables running containerized applications in a fully managed serverless environment.
This article explains how to setup an Apono connector for Cloud Run with a Docker image.
Item | Description |
---|---|
Use the following sections to create a Cloud Run user for either your Google Project or Google Organization.
Follow these steps to create a service account for Cloud Run in a Google Project:
In your shell environment, log in to Google Cloud and enable the API.
Set the environment variables.
Create the service account.
Assign the following roles to the service account.
Follow these steps to create a service account for Cloud Run in a Google Organization:
In your shell environment, log in to Google Cloud and enable the API.
Set the environment variables.
Create the service account.
Assign the following roles to the service account.
Follow these steps to deploy the Apono connector:
Push the connector image to GCP Artifact Registry.
The following sets of commands push the connector image to the GCP Artifact Registry:
New Registry: Use the code on this tab to push the Apono connector Docker image to a new GCP Artifact Registry.
Existing Registry: Use the code on this tab to push the Apono connector Docker image to an existing Docker-format GCP Artifact Registry
Deploy the Docker image of the Apono connector to the Cloud Run service.
Deploy the Apono connector with Helm
Integrating a cloud account with Apono allows you to sync and manage your resources:
Discover existing privileges and identities
Manage employee and application provisioning to cloud assets and data repositories with delegated approval workflows
Provide granular permissions to customer-sensitive data
This article explains how to set up an Apono connector for Google Cloud with Helm.
Item | Description |
---|
Use the following sections to create an IAM service account user for either your or .
Follow these steps to create a service account for a Google Project:
In your shell environment, log in to Google Cloud and enable the API.
Set the environment variables.
Create the service account.
Assign the following roles to the service account.
Follow these steps to create a service account for a Google Organization:
In your shell environment, log in to Google Cloud and enable the API.
Set the environment variables.
Create the service account.
Assign the following roles to the service account.
Follow these steps to deploy the Apono connector:
Deploy the Apono connector on a GKE cluster.
Create a new GKE cluster
Connect the GKE cluster.
Verify the GKE cluster is selected as the default cluster. The default cluster is denoted with \*
.
Connect the GKE cluster.
Verify the GKE cluster is selected as the default cluster. The default cluster is denoted with \*
.
Bind the IAM Service Account to the GKE Service Account.
Deploy Apono connector on your GKE cluster using Helm Chart.
Create a connector on Google Kubernetes Engine
Connectors are secure on-premises components that link Apono to your resources:
No secrets are read, cached, or stored
No account admin privileges need to be granted to Apono
The connector contacts your secret store or key vault to sync data or provision access
Once set up, this connector will enable you to sync data from cloud applications and grant and revoke access permissions through Google Kubernetes Engine (GKE).
Item | Description |
---|
Use the following sections to install a connector for either your or .
Follow these steps to install an Apono connector for a Google Project:
In your shell environment, log in to Google Cloud with an account possessing Owner permissions.
At the shell prompt, set the environment variables.
(Optional) Set the following optional environment variables.
In a new or existing Terraform (.tf) file, add the following provider and module information to create a connector.
At the Terraform CLI, download and install the provider plugin and module.
Apply the Terraform changes. The proposed changes and a confirmation prompt will be listed.
Enter yes to confirm deploying the changes to your Google Project instance.
Follow these steps to install an Apono connector for a Google Organization:
In your shell environment, log in to Google Cloud with an account possessing Organization Administrator permissions.
At the shell prompt, set the environment variables.
(Optional) Set the following optional environment variables.
In a new or existing Terraform (.tf) file, add the following provider and module information to create a connector.
At the Terraform CLI, download and install the provider plugin and module.
Apply the Terraform changes. The proposed changes and a confirmation prompt will be listed.
Enter yes to confirm deploying the changes to your Google Organization instance.
Role | Permissions Granted |
---|---|
Role | Permissions Granted |
---|---|
Role | Permissions Granted |
---|
Role | Permissions Granted |
---|
On the page, verify that the connector has been deployed.
On the page, verify that the connector has been deployed.
Apono Token
Account-specific Apono authentication value Use the following steps to obtain your token:
On the Connectors page, click Install Connector. The Install Connector page appears.
Click GCP > Install and Connect GCP Project > CLI (GKE).
Copy the token in step listed on the page in step 1.
Helm Command Line Interface (Helm CLI)
Command-line interface used to manage Kubernetes applications
Owner Role
Google Cloud role that provides full access to most Google Cloud resources
Project ID
Identifier for the Google project
Apono Token
Account-specific Apono authentication value Use the following steps to obtain your token:
On the Connectors page, click Install Connector. The Install Connector page appears.
Click Cloud installation.
Click Cloud installation > GCP > Install and Connect GCP Project > CLI (Cloud Run).
Copy the token listed on the page in step 1.
Kubernetes Command Line Tool (kubectl)
Command-line tool used for communicating with a Kubernetes cluster's control plane
Google Cloud Command Line Interface (Google Cloud CLI)
Command-line interface used to manage Google Cloud resources
Google Cloud Information
Information for your Google Cloud instance
Google-defined Values:
(Organization) Organization ID
Google Cloud Location
Customer-defined Values:
Service Account Name
Artifact Repository Name
Cloud Run Service Name
Google Cloud Roles
Google Cloud role that provides Owner permissions for the project or organization
Project Implementation Role:
Owner
Organization Implementation Roles:
Owner
Organization Administrator
role/secretmanager.secretAccessor
Access secret versions
Read the secret data
roles/iam.securityAdmin
Manage IAM policies, roles, and service accounts
Set and update IAM policies
Grant, modify, and revoke IAM roles for users and service accounts
role/secretmanager.secretAccessor
Access secret versions
Read the secret data
roles/iam.securityAdmin
Manage IAM policies, roles, and service accounts
Set and update IAM policies
Grant, modify, and revoke IAM roles for users and service accounts
roles/browser
List resources within the organization
View metadata
role/secretmanager.secretAccessor |
|
roles/iam.securityAdmin |
|
role/secretmanager.secretAccessor |
|
roles/iam.securityAdmin |
|
roles/browser |
|
Apono Token | Account-specific Apono authentication value Use the following steps to obtain your token:
|
Kubernetes Command Line Tool (kubectl) |
Google Cloud Command Line Interface (Google Cloud CLI) |
Google Cloud Information | Information for your Google Cloud instance:
|
Owner Role |
Apono Token | Account-specific Apono authentication value Use the following steps to obtain your token:
|
Google Cloud Command Line Interface (Google Cloud CLI) |
Google Cloud Information | Information for your Google Cloud instance:
Optional:
|
Owner Role |
On the page, click Install Connector. The Install Connector page appears.
used for communicating with a Kubernetes cluster's control plane
used to manage Google Cloud resources
(Organization)
that provides Owner permissions for the project or organization
On the page, click Install Connector. The Install Connector page appears.
used to manage Google Cloud resources
(Organization)
that provides Owner permissions for the project or organization