Configurando o Terraform para Key Protect

O Terraform em IBM Cloud® permite a criação previsível e consistente de serviços IBM Cloud para que você possa criar rapidamente ambientes de nuvem complexos e de várias camadas seguindo os princípios da Infraestrutura como Código ( IaC ). De modo semelhante ao uso da CLI ou da API e dos SDKs do IBM Cloud, você pode automatizar a criação, a atualização e a exclusão das instâncias do Key Protect usando a linguagem de configuração (HCL) do HashiCorp.

Procurando por uma solução Terraform gerenciada no IBM Cloud®? Experimente o IBM Cloud® Schematics. Com o Schematics, é possível usar a linguagem de script Terraform com a qual você está familiarizado, mas não se preocupe em configurar e manter a linha de comandos do Terraform e o plug-in IBM Cloud® Provider. O Schematics também fornece modelos do Terraform pré-definidos que podem ser instalados facilmente a partir do catálogo IBM Cloud®.

Instalando o Terraform e configurando recursos para Key Protect

O provisionamento de uma nova instância do Key Protect Dedicated está disponível na interface do usuário do console IBM Cloud® e na CLI do IBM Cloud. Não há suporte para a criação de novas instâncias do Key Protect Dedicated com o Terraform. No entanto, você pode usar o Terraform para provisionar recursos como chaves. Para fazer isso, a variável de ambiente IBMCLOUD_KP_API_ENDPOINT deve ser definida como o endpoint de API público ou privado da instância específica do Key Protect Dedicated.

Antes de criar uma autorização usando o Terraform, verifique se você concluiu o seguinte:

  • Certifique-se de que você tenha o acesso necessário para criar e trabalhar com os recursos do site Key Protect.
  • Instale a CLI do Terraform e configure o plug-in do provedor IBM Cloud para o Terraform. Para obter mais informações, consulte o tutorial Getting started with Terraform em IBM Cloud®. O plug-in abstrai as APIs do IBM Cloud que são usadas para concluir esta tarefa.
  • Crie um arquivo de configuração do Terraform que seja denominado main.tf. Nesse arquivo, você define os recursos usando a HashiCorp Configuration Language. Para obter mais informações, consulte a documentação do Terraform.
  1. Crie uma instância Key Protect usando o argumento de recurso ibm_resource_instance em seu arquivo main.tf.

    A instância Key Protect no exemplo a seguir é denominada my_kp e é criada com o plano de preços escalonados na região us-south. O user@ibm.com é atribuído à função Manager na política de acesso do IAM. Para outras regiões compatíveis, consulte Regiões e pontos de extremidade.

    resource "ibm_resource_instance" "kms_instance" {
      name     = "my_kp"
      service  = "kms"
      plan     = "tiered-pricing"
      location = "us-south"
    }
    
    resource "ibm_iam_user_policy" "policy" {
      ibm_id = "user@ibm.com"
      roles  = ["Manager"]
    
      resources {
        service              = "kms"
        resource_instance_id = element(split(":", ibm_resource_instance.kms_instance.id), 7)
      }
    }
    
  2. Depois de concluir a criação do arquivo de configuração, inicialize a CLI do Terraform. Para obter mais informações, consulte Inicialização de diretórios de trabalho.

    terraform init
    
  3. Provisione os recursos do arquivo main.tf. Para obter mais informações, consulte Provisionamento de infraestrutura com o Terraform.

    1. Execute terraform plan para gerar um plano de execução do Terraform para visualizar as ações propostas.

      terraform plan
      
    2. Execute o site terraform apply para criar os recursos definidos no plano.

      terraform apply
      
  4. Na lista de recursos IBM Cloud, selecione a instância Key Protect que você criou e anote o ID da instância.

  5. Verifique se a política de acesso foi atribuída com sucesso. Para obter mais informações, consulte Revisando o acesso designado no console.

O que vem a seguir?

Agora que você criou com sucesso sua primeira instância do serviço Key Protect com o Terraform em IBM Cloud, pode escolher entre as seguintes tarefas: