Terraform for Key Protect のセットアップ

Terraform on IBM Cloud® は、予測可能で一貫性のある IBM Cloud サービスの作成を可能にし、Infrastructure as Code ( IaC ) の原則に従って複雑な多層クラウド環境を迅速に構築することができる。 IBM Cloud CLI や API、SDK を使用するのと同様に、 HashiCorp Configuration Language (HCL) を使用して、 Key Protect インスタンスの作成、更新、削除を自動化できます。

管理対象の Terraform on IBM Cloud® ソリューションをお探しですか? IBM Cloud® Schematics をお試しください。 Schematics では、使い慣れた Terraform スクリプト言語を使用できますが、Terraform コマンド・ラインおよび IBM Cloud® Provider プラグインのセットアップと保守について心配する必要はありません。Schematics には、IBM Cloud® カタログから簡単にインストールできる定義済みの Terraform テンプレートも用意されています。

Terraform のインストールと Key Protect 用のリソースの構成

新しい Key Protect Dedicated インスタンスのプロビジョニングは、 IBM Cloud® コンソール UI と IBM Cloud CLI から利用できます。 Terraformを使用して新しい Key Protect Dedicatedインスタンスを作成することはサポートされていません。しかし、Terraformを使用してキーのようなリソースをプロビジョニングすることはできます。 これを行うには、環境変数 IBMCLOUD_KP_API_ENDPOINT 、特定の Key Protect Dedicatedインスタンスのpublicまたはprivate APIエンドポイントに設定する必要がある。

Terraformを使って認可を作成する前に、以下のことが完了していることを確認してください:

  • Key Protect リソースの作成と操作に 必要なアクセス権を持って いることを確認してください。
  • Terraform CLIをインストールし、Terraform用の IBM Cloud Providerプラグインを設定する。 詳しくは、 でTerraformを始める IBM Cloud® のチュートリアルをご覧ください。 このプラグインは、以下のタスクを実行するために使用される IBM Cloud API を抽象化します。
  • main.tfという名前の Terraform 構成ファイルを作成します。 このファイルでは、 HashiCorp Configuration Languageを使用してリソースを定義します。 詳しくは Terraformのドキュメントを参照。
  1. main.tf ファイルの ibm_resource_instance リソース引数を使用して、 Key Protect インスタンスを作成します。

    次の例の Key Protect インスタンスは my_kp という名前で、 us-south リージョンの段階的料金プランで作成されます。 user@ibm.com 、IAMアクセスポリシーのManagerロールが割り当てられる。 その他の対応地域については、 地域とエンド ポイントを参照のこと。

    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. 設定ファイルのビルドが終わったら、Terraform CLIを初期化します。 詳しくは、 作業ディレクトリの初期化を参照のこと。

    terraform init
    
  3. main.tf ファイルからリソースをプロビジョニングする。 詳しくは Terraformによるインフラのプロビジョニングを参照してください。

    1. terraform plan を実行してTerraformの実行プランを生成し、提案されたアクションをプレビューする。

      terraform plan
      
    2. terraform apply を実行し、プランで定義されたリソースを作成する。

      terraform apply
      
  4. IBM Cloud リソース・ リストから、作成した Key Protect インスタンスを選択し、インスタンス ID をメモする。

  5. アクセス・ポリシーが正常に割り当てられていることを確認します。 詳細については、割り当てられたアクセス権限をコンソールで確認を参照してください。

次のステップ

IBM Cloud でTerraformを使って最初の Key Protect サービスインスタンスの作成に成功したので、以下のタスクのいずれかを選択できる: