サービスアカウントの作成と管理


Red Hat Hybrid Cloud Console 1-latest

サービスアカウントの作成および管理

Red Hat Customer Content Services

概要

このガイドでは、リソースにアクセスするためのサービスアカウントを作成および管理する方法を説明します。

はじめに

サービスアカウントにより、システムサービスに特定のリソースにアクセスできるようになります。ユーザーはサービスアカウントを作成できますが、Organization Administrator ロールまたはユーザーアクセス Admin ロールを持つユーザーのみが、サービスアカウントをユーザーグループに割り当てることができます。サービスアカウントには、ユーザーグループに付与されるアクセス許可が付与されます。

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

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、用語の置き換えは、今後の複数のリリースにわたって段階的に実施されます。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。

第1章 サービスアカウント

アカウントはユーザーアカウントまたはサービスアカウントのどちらかです。ユーザーアカウントで、組織内のユーザー (人) を認証します。サービスアカウントは、人間の介入なしにアプリケーションやサービスを認証します。以下の目的で、Red Hat Hybrid Cloud Console でサービスアカウントを作成します。

  • アプリケーションまたはサービスは特定のリソースへのアクセスを必要である。
  • アプリケーションまたはサービスは、人の介入を必要とせずにリソースにアクセスする必要がある。
  • アプリケーションまたはサービスは、複数の場所からリソースにアクセスする必要がある。

Red Hat Hybrid Cloud Console のクラウドサービス API に接続するには、サービスアカウントを使用する必要があります。Red Hat の Basic 認証のサポートは 2024 年 12 月 31 日に終了予定で、その日以降はトークンベースの認証のみが許可されます。サービスアカウントは、トークンベースの認証をサポートします。

サービスアカウントの実装の詳細は、サービスアカウントを介した Basic 認証からトークンベース認証への Red Hat Hybrid Cloud Console API の移行 を参照してください。

注記

API には、Red Hat Single Sign-On からのアクセストークンが必要です。トークンは 15 分 (900 秒) 後に期限切れになります。アクセストークンを取得するプロセスを 10 分 (600 秒) ごとに繰り返し、有効期限が切れる前にトークンがローテーションされるようにします。(RFC 6749, Section 4.1.4)

第2章 サービスアカウントの作成および管理

サービスアカウントを使用すると、エンドユーザーの認証情報や直接の操作を必要とせずに、サービスやアプリケーションに安全かつ自動的に接続して認証できます。

Red Hat サービスアカウントを作成すると、クライアント IDシークレット が生成されます。サービスアカウントは ID とシークレットを使用して Red Hat Hybrid Cloud Console のサービスにアクセスします。

  • クライアント ID クライアント ID は、ユーザー名がユーザーを識別するのと同じように、リソースに対してサービスアカウントを識別します。
  • シークレット シークレットは、パスワードと同様の機能を提供します。シークレットは、サービスアカウントを作成するときに一度表示されます。シークレットをコピーして保存し、パスワードと同じように保護します。

サービスアカウントを作成した後、該当するユーザーアクセスグループに追加します。(ユーザーアクセスは、ロールベースのアクセス制御の Red Hat 実装です。)ユーザーアクセスグループに割り当てられたロールによって、サービスアカウントが Red Hat Hybrid Cloud Console 上のアプリケーションおよびサービスに対して割り当てられるアクセスのレベルが決まります。サービスアカウントのグループを作成することもできます。

次のタスクでは、サービスアカウントとグループを作成および管理する方法を示します。

サービスアカウントのクライアント ID とシークレットを生成した後、次のタスクを実行できます。

サービスアカウントをリセットまたは削除するには、サービスアカウントの所有者である必要があります。組織管理者は、任意のサービスアカウントをリセットまたは削除できます。

2.1. サービスアカウントの作成

サービスアカウントを作成し、そのアカウントで使用するクライアント ID とシークレットを生成できます。

前提条件

手順

  1. Red Hat Hybrid Cloud Console から、設定アイコン (⚙) をクリックし、Service Accounts をクリックします。
  2. Create service account をクリックしてアカウントを設定します。
  3. Service account name および Short description を入力し、Create をクリックします。
  4. 生成された Client IDClient secret の値を安全な場所にコピーします。サービスへの接続を設定するときに、これらの認証情報を指定します。

    重要

    クライアントシークレット は 1 回しか表示されないため、認証情報ウィンドウを閉じる前に、コピーした認証情報が正常かつ安全に保存されたことを確認してください。

  5. クライアント ID とシークレットを安全な場所に保存したら、認証情報ウィンドウで確認チェックボックスを選択し、ウィンドウを閉じます。Client Secret は再度表示されません。
  6. サービスアカウントとそのクライアント ID が Service Accounts ページに表示されます。

