---
name: devsecops-devsecops-tutorial-iac-prereqs
title: Setting up prerequisites
description: With this tutorial, see how to set up prerequisites to develop an Infrastructure as Code (IaC) (Terraform configuration) by using IBM Cloud&reg; DevSecOps. Also how to deploy, secure, and manage a complete reference implementation that is available as a service and powered by IBM Cloud&reg; Continuous Delivery.
last-updated: 2024-03-20
---

> ## Documentation Index
> The table of contents for this documentation set is at https://cloud.ibm.com/docs/devsecops?format=markdown
> The index for all IBM Cloud docs is at: https://cloud.ibm.com/docs/llms.txt
> Use these files to discover more information as needed.

# Setting up prerequisites
{: #devsecops-tutorial-iac}
{: toc-content-type="tutorial"}
{: toc-services="schematics, ContinuousDelivery"}
{: toc-completion-time="1h"}

With this tutorial, see how to set up prerequisites to develop an Infrastructure as Code (IaC) (Terraform configuration) by using IBM Cloud&reg; DevSecOps. Also how to deploy, secure, and manage a complete reference implementation that is available as a service and powered by IBM Cloud&reg; Continuous Delivery.
{: shortdesc}

## Before you begin
{: #devsecops-tutorial-iac-prereqs}

* About [DevSecOps](https://www.ibm.com/think/topics/devsecops){: external}.
* [DevSecOps architecture](https://cloud.ibm.com/docs/devsecops?topic=devsecops-cd-devsecops-arch&format=markdown).
* [DevSecOps with Continuous Delivery](https://cloud.ibm.com/docs/devsecops?topic=devsecops-devsecops_intro&format=markdown).
* [Understanding DevSecOps pipelines](https://cloud.ibm.com/docs/devsecops?topic=devsecops-cd-devsecops-pipelines&format=markdown).

## Setting up an IBM Cloud account
{: #devsecops-tutorial-iac-account}
{: step}

Set up an [IBM Cloud account](https://cloud.ibm.com/registration){: external}. Depending on your IBM Cloud account type, access to certain resources, and capabilities of DevSecOps toolchains might be limited. For more information, see [Setting up your IBM Cloud account](https://cloud.ibm.com/docs/account?topic=account-account-getting-started&format=markdown) and [Upgrading your account](https://cloud.ibm.com/docs/account?topic=account-upgrading-account&format=markdown).

## Creating a resource group
{: #devsecops-tutorial-iac-resource-group}
{: step}

Resource groups organize your account resources in customizable groupings so that you can assign users access to multiple resources at a time. Every toolchain is associated with a resource group. By default, the toolchain is created in the `Default` resource group. For more information, see [Creating a resource group](https://cloud.ibm.com/docs/account?topic=account-rgs&interface=ui&format=markdown#create_rgs).

## Storing secrets values
{: #devsecops-tutorial-iac-secrets}
{: step}

Check the secret values that you need are stored in a secrets management vault. [Managing IBM Cloud secrets](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-use-case-kubernetes-secrets&format=markdown) helps you to choose from various secrets management, and data protection offerings. Create an instance of the secrets management vault, if you don't have one. For more information about IBM Cloud&reg; Secrets Manager, see [Getting started with Secrets Manager](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-getting-started&format=markdown).

## Apply the steps
{: #devsecops-tutorial-iac-optional}
{: step}

You can complete any or all the important steps.

- Create an [artifact key](https://cloud.ibm.com/docs/devsecops?topic=devsecops-devsecops-image-signing&format=markdown) by encoding to sign in to IaC.
- Create an [IBM Cloud API key](https://cloud.ibm.com/iam/apikeys){: external}. Save the API key value by either copying, downloading, or adding to your vault. Alternatively you can create the API key during the template-guided setup process.
- Validate that the [IAM permissions](https://cloud.ibm.com/docs/devsecops?topic=devsecops-iam-permissions&format=markdown) are assigned to the corresponding integrations.
- [Install the IBM Cloud CLI](https://cloud.ibm.com/docs/cli?topic=cli-install-ibmcloud-cli&format=markdown).
- Create an [IBM Cloud&reg; Object Storage instance and bucket](https://cloud.ibm.com/docs/devsecops?topic=devsecops-cd-devsecops-cos-config&format=markdown). For more information, see [What is IBM Cloud Object Storage](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-about-cloud-object-storage&format=markdown)?

## Related content
{: #tutorial-iac-part1-relatedcontent}

You can continue to learn the following topics.

* [Getting started with IBM Cloud&reg; Provider Plug-in for Terraform](https://cloud.ibm.com/docs/ibm-cloud-provider-for-terraform?topic=ibm-cloud-provider-for-terraform-getting-started&format=markdown)
* [Getting started with toolchains](https://cloud.ibm.com/devops/getting-started){: external}
* [Getting started with Continuous Delivery](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-help-and-support&format=markdown)

For more information, see [help and support](https://cloud.ibm.com/docs/devsecops?topic=devsecops-gettinghelp&format=markdown).
{: note}

## Next steps
{: #tutorial-iac-part1-next}

Now, you set the prerequisites. Continue to the next tutorial in the series [Setting up a CI toolchain for IaC](https://cloud.ibm.com/docs/devsecops?topic=devsecops-devsecops-tutorial-iac-ci&format=markdown).