8.2. API を使用してデプロイされたシステムにアクセスするための認証情報を設定する


Red Hat Insights イメージ UI インターフェイスを使用してブループリントにユーザー名とパスワードを追加することはできません。イメージにユーザー名とパスワードを追加するには、Image-builder service API を使用します。

次の例は、Insights Image Builder で作成された VMware OVA イメージタイプに認証情報を追加する方法を示しています。この方法を使用して、他のイメージタイプに認証情報を追加することもできます。

前提条件

手順

  1. Red Hat API トークン を使用して生成したオフライントークンは、Image Builder で直接使用できません。使用するには、次の手順を実行します。

    1. オフライントークンを OFFLINE_TOKEN 変数に保存します。
    2. 次のコマンドを使用して、オフライントークンをアクセストークンと交換します。

      $ OFFLINE_TOKEN=”YOUR_OFFLINE_TOKEN”
      $ curl --silent \
          --request POST \
          --data grant_type=refresh_token \
          --data client_id=rhsm-api \
          --data refresh_token=$OFFLINE_TOKEN \
          https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token \
        | jq .

      次の例のような出力が生成されます。

      {
        "access_token": "oiZjo1Mjhk...",
        "expires_in": 900,
        "refresh_expires_in": 0,
        "refresh_token": "eyJhbG...",
        "token_type": "bearer",
        "not-before-policy": 0,
        "session_state": "f0dbb8d4-4e4e-4654-844c-6f3704c84422",
        "scope": "offline_access"
      }
  2. jq を使用して JSON ペイロードから実際のアクセストークンを取得し、次のスニペットを使用して変数に保存します。

    $ access_token=$( \
        curl --silent \
          --request POST \
          --data grant_type=refresh_token \
          --data client_id=rhsm-api \
          --data refresh_token=$OFFLINE_TOKEN \
    
    https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token \
        | jq -r .access_token \
      )

    アクセストークンには有効期限があります。認可エラーが発生した場合は、前のコマンドを再実行して新しいアクセストークンを生成します。

  3. システムで、.json 形式で作成リクエストを作成します。次の例では、x86_64 CPU アーキテクチャー用の最新の RHEL 9.4 ova を作成します。

    $ cat request.json
    {
        "image_name": "ova_image_name",
        "distribution": "rhel-94",
        "image_requests": [
            {
                "architecture": "x86_64",
                "image_type": "vsphere-ova",
                "upload_request": {
                    "type": "vmdk",
                    "options": {}
                }
            }
        ],
        "customizations": {
            "users": [
                {
                    "name": "user-name",
                    "ssh_key": "ssh-rsa AAAAB...qfGI+vk",
                    "password": "password"
                }
            ]
        }
    }
  4. Image Builder API に作成リクエストを送信します。

    $ curl --silent \
        --request POST \
        --header "Authorization: Bearer $access_token" \
        --header "Content-Type: application/json" \
        --data @request.json \
        https://console.redhat.com/api/image-builder/v1/compose

    リクエストが成功すると、次のようなイメージ ID の出力が表示されます。

    {"id":"fd4ecf3c-f0ce-43dd-9fcc-6ad11208b939"}
  5. イメージビルドのステータスを確認します。

    $ curl \
        --silent \
        --header "Authorization: Bearer $access_token" \
        "https://console.redhat.com/api/image-builder/v1/composes/$compose_id" \
      | image_ID.

    リクエストが成功すると、次のようなイメージ ID の出力が表示されます。

    {"id":"fd4ecf3c-f0ce-43dd-9fcc-6ad11208b939"}

    Red Hat Hybrid Cloud Console にアクセスして、イメージビルドの進行状況を確認することもできます。

    イメージがビルドされると、次の出力が表示されます。

    リクエストが成功すると、次のようなイメージ ID の出力が表示されます。

    {
        "image_status": {
            "status": "success",
            "upload_status": {
                "options": {
                    "url": "https://image-builder-service-production.s3.amazonaws.com/composer-api-76...-disk.ova?e42..."
                },
                "status": "success",
                "type": "aws.s3"
            }
        }
    }
  6. イメージの作成が完了したら、イメージをダウンロードします。

    $ curl --location --output vsphere-ova.vmdk  \
        “https://image-builder-service-production.s3.amazonaws.com/composer-api-76...-disk.ova?e42...”

イメージはシステムに保存され、使用できる状態になります。

次のステップ

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

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

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

会社概要

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

© 2024 Red Hat, Inc.