第3章 セキュリティーレルム


セキュリティーレルムは、Data Grid Server エンドポイントの ID、暗号化、認証、および承認設定を定義します。

3.1. プロパティーレルム

プロパティーレルムはプロパティーファイルを使用して、ユーザーおよびグループを定義します。

users.properties は、ユーザー名をプレーンテキスト形式でパスワードにマッピングします。DIGEST-MD5 SASL メカニズムまたは Digest HTTP メカニズムを使用する場合は、パスワードを事前にダイジェストすることもできます。

myuser=a_password
user2=another_password

groups.properties はユーザーをロールにマッピングします。

myuser=supervisor,reader,writer
user2=supervisor

エンドポイント認証メカニズム

Data Grid Server がプロパティーレルムを使用するよう設定すると、以下の認証メカニズムを使用するようにエンドポイントを設定できます。

  • Hot Rod (SASL): PLAINDIGEST-*、および SCRAM-*
  • REST(HTTP): Basic および Digest

プロパティーレルム設定

<security xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="urn:infinispan:server:12.1 https://infinispan.org/schemas/infinispan-server-12.1.xsd"
          xmlns="urn:infinispan:server:12.1">
   <security-realms>
      <security-realm name="default">
         <!-- Defines groups as roles for server authorization. -->
         <properties-realm groups-attribute="Roles">
            <!-- Specifies the properties file that holds usernames and passwords. -->
            <!-- The plain-text="true" attribute stores passwords in plain text. -->
            <user-properties path="users.properties"
                             relative-to="infinispan.server.config.path"
                             plain-text="true"/>
            <!-- Specifies the properties file that defines roles for users. -->
            <group-properties path="groups.properties"
                              relative-to="infinispan.server.config.path"/>
         </properties-realm>
      </security-realm>
   </security-realms>
</security>

3.1.1. ユーザーの作成と変更

Data Grid ユーザーの認証情報を追加し、データへのアクセスを制御するパーミッションを割り当てます。

Data Grid サーバーのインストールは、プロパティーレルムを使用して、Hot Rod エンドポイントおよび REST エンドポイントのユーザーを認証します。これは、Data Grid にアクセスする前に 1 人以上のユーザーを作成する必要があることを意味します。

デフォルトでは、ユーザーはキャッシュにアクセスして Data Grid リソースと対話するためのパーミッションを持つロールも必要です。ユーザーにロールを個別に割り当てたり、ロールパーミッションを持つグループにユーザーを追加したりすることができます。

Data Grid コマンドラインインターフェイス (CLI) の user コマンドを使用して、ユーザーを作成し、ロールを割り当てます。

ヒント

CLI セッションから help user を実行し、コマンドの詳細を取得します。

3.1.1.1. 認証情報の追加

Data Grid Console の admin ユーザーと、Data Grid 環境を完全に制御する必要があります。このため、初めて認証情報を追加する時に admin パーミッションを持つユーザーを作成する必要があります。

手順

  1. $RHDG_HOME でターミナルを開きます。
  2. CLI で user create コマンドを使用して admin ユーザーを作成します。

    $ bin/cli.sh user create myuser -p changeme -g admin

    または、ユーザー名 admin は自動的に admin パーミッションを取得します。

    $ bin/cli.sh user create admin -p changeme
  3. 任意のテキストエディターで、user.properties および groups.properties を開き、ユーザーおよびグループを確認します。

    $ cat server/conf/users.properties
    
    #$REALM_NAME=default$
    #$ALGORITHM=encrypted$
    myuser=scram-sha-1\:BYGcIAwvf6b...
    
    $ cat server/conf/groups.properties
    
    myuser=admin

3.1.1.2. ユーザーへのロールの割り当て

ユーザーにロールを割り当て、ユーザーがデータにアクセスし、Data Grid リソースを変更するための適切なパーミッションを持つようにします。

手順

  1. admin ユーザーで CLI セッションを開始します。

    $ bin/cli.sh
  2. deployer ロールを katie に割り当てます。

    [//containers/default]> user roles grant --roles=deployer katie
  3. katie のロールをリスト表示します。

    [//containers/default]> user roles ls katie
    ["deployer"]

3.1.1.3. グループへのユーザーの追加

グループを使用すると、複数のユーザーのパーミッションを変更できます。グループにロールを割り当ててから、そのグループにユーザーを追加します。ユーザーは、グループロールからパーミッションを継承します。

手順

  1. admin ユーザーで CLI セッションを開始します。
  2. user create コマンドを使用してグループを作成します。

    1. --groups 引数を使用して、グループ名として developers を指定します。
    2. グループのユーザー名とパスワードを設定します。

      プロパティーレルムでは、グループは特別なタイプのユーザーで、ユーザー名とパスワードも必要です。

      [//containers/default]> user create --groups=developers developers -p changeme
  3. グループをリスト表示します。

    [//containers/default]> user ls --groups
    ["developers"]
  4. application ロールを developers グループに割り当てます。

    [//containers/default]> user roles grant --roles=application developers
  5. developers グループのロールをリスト表示します。

    [//containers/default]> user roles ls developers
    ["application"]
  6. 必要に応じて、既存のユーザーを一度に 1 人ずつグループに追加します。

    [//containers/default]> user groups john --groups=developers
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.