No history yet

API Authentication and Connectivity

Connecting ExtraHop to Power BI

To pull data from ExtraHop Reveal(x) into Power BI, you'll interact directly with its REST API. ExtraHop's v1 API is built on a standard, stateless architecture, making it straightforward to query. Understanding its structure is key to efficient data extraction. The system is split between two main appliance types, each with a distinct role and API endpoint.

The Discover appliance is where raw packet and flow data is processed. It's the source for granular metrics, device information, and transaction records. In contrast, the Command appliance (formerly ExtraHop Command or ECH) acts as a centralized management console. It aggregates data from multiple Discover appliances, providing a unified view and handling tasks like reporting and user administration.

When building a report, you'll query a specific Discover appliance for detailed records and the Command appliance for high-level, multi-segment dashboards.

Generating and Using API Keys

Authentication for the ExtraHop API doesn't use traditional username and password credentials. Instead, it relies on API keys for secure, programmatic access. You can generate these keys from the ExtraHop Admin UI. Go to System Settings > API Access to create a new key. Each key can be scoped with specific permissions, allowing you to grant read-only access for data extraction without exposing administrative functions. This aligns with the principle of least privilege, a core concept in information security.

To collect data through the ExtraHop APIs, API Access must be enabled.

Once you have your key, every request you send to the API must include it in the HTTP headers. The specific header required is Authorization, and its value must be formatted as ExtraHop-API-Key followed by the key itself. This header serves as your credential for every API call, verifying that your request is authorized.

GET /api/v1/metrics HTTP/1.1
Host: your-extrahop-appliance.com
Authorization: ExtraHop-API-Key 1234567890abcdef1234567890abcdef
Accept: application/json

Configuring the Power BI Connector

Power BI has a versatile 'Web' data connector that can query REST APIs. To connect to ExtraHop, you'll start by selecting Get Data > Web. In the dialog box, choose the 'Advanced' option. This is crucial because it allows you to construct the full HTTP request, including the necessary custom headers.

In the 'URL parts' section, enter the full endpoint you want to query. For example, to get a list of all active devices from a Discover appliance, you might use an address like https://extrahop-discover-01/api/v1/devices.

Next, in the 'HTTP request header parameters' section, you'll add the header. Enter 'Authorization' in the left field and ExtraHop-API-Key <your_api_key> in the right field, replacing <your_api_key> with the key you generated earlier. Power BI will now include this header with every request to the ExtraHop API, ensuring your connection is authenticated.

A common issue when connecting to on-premises appliances like ExtraHop is dealing with SSL/TLS certificates. If your appliance uses a self-signed or internal CA-signed certificate, Power BI Desktop may initially refuse to connect, citing a security risk. By default, Power BI enforces to prevent man-in-the-middle attacks.

For development or in trusted internal networks, you can instruct Power BI to bypass this check. In the 'Get Data' web connector settings, there's often an option to ignore certificate validation errors. In production environments, the best practice is to ensure the appliance has a valid certificate from a trusted authority or to import the internal CA's root certificate onto the machine running Power BI.

Time to test what you've learned about connecting these two powerful tools.

Quiz Questions 1/6

What is the primary role of an ExtraHop Discover appliance?

Quiz Questions 2/6

How does the ExtraHop API handle authentication for programmatic access?

With a secure connection established, you're now ready to start pulling specific datasets and building insightful visualizations.