> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/university/iacm.md).

# Infrastructure as Code Management

Automate and secure your cloud infrastructure at scale with advanced governance for Terraform and OpenTofu workflows.

Go to [Harness University](/university/readme.md) for the full catalogue of courses and certifications.

<a href="#self-paced-training" class="button secondary small">Self-Paced Training</a> <a href="#instructor-led-training" class="button secondary small">Instructor-Led Training</a> <a href="#certifications" class="button secondary small">Certifications</a>

## Self-Paced Training

Free self-paced courses that you can consume on your own time.

<table data-view="cards"><thead><tr><th></th><th></th><th><select><option value="IO6SHbQtJQDD" label="Free" color="blue"></option></select></th><th><select><option value="65IPc74Fp3pr" label="Harness Platform" color="blue"></option><option value="rGuM1IvX7VJb" label="Infrastructure as Code Management" color="blue"></option></select></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Harness Platform Fundamentals</strong></td><td><p>Self-paced video course introducing the Harness Platform.</p><p><br><em>Product version: Free Plans of any module</em></p></td><td><span data-option="IO6SHbQtJQDD">Free</span></td><td><span data-option="65IPc74Fp3pr">Harness Platform</span></td><td><a href="https://2307127582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Feh03Q8VHpO02MFM5nUSL%2Fuploads%2F7QGXbawYR4BP0qizpMwP%2Fplatform.png?alt=media&amp;token=c2620ec1-3d29-479e-bd7c-74a979590f65">platform.png</a></td><td><a href="https://university-registration.harness.io/self-paced-training-platform-fundamentals">https://university-registration.harness.io/self-paced-training-platform-fundamentals</a></td></tr><tr><td><strong>Introduction to AI Agents</strong></td><td><p>Self-paced tidbit introducing the Custom AI Agents.</p><p><br><em>Product version: Paid Plans of any module</em></p></td><td><span data-option="IO6SHbQtJQDD">Free</span></td><td><span data-option="65IPc74Fp3pr">Harness Platform</span></td><td><a href="https://2307127582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Feh03Q8VHpO02MFM5nUSL%2Fuploads%2F7QGXbawYR4BP0qizpMwP%2Fplatform.png?alt=media&amp;token=c2620ec1-3d29-479e-bd7c-74a979590f65">platform.png</a></td><td><a href="https://university-registration.harness.io/self-paced-training-tidbit-custom-ai-agents">https://university-registration.harness.io/self-paced-training-tidbit-custom-ai-agents</a></td></tr><tr><td><strong>Infrastructure as Code Management</strong></td><td><p>Self-paced video course introducing Harness Infrastructure as Code Management.</p><p><br><em>Product version: Harness IaCM Free Plans</em></p></td><td><span data-option="IO6SHbQtJQDD">Free</span></td><td><span data-option="rGuM1IvX7VJb">Infrastructure as Code Management</span></td><td><a href="https://2307127582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Feh03Q8VHpO02MFM5nUSL%2Fuploads%2FWo1Zai3ucjOSzmkQxdyx%2Fiacm.png?alt=media&amp;token=6adb89dd-32ab-411a-9eb4-4bcaafb7f8fe">iacm.png</a></td><td><a href="https://university-registration.harness.io/self-paced-training-harness-infrastructure-as-code-management">https://university-registration.harness.io/self-paced-training-harness-infrastructure-as-code-management</a></td></tr></tbody></table>

## Instructor-Led Training

Intensive two-day courses, designed for engineers looking to deepen their understanding and expertise in Harness.