2.2. サービスアカウントのユーザーアクセスグループへの追加

組織管理者は、Red Hat Hybrid Cloud Console 上のサービスおよびアプリケーションにアクセスできる権限を持つユーザーアクセスグループにサービスアカウントを追加します。サービスアカウントは誰でも作成できますが、組織管理者またはユーザーアクセス管理者のみがサービスアカウントをグループに追加できます。

前提条件

手順

  1. Red Hat Hybrid Cloud Console から、設定アイコン (⚙) をクリックし、ユーザーアクセス をクリックします。
  2. サービスアカウントを既存のグループに追加するには、Groups タブをクリックし、サービスアカウントを追加するグループの名前をクリックします。
  3. グループ名ウィンドウが表示されたら、Service accounts タブをクリックします。
  4. Add service account をクリックします。Red Hat の組織アカウントに関連付けられているすべてのサービスアカウントのリストが表示されます。
  5. ユーザーアクセスグループに追加するサービスアカウントをクリックし、Add to group をクリックします。
  6. サービスアカウントが Service accounts タブに表示されます。

2.3. サービスアカウントのユーザーアクセスグループの作成

組織管理者は、サービスアカウントに固有のロールまたはパーミッションを持つ新しいユーザーアクセスグループを作成できます。このグループには、サービスアカウントが Red Hat Hybrid Cloud Console 上のサービスおよびアプリケーションにアクセスできるパーミッションがあります。どのユーザーもサービスアカウントを作成できますが、サービスアカウントの新しいグループを追加または作成できるのは、組織管理者またはユーザーアクセス管理者のみです。

前提条件

  • 組織管理者またはユーザーアクセス管理者権限を持つユーザーとして Red Hat Hybrid Cloud Console にログインしている。
  • 1 つ以上のサービスアカウントが Red Hat 組織アカウントに関連付けられている。「サービスアカウントの作成」
  • ユーザーアクセスグループに追加するサービスアカウントの Client Secret 情報にアクセスできる。

    注記

    Client Secret 情報は、新しいサービスアカウントを作成するときに 1 回表示されます。その情報をコピーして保存する必要があります。これは再度表示されません。

手順

この例では、サービスアカウントが Red Hat Ansible Automation Platform で自動化分析を表示できるようにするグループを作成します。

  1. Red Hat Hybrid Cloud Console から、設定アイコン (⚙) をクリックし、ユーザーアクセス をクリックします。
  2. Groups タブをクリックし、Create Group をクリックします。
  3. グループ名グループの説明 を追加します。説明は任意です。
  4. Next をクリックして、グループにロールを追加します。この例の場合、Automation Analytics viewer を見つけて、ロール名の横にあるチェックボックスをクリックします。
  5. Next をクリックすると、Add members が表示されます。メンバーではなくサービスアカウントを追加するため、Next をクリックします。
  6. Add service accounts が表示されます。追加するサービスアカウントを選択し、名前の横にあるチェックボックスをクリックします。
  7. Next をクリックして詳細を確認します。変更の必要がない場合は、Submit をクリックします。サービスアカウントと Automation Analytics viewer ロールおよびパーミッションを含む新しいグループが作成されます。

2.4. ユーザーアクセスグループからのサービスアカウントの削除

組織管理者は Red Hat Hybrid Cloud Console のユーザーアクセスグループからサービスアカウントを削除できます。すべてのユーザーがサービスアカウントを作成できますが、グループからサービスアカウントを削除できるのは組織管理者またはユーザーアクセス管理者だけです。

前提条件

手順

  1. Red Hat Hybrid Cloud Console から、設定アイコン (⚙) をクリックし、ユーザーアクセス をクリックします。
  2. グループからサービスアカウントを削除するには、Groups タブをクリックして、サービスアカウントが含まれるグループの名前をクリックします。
  3. グループ名ウィンドウが表示されたら、Service accounts タブをクリックします。そのグループ内のすべてのサービスアカウントが表示されます。
  4. 単一のサービスアカウントを削除します。

    1. Name 行のオプションアイコン (⋮) をクリックし、Remove をクリックします。
    2. Remove service account? メッセージを確認し、Remove service account をクリックします。
  5. 複数のサービスアカウントを削除します。

    1. 削除する各アカウントの横にあるチェックボックスをクリックします。
    2. 選択したサービスアカウントのいずれかの Name 行にあるオプションアイコン (⋮) をクリックし、Remove をクリックします。
    3. Remove service account? メッセージを確認し、Remove service account をクリックします。
  6. 選択したサービスアカウントが Service accounts タブに表示されないことを確認します。

