---
name: secure-infrastructure-vpc-planning-vpc
title: Planning for the landing zone deployable architectures
description: Before you begin the deployment of a landing zone deployable architecture, make sure that you understand and meet the prerequisites.
last-updated: 2024-07-22
---

> ## Documentation Index
> The table of contents for this documentation set is at https://cloud.ibm.com/docs/secure-infrastructure-vpc?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.

# Planning for the landing zone deployable architectures
{: #plan}

Before you begin the deployment of a landing zone deployable architecture, make sure that you understand and meet the prerequisites.
{: shortdesc}

## Confirm your IBM Cloud settings
{: #vpc-cloud-prereqs}

Complete the following steps before you deploy the VPC landing zone deployable architecture.

1.  Confirm or set up an IBM Cloud account:

    Make sure that you have an IBM Cloud Pay-As-You-Go or Subscription account:

    - If you don't have an IBM Cloud account, [create one](https://cloud.ibm.com/docs/account?topic=account-account-getting-started&format=markdown).
    - If you have a Trial or Lite account, [upgrade your account](https://cloud.ibm.com/docs/account?topic=account-upgrading-account&format=markdown).
1.  Configure your IBM Cloud account:
    1.  Log in to [IBM Cloud](https://cloud.ibm.com) with the IBMid you used to set up the account. This IBMid user is the account owner and has full IAM access.
    1.  [Complete the company profile](https://cloud.ibm.com/docs/account?topic=account-contact-info&format=markdown) and contact information for the account. This profile is required to stay in compliance with IBM Cloud Financial Services profile.
    1.  [Enable the Financial Services Validated option](https://cloud.ibm.com/docs/account?topic=account-enabling-fs-validated&format=markdown) for your account.
    1.  Enable virtual routing and forwarding (VRF) and service endpoints by creating a support case. Follow the instructions in [enabling VRF and service endpoints](https://cloud.ibm.com/docs/account?topic=account-vrf-service-endpoint&interface=ui&format=markdown#vrf).

## Set the IAM permissions
{: #vpc-iam-prereqs}

1.  Set up account access (Cloud Identity and Access Management (IAM)):
    1.  Create an IBM Cloud [API key](https://cloud.ibm.com/docs/account?topic=account-userapikey&interface=terraform&format=markdown#create_user_key-api-terra). The user who owns this key must have the Administrator role.

        Service ID API keys are not supported for the Red Hat OpenShift Container Platform on VPC landing zone deployable architecture.
        {: tip}

    1.  For compliance with IBM Cloud Framework for Financial Services: Require users in your account to use [multifactor authentication (MFA)](https://cloud.ibm.com/docs/account?topic=account-account-getting-started&format=markdown#account-gs-mfa).
    1.  [Set up access groups](https://cloud.ibm.com/docs/account?topic=account-account-getting-started&format=markdown#account-gs-accessgroups).

        User access to IBM Cloud resources is controlled by using the access policies that are assigned to access groups. For IBM Cloud Financial Services validation, do not assign direct IAM access to any IBM Cloud resources.

        Select **All Identity and Access enabled services** when you assign access to the group.

### Verify access roles
{: #vpc-access-roles}

IAM access roles are required to install this deployable architecture and create all the required elements.

You need the following permissions for this deployable architecture:

- Create services from IBM Cloud catalog.
- Create and modify IBM Cloud VPC services, virtual server instances, networks, network prefixes, storage volumes, SSH keys, and security groups of this VPC.
- Create and modify IBM Cloud direct links and IBM Cloud Transit Gateway.
- Access existing Object Storage services.

For information about configuring permissions, contact your IBM Cloud account administrator.

### Access for IBM Cloud projects
{: #access-projects}

You can use IBM Cloud projects as a deployment option. Projects are designed with infrastructure as code and compliance in mind to help ensure that your projects are managed, secure, and always compliant. For more information, see [Learn about IaC deployments with projects](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-understanding-projects&format=markdown).

You need the following access to create a project and create project tooling resources within the account. Make sure you have the following access:

- The Editor role on the Projects service.
- The Editor and Manager role on the Schematics service
- The Viewer role on the resource group for the project

For more information, see [Assigning users access to projects](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-access-project&format=markdown).

## Create an SSH key
{: #vpc-ssh-key}

Make sure that you have an SSH key that you can use for authentication. This key is used to log in to all virtual server instances that you create. For more information about creating SSH keys, see [SSH keys](https://cloud.ibm.com/docs/vpc?topic=vpc-ssh-keys&format=markdown).

## (Optional) Set up IBM Cloud Hyper Protect Crypto Services
{: #vpc-crypto-prereqs}

For key management services, you can use IBM Cloud Hyper Protect Crypto Services instead of IBM Cloud Object Storage. Hyper Protect Crypto Services is a dedicated key management service and hardware security module based on IBM Cloud that enables keep your own key (KYOK) features.

By using Hyper Protect Crypto Services, your deployable architecture satisfies the requirements for the following controls:

- [SC-13(0) - Cryptographic Protection](https://cloud.ibm.com/docs/framework-financial-services-controls?topic=framework-financial-services-controls-sc-13&format=markdown)
- [SC-28(0) - Protection of Information at Rest](https://cloud.ibm.com/docs/framework-financial-services-controls?topic=framework-financial-services-controls-sc-28&format=markdown)
- [SC-28(1) - Cryptographic Protection](https://cloud.ibm.com/docs/framework-financial-services-controls?topic=framework-financial-services-controls-sc-28.1&format=markdown)

For more information, see the [security information](https://cloud.ibm.com/docs/framework-financial-services?topic=framework-financial-services-vpc-architecture-about&format=markdown#services-security-hpcs) in the VPC reference architecture for IBM Cloud for Financial Services.

It is not possible to update an existing deployable architecture from Key Protect to Hyper Protect Crypto Services. You must create and deploy another deployable architecture.
{:restriction: .restriction}

### Provisioning and initializing the Hyper Protect Crypto Services service
{: #vpc-hpcs-setup}

Before you deploy this deployable architecture, you need an instance of the Hyper Protect Crypto Services service.

1.  You can provision Hyper Protect Crypto Services in one of two ways:

    - By using the [IBM Cloud Hyper Protect Crypto Services](https://github.com/terraform-ibm-modules/terraform-ibm-hpcs){: external} Terraform module.
    - By creating and initializing an instance directly.

        1.  (Optional) [Create a resource group](https://cloud.ibm.com/docs/account?topic=account-rgs&interface=ui&format=markdown) for your instance.
        1.  On the Hyper Protect Crypto Services [details page](https://cloud.ibm.com/catalog/services/hyper-protect-crypto-services), select a plan.
        1.  Complete the required details and click **Create**.

1.  Initialize Hyper Protect Crypto Services:

    - If you used the IBM Cloud Hyper Protect Crypto Services module, follow the steps in the module [readme file](https://github.com/terraform-ibm-modules/terraform-ibm-hpcs#create-hyper-protect-crypto-services-instance){: external}.
    - If you created the instance directly, follow the steps in [Getting started with IBM Cloud Hyper Protect Crypto Services](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started&format=markdown).

    For proof-of-technology environments, use the `auto-init` flag. For more information, see [Initializing service instances using recovery crypto units](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-initialize-hsm-recovery-crypto-unit&format=markdown).

1.  When you configure your deployable architecture, specify the resource group in the `hs_crypto_resource_group` input variable and the instance name in the `hs_crypto_instance_name` variable. If you don't provide values for those variables, the default Key Protect encryption is used.