<table data-view="cards"><thead><tr><th></th><th></th><th><select><option value="1q9UE527kfcd" label="Paid" color="blue"></option></select></th><th><select><option value="dVEuNptmEINb" label="Harness Platform" color="blue"></option><option value="liW43MG1rpxy" label="Infrastructure as Code Management" color="blue"></option></select></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Introduction to the Harness Platform</strong></td><td><p>Self-paced, hands-on prerequisite course to all module-specific ILT courses.</p><p><br><em>Product version: Paid Plans of any module</em></p></td><td><span data-option="1q9UE527kfcd">Paid</span></td><td><span data-option="dVEuNptmEINb">Harness Platform</span></td><td><a href="https://2307127582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Feh03Q8VHpO02MFM5nUSL%2Fuploads%2F7QGXbawYR4BP0qizpMwP%2Fplatform.png?alt=media&amp;token=c2620ec1-3d29-479e-bd7c-74a979590f65">platform.png</a></td><td><a href="https://university-registration.harness.io/introduction-to-the-harness-platform">https://university-registration.harness.io/introduction-to-the-harness-platform</a></td></tr><tr><td><strong>Infrastructure as Code Management</strong></td><td><p>Deep dive into advanced IaC orchestration and management concepts.</p><p><br><em>Product version: Harness IaCM Paid Plans</em></p></td><td><span data-option="1q9UE527kfcd">Paid</span></td><td><span data-option="liW43MG1rpxy">Infrastructure as Code Management</span></td><td><a href="https://2307127582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Feh03Q8VHpO02MFM5nUSL%2Fuploads%2FWo1Zai3ucjOSzmkQxdyx%2Fiacm.png?alt=media&amp;token=6adb89dd-32ab-411a-9eb4-4bcaafb7f8fe">iacm.png</a></td><td><a href="https://university-registration.harness.io/ilt-infrastructure-as-code-management">https://university-registration.harness.io/ilt-infrastructure-as-code-management</a></td></tr></tbody></table>

## Certifications

Test and validate your knowledge of Harness by becoming a Harness Certified Expert.

{% hint style="info" %}
**New to Harness?** Start with the **Developer** track. You can always move up as your responsibilities grow.
{% endhint %}

{% tabs %}
{% tab title="For Developer" %}

#### Prepare for the Exam

{% hint style="warning" %}
**Get Certified with Harness University!** Assess the fundamental skills to manage your infrastructure with IaCM projects.<br>

<p align="center"><img src="https://2307127582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Feh03Q8VHpO02MFM5nUSL%2Fuploads%2Fgit-blob-25fdb54f0841efa7cc43e5db36cdc64732568620%2Fcert-dev-iacm-badge.svg?alt=media" alt="Infrastucture as Code Management - Developer badge" data-size="original"></p>

<p align="center"><br><em>Product version<strong>:</strong> Harness IaCM Free Plans</em></p>
{% endhint %}

#### Review Study Guide

