GCP
Integrating GCP with Escape's Inventory enhances visibility and management of GKE deployments across GCP services. The integration enriches your inventory with detailed data from GKE Clusters:
Supported GCP Services¶
- GKE: Google-managed Kubernetes platform. Escape uses the Kubernetes API to monitor cluster resources and configurations.
Generating a GCP OAuth Credentials (for a project)¶
Create your API Credentials in GCP for a project:
- Navigate to your API Credentials page
- Click Create Service Account and follow the setup instructions
- Assign the Viewer role from Basic roles
- Click Done to create the account
- Open the newly created service account
- Go to the Keys tab and click Add Key
- Select Create new key, choose JSON format, and click Create
- Save the downloaded JSON file and copy its contents
- Paste the JSON contents into the designated text area
Important: Enable the following APIs in the GCP console: - GKE API - DNS API
Generating a GCP OAuth Credentials (for an organization)¶
Create your API Credentials in GCP for an organization:
- Navigate to the GCP IAM Admin Console at the organization level (requires organization owner access)
-
Ensure you have the following roles:
Organization Administrator
Organization Role Administrator
(Add roles using the edit button next to your user)
-
Go to organization-level roles and click Create Role
-
Configure the role:
- Title: Escape Integration Role
- ID: escape_integration_role
- Role Launch Stage: General availability
-
Add the following permissions:
API Gateway Permissions:
apigateway.apiconfigs.get apigateway.apiconfigs.list apigateway.apis.get apigateway.apis.list apigateway.gateways.get apigateway.gateways.list apigateway.locations.get apigateway.locations.list apigateway.operations.get apigateway.operations.list
Apigee & Registry Permissions:
apigee.apiproducts.get apigee.apiproducts.list apigee.organizations.get apigee.organizations.list apigeeregistry.specs.get apigeeregistry.specs.list
Compute Engine Permissions:
compute.addresses.get compute.addresses.list compute.backendServices.get compute.backendServices.list compute.firewallPolicies.get compute.firewallPolicies.list compute.instances.get compute.instances.list compute.networks.get compute.networks.list
DNS & Resource Manager Permissions:
Creating and Configuring the Service Account¶
- Create a new GCP Project or use an existing one for the Escape service account
-
Visit the Service Accounts page and configure:
- Name: Escape Integration Service Account
- ID: escape-integration-service-acc (or your preferred naming convention)
-
Create a service account key:
- Navigate to the service account details
- Go to Keys tab and click Add Key
- Create a new key in JSON format
- Save the downloaded JSON file
-
Grant organization-level access:
- Copy the service account email:
escape-integration-service-acc@<yourprojectid>.iam.gserviceaccount.com
- Go to Organization IAM
- Click Grant Access
- Paste the service account email and select the custom role created earlier
- Copy the service account email:
Note: You can alternatively use predefined roles like roles/compute.networkViewer
and roles/iam.securityReviewer
for a simplified setup.
- Complete the integration by pasting the JSON key into Escape's GCP integration page
This integration enables comprehensive monitoring of your GCP resources and ensures thorough security and compliance assessment of all endpoints.