Terraform Cloud

March 16, 2023 ยท View on GitHub

Terraform Cloud + JupiterOne Integration Benefits

  • Visualize Terraform Cloud organizations, users, workspaces, and workspace resources in the JupiterOne graph.
  • Map Terraform Cloud users to employees in your JupiterOne account.
  • Monitor changes to Terraform Cloud users using JupiterOne alerts.

How it Works

  • JupiterOne periodically fetches organizations, users, workspaces, and workspace resources from Terraform Cloud to update the graph.
  • Write JupiterOne queries to review and monitor updates to the graph.
  • Configure alerts to take action when JupiterOne graph changes.

Requirements

  • Terraform Cloud supports authentication through a Bearer Token. You must have the appropriate API token.
  • You must have permission in JupiterOne to install new integrations.

Support

If you need help with this integration, please contact JupiterOne Support.

Integration Walkthrough

In Terraform Cloud

  1. Create a Terraform Cloud account.
  2. Generate a Terraform Cloud authentication token.
  3. Enter the generated authentication token in the API_KEY field in .env.
  4. Enter the organization name you want the integration to ingest data from in the ORGANIZATION_NAME field in .env.

In JupiterOne

  1. From the top navigation of the J1 Search homepage, select Integrations.
  2. Scroll to the Terraform Cloud integration tile and click it.
  3. Click the Add Configuration button.
  4. Enter the Account Name by which you'd like to identify this Terraform Cloud account in JupiterOne. Ingested entities will have this value stored in tag.AccountName when Tag with Account Name is checked.
  5. Enter a Description that will further assist your team when identifying the integration instance.
  6. Select a Polling Interval that you feel is sufficient for your monitoring needs. You may leave this as DISABLED and manually execute the integration.
  7. Enter the Terraform Cloud Authentication Token generated for use by JupiterOne.
  8. Click Create Configuration once all values are provided.

How to Uninstall

  1. From the top navigation of the J1 Search homepage, select Integrations.
  2. Scroll to the Terraform Cloud integration tile and click it.
  3. Identify and click the integration to delete.
  4. Click the trash can icon.
  5. Click the Remove button to delete the integration.

Data Model

Entities

The following entities are created:

ResourcesEntity _typeEntity _class
Accounttfe_accountAccount
Entitlement Settfe_entitlement_setEntity
Organizationtfe_organizationOrganization
Resourcetfe_workspace_resourceResource
Teamtfe_teamTeam
Usertfe_userUser
Workspacetfe_workspaceProject

Relationships

The following relationships are created:

Source Entity _typeRelationship _classTarget Entity _type
tfe_accountHAStfe_organization
tfe_organizationHAStfe_entitlement_set
tfe_organizationHAStfe_team
tfe_organizationHAStfe_user
tfe_organizationHAStfe_workspace
tfe_workspaceHAStfe_workspace_resource