| Topic                                                                 | Material                                                                                                                                           |
| --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| **1. Introduction to Harness IaCM**                                   |                                                                                                                                                    |
| Overview of Harness IaCM capabilities                                 | [Harness Infrastructure as Code Management (IaCM) Overview](https://developer.harness.io/docs/infra-as-code-management/get-started/overview)       |
| Integration points with other Harness services                        | [Harness IaCM: Add Connectors](https://developer.harness.io/docs/infra-as-code-management/get-started/#opentofu--step-1-add-connectors)            |
| **2. Getting Started with IaCM**                                      |                                                                                                                                                    |
| Setting up Git repositories with Terraform or OpenTofu configurations | [Harness IaCM: Add Connectors](https://developer.harness.io/docs/infra-as-code-management/get-started/#opentofu--step-1-add-connectors)            |
| Configuring Workspace Connectors for Cloud Providers                  | [Get started with IaCM](https://developer.harness.io/docs/infra-as-code-management/get-started)                                                    |
| Exploring the Harness IaCM UI                                         | [Get started with IaCM](https://developer.harness.io/docs/infra-as-code-management/get-started)                                                    |
| **3. Managing Workspaces**                                            |                                                                                                                                                    |
| Creating and configuring Workspaces                                   | [Create a Workspace](https://developer.harness.io/docs/infra-as-code-management/workspaces/create-workspace)                                       |
| Understanding Workspace statuses                                      | [Workspace expressions](https://developer.harness.io/docs/infra-as-code-management/workspaces/workspace-expressions/)                              |
| Practical management of Infrastructure States                         | [State Migration](https://developer.harness.io/docs/infra-as-code-management/remote-backends/state-migration/)                                     |
| **4. IaCM Pipelines**                                                 |                                                                                                                                                    |
| Introduction to IaCM Pipelines                                        | [IaCM Pipelines](https://developer.harness.io/docs/infra-as-code-management/workspaces/provision-workspace)                                        |
| Configuring stages for infrastructure provisioning                    | [State Migration](https://developer.harness.io/docs/infra-as-code-management/remote-backends/state-migration/)                                     |
| Using the step library to manage infrastructure lifecycles            | [Tofu/Terraform plugin commands](https://developer.harness.io/docs/infra-as-code-management/cli-commands/terraform-plugins)                        |
| **5. Drift Management**                                               |                                                                                                                                                    |
| Identifying configuration drift and understanding its causes          | [Drift Detection](https://developer.harness.io/docs/infra-as-code-management/pipelines/operations/drift-detection)                                 |
| Setting up drift detection pipelines                                  | [Detect drift command](https://developer.harness.io/docs/infra-as-code-management/cli-commands/terraform-plugins#detect-drift)                     |
| Analyzing and remediating drift issues                                | [Drift Detection](https://developer.harness.io/docs/infra-as-code-management/pipelines/operations/drift-detection)                                 |
| **6. Governance and Security**                                        |                                                                                                                                                    |
| Implementing Role-Based Access Control (RBAC)                         | [Role-based access control (RBAC)](https://developer.harness.io/docs/infra-as-code-management/manage-projects/workspace-rbac)                      |
| Configuring Audit Trails and Monitoring for compliance                | [Built-in policies](https://developer.harness.io/docs/infra-as-code-management/policies-governance/terraform-plan-cost-policy)                     |
| Using security scanners and custom plugins                            | [IaCM Security](https://developer.harness.io/docs/infra-as-code-management/iacm-security)                                                          |
| **7. State Migration and Remote Backends**                            |                                                                                                                                                    |
| Migrating existing infrastructure state into Harness IaCM             | [State Migration](https://developer.harness.io/docs/infra-as-code-management/remote-backends/state-migration/)                                     |
| Configuring and managing remote backends                              | [Dynamic backend configuration](https://developer.harness.io/docs/infra-as-code-management/remote-backends/init-configuration)                     |
| Using Harness migration utilities and API for state migration         | [State Migration](https://developer.harness.io/docs/infra-as-code-management/remote-backends/state-migration/)                                     |
| **8. Cost Management and Optimization**                               |                                                                                                                                                    |
| Tracking cost using policy-as-code                                    | [Cost estimation](https://developer.harness.io/docs/infra-as-code-management/workspaces/cost-estimation/)                                          |
| Using perspectives and cost estimation tools                          | [Plan Cost Policies](https://developer.harness.io/docs/infra-as-code-management/policies-governance/terraform-plan-cost-policy#plan-cost-policies) |
| Setting up alerts and cost thresholds                                 | [Plan Cost Policies](https://developer.harness.io/docs/infra-as-code-management/policies-governance/terraform-plan-cost-policy#plan-cost-policies) |

<p align="right"><a href="https://university-registration.harness.io/certified-infrastructure-as-code-management-developer" class="button primary small">Register For Exam</a></p>

#### Exam Details

The Infrastructure as Code Management Developer exam tests your knowledge and skills of the Harness Infrastructure as Code Management module.

**Prerequisites**

* Basic terminal skills
* Basic understanding of the Harness Platform and IACM basics.

**Exam Details**

| Exam Type          | Duration   |
| ------------------ | ---------- |
| **Knowledge Exam** | 90 minutes |

| **Covered Domain**                     | **% of Coverage** |
| -------------------------------------- | ----------------- |
| 1. Introduction to Harness IaCM        | 15%               |
| 2. Getting Started with IaCM           | 15%               |
| 3. Managing Workspaces                 | 15%               |
| 4. IaCM Pipelines                      | 15%               |
| 5. Drift Management                    | 15%               |
| 6. Governance and Security             | 10%               |
| 7. State Migration and Remote Backends | 10%               |
| 8. Cost Management and Optimization    | 5%                |

**Exam Objectives**

<details>

<summary>List of Objectives</summary>

The following is a detailed list of exam objectives:

| #   | **Objective**                                                         |
| --- | --------------------------------------------------------------------- |
| 1   | **Introduction to Harness IaCM**                                      |
| 1.1 | Overview of Harness IaCM capabilities                                 |
| 1.2 | Understanding the key concepts and terminology                        |
| 1.3 | Integration points with other Harness services                        |
| 2   | **Getting Started with IaCM**                                         |
| 2.1 | Setting up Git repositories with Terraform or OpenTofu configurations |
| 2.2 | Configuring Workspace Connectors for Cloud Providers                  |
| 2.3 | Exploring the Harness IaCM UI                                         |
| 3   | **Managing Workspaces**                                               |
| 3.1 | Creating and configuring Workspaces                                   |
| 3.2 | Understanding Workspace statuses                                      |
| 3.3 | Practical management of Infrastructure States                         |
| 4   | **IaCM Pipelines**                                                    |
| 4.1 | Introduction to IaCM Pipelines                                        |
| 4.2 | Configuring stages for infrastructure provisioning                    |
| 4.3 | Using the step library to manage infrastructure lifecycles            |
| 5   | **Drift Management**                                                  |
| 5.1 | Identifying configuration drift and understanding its causes          |
| 5.2 | Setting up drift detection pipelines                                  |
| 5.3 | Analyzing and remediating drift issues                                |
| 6   | **Governance and Security**                                           |
| 6.1 | Implementing Role-Based Access Control (RBAC)                         |
| 6.2 | Configuring Audit Trails and Monitoring for compliance                |
| 6.3 | Using security scanners and custom plugins                            |
| 7   | **State Migration and Remote Backends**                               |
| 7.1 | Migrating existing infrastructure state into Harness IaCM             |
| 7.2 | Configuring and managing remote backends                              |
| 7.3 | Using Harness migration utilities and API for state migration         |
| 8   | **Cost Management and Optimization**                                  |
| 8.1 | Tracking cost using policy-as-code                                    |
| 8.2 | Using perspectives and cost estimation tools                          |
| 8.3 | Setting up alerts and cost thresholds                                 |

</details>

**Next Steps**

The Infrastructure as Code Management Developer exam can start immediately after registering. Please allow up to 90 mins for the knowledge exam.

1. Create an account in Harness University.
2. Register for an exam.
3. Take the exams. There will be a knowledge and hands-on portion.

<p align="right"><a href="https://university-registration.harness.io/certified-infrastructure-as-code-management-developer" class="button primary small">Register For Exam</a></p>
{% endtab %}

{% tab title="For Administrator" %}

### Infrastructure as Code Management - Administrator

{% hint style="info" %}
**Coming soon**

This certification is in beta and not yet open for registration.
{% endhint %}

{% hint style="warning" %}
**Get Certified with Harness University!** Assess the fundamental skills to deploy and maintain IaCM projects and the overall Harness Platform.<br>

<p align="center"><img src="https://2307127582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Feh03Q8VHpO02MFM5nUSL%2Fuploads%2Fgit-blob-8592dba9b87fc2ae514eb5bced3f07a2dd1871a1%2Fcert-adm-iacm-badge.svg?alt=media" alt="Infrastucture as Code Management - Administrator (BETA COMING SOON) badge" data-size="original"></p>

<p align="center"><br><em>Product version<strong>:</strong> Harness IaCM Paid Plans</em></p>
{% endhint %}
{% endtab %}

{% tab title="For Architect" %}

### Infrastrucuture as Code Management - Architect

{% hint style="info" %}
**Coming soon**

This certification is in beta and not yet open for registration.
{% endhint %}

{% hint style="warning" %}
**Get Certified with Harness University!** Assess key technical job functions and advanced skills in the design, implementation, and management of IaCM.<br>

<p align="center"><img src="https://2307127582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Feh03Q8VHpO02MFM5nUSL%2Fuploads%2Fgit-blob-d11917f0ccf3513d4c92284fdf0063c0ba3ee0e0%2Fcert-arc-iacm-badge.svg?alt=media" alt="Infrastrucuture as Code Management - Architect (BETA COMING SOON) badge" data-size="original"></p>

<p align="center"><br><em>Product version<strong>:</strong> Harness IaCM Paid Plans</em></p>
{% endhint %}
{% endtab %}
{% endtabs %}

{% @harness-feedback/feedback module="university" pagePath="university/iacm" %}
