4.7.4. Terraform を使用して htpasswd アイデンティティープロバイダーを設定する


Terraform を使用すると、htpasswd アイデンティティープロバイダー (IDP) を作成できます。

前提条件

  • ROSA CLI の最新バージョンがインストール、設定されている。
  • 最新バージョンの Terraform をインストールし、設定しました。

手順

  1. オフラインの Red Hat OpenShift Cluster Manager トークン を使用して、アカウントに権限を付与します。
  2. オフライントークンをコピーし、次のコマンドを実行してトークンを環境変数として設定します。

    $ export RHCS_TOKEN=<your_offline_token>
    注記

    この環境変数は、マシンの再起動やターミナルの終了など、各セッションの終了時にリセットされます。

  3. 以下のいずれかのコマンドを実行して、htpasswd_idp.tf ファイルを作成します。

    • オプション 1: 生成されたランダムなパスワードを持つユーザーを作成するには、以下を実行します。

      $ cat<<-EOF>htpasswd_idp.tf
        module "htpasswd_idp" {
          source = "terraform-redhat/rosa-hcp/rhcs//modules/idp"
          version = "1.6.2"
      
          cluster_id         = "2odpb9p344hnkfvpkluo00qmgkika78l"
          name               = "htpasswd-idp-tf-1"
          idp_type           = "htpasswd"
          htpasswd_idp_users = [{ username = "pej-user-d1", password = random_password.password.result }]
        }
      
        resource "aws_secretsmanager_secret" "idp_password" {
        name        = "idp-password-secret"
        description = "Any description here"
        }
      
        resource "random_password" "password" {
            length           = 16
            lower            = true
            special          = true
            override_special = "!#$%&*()-_=+[]{}<>:?"
        }
      
        # If you need to output the password, mark it as sensitive to hide from CLI logs
        output "password_output" {
            value     = random_password.password.result
            sensitive = true
        }
      
        # This section sends your credentials to your AWS Secrets Manager to enable you to log in to your cluster.
        resource "aws_secretsmanager_secret_version" "idp_password_val" {
        secret_id     = aws_secretsmanager_secret.idp_password.id
        secret_string = random_password.password.result
        }
      EOF

      <cluster_id> プレースホルダーを、ご使用のクラスターの 32 桁の ID に置き換える必要があります。その値を見つけるには、rosa list clusters | awk '{print $1}' を実行します。また、<user_name> プレースホルダーを、作成したいユーザー名に置き換える必要があります。生成されたランダムパスワードは、AWS Secrets Manager に保存され、クラスターへのログイン時に使用されます。

      • パスワードを設定した後、以下のコマンドを実行してパスワードを確認してください。

        $ terraform output password_output

        CLI は生成されたパスワードを平文で返します。

    • オプション 2: ユーザー作成時にパスワードを指定するには、以下を実行します。

      $ cat<<-EOF>htpasswd_idp.tf
        module "htpasswd_idp" {
          source = "terraform-redhat/rosa-hcp/rhcs//modules/idp"
          version = "1.6.2"
      
          cluster_id         = "<cluster_id>"
          name               = "htpasswd-idp"
          idp_type           = "htpasswd"
          htpasswd_idp_users = [{ username="<user_name>",password="<password>"}]
        }
      EOF

      <cluster_id> プレースホルダーを、ご使用のクラスターの 32 桁の ID に置き換える必要があります。その値を見つけるには、rosa list clusters | awk '{print $1}' を実行します。また、<user_name> プレースホルダーを、作成したいユーザー名に置き換え、<password> プレースホルダーをパスワードに置き換える必要があります。

  4. Terraform ファイルに基づいてリソースを作成するように Terraform を設定するには、次のコマンドを実行します。

    $ terraform init
  5. コピーした Terraform が正しいことを確認するには、次のコマンドを実行してください。

    $ terraform validate

    出力例

    Success! The configuration is valid.

  6. 次のコマンドを実行して、Terraform を使用してクラスターを作成します。

    $ terraform apply
  7. Terraform インターフェイスに作成または変更するリソースがリストされ、確認を求めるプロンプトが表示されたら、続行するには yes を、キャンセルするには no を入力します。

    Do you want to perform these actions?
      Terraform will perform the actions described above.
      Only 'yes' will be accepted to approve.
    
      Enter a value: yes

    IDP が作成されたことを確認するメッセージが表示されます。

    Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
    注記

    ランダムパスワードテンプレートを使用した場合、生成されたパスワードは AWS Secrets マネージャーに保存されます。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る