2.5. サービスアカウントシークレットのリセット

サービスアカウントのシークレットをリセットできます。シークレットをリセットしても、クライアント ID は変更されません。サービスアカウントをリセットまたは削除するには、サービスアカウントの所有者である必要があります。組織管理者ユーザーは、任意のサービスアカウントをリセットまたは削除できます。

前提条件

手順

  1. Red Hat Hybrid Cloud Console から、設定アイコン (⚙) をクリックし、Service Accounts をクリックします。
  2. 既存のサービスアカウントのリストで、リセットするサービスアカウントを選択し、オプションアイコン (⋮) をクリックします。
  3. このアカウントをリセットすることを確認し、Reset credentials をクリックします。
  4. 更新された Client secret の値を安全な場所にコピーします。サービスへの接続を設定するときに、これらの認証情報を指定します。

    重要

    生成された認証情報は 1 回しか表示されないため、認証情報ウィンドウを閉じる前に、コピーした認証情報が正常かつ安全に保存されたことを確認してください。

  5. 生成されたクレデンシャルを安全な場所に保存したら、認証情報ウィンドウで確認チェックボックスを選択し、ウィンドウを閉じます。

2.6. サービスアカウントの削除

サービスアカウントを削除できます。サービスアカウントをリセットまたは削除するには、サービスアカウントの所有者である必要があります。組織管理者ユーザーは、任意のサービスアカウントをリセットまたは削除できます。

前提条件

手順

  1. Red Hat Hybrid Cloud Console から、設定アイコン (⚙) をクリックし、Service Accounts をクリックします。
  2. 削除するサービスアカウントを特定し、オプションアイコン (⋮) をクリックします。
  3. このアカウントを削除することを確認し、Delete service account をクリックします。

第3章 サービスでのサービスアカウントの使用

以下の情報は、サービスと CLIENT_ID および CLIENT_SECRET 変数でサービスアカウントを使用する方法を簡単に説明します。参考ガイドラインとしてのみ提供されています。

  1. 新しいサービスアカウント (Red Hat Hybrid Cloud Console サービスアカウント) を作成します。
  2. 次の情報を端末に貼り付けて、CLIENT_ID 変数と CLIENT_SECRET 変数を置き換えます。

    export HOST='https://sso.redhat.com' CLIENT_ID='<client_id>' CLIENT_SECRET='<client_secret>' SCOPES='openid api.iam.service_accounts'
    Copy to Clipboard Toggle word wrap
  3. サービスアカウントのトークンを取得します。

    curl "${HOST}/auth/realms/redhat-external/protocol/openid-connect/token" \
            --data-urlencode "grant_type=client_credentials" \
            --data-urlencode "client_id=${CLIENT_ID}" \
            --data-urlencode "client_secret=${CLIENT_SECRET}" \
            --data-urlencode "scope=${SCOPES}"
    Copy to Clipboard Toggle word wrap

    jq (コマンドライン JSON プロセッサー) がインストールされている場合は、トークンを環境変数に保存できます。

    export ACCESS_TOKEN=$( \
        curl "${HOST}/auth/realms/redhat-external/protocol/openid-connect/token" \
            --data-urlencode "grant_type=client_credentials" \
            --data-urlencode "client_id=${CLIENT_ID}" \
            --data-urlencode "client_secret=${CLIENT_SECRET}" \
            --data-urlencode "scope=${SCOPES}" \
        | jq -r '.access_token')
    Copy to Clipboard Toggle word wrap
  4. サービスアカウントをサポートするアプリケーションにリクエストを送信します。

    curl --header "Authorization:Bearer ${ACCESS_TOKEN}" --location "https://console.redhat.com/api/rbac/v1/access/?application=inventory"
    Copy to Clipboard Toggle word wrap
  5. レスポンスは空であるか、アプリケーションによっては特権のないアカウントが指定されているはずです。サービスアカウントを RBAC グループに追加し、ロールをそのグループに追加してみてください。(ユーザーアクセスグループ)
  6. ロールがサービスアカウントグループに追加されたら、手順 3 を繰り返して新しいトークンを取得し、リクエストを再試行します。これで、さらに権限が付与され、アプリケーションから適切な応答が得られるようになります。

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る