インストール&管理ガイド

イントロダクション

Identity Management - KeyRock ジェネリック・イネーブラーのインストール&管理ガイドへようこそ。このセクションでは、KeyRock の実用的なインスタンスのインストール、設定、および管理方法について説明します。

要件

Keyrock を実行するには、以前に以下のソフトウェアをインストールしておく必要があります :

システムのインストール

Keyrock を起動して実行するには、次の手順を実行する必要があります :

  • GitHub を使ってソフトウェアをダウンロードしてください。

    git clone https://github.com/ging/fiware-idm
    

  • NPM を使用して必要なライブラリをすべてインストールします。

    cd fiware-idm
    npm install
    

  • インストールを設定します。Keyrock を設定するには、config.js.template という名前のファイルをconfig.js にコピーします。

    cp config.js.template config.js
    

  • 基本情報に対応して編集します。以下にその例を示します :

ポートとホストを設定します :

    config.host = 'http://localhost:3000';
    config.port = 3000

データベースを設定 します :

    config.database = {
        host: 'localhost',
        password: 'idm',
        username: 'root',
        database: 'idm',
        dialect: 'mysql'
    }

セッション・キーを設定します :

    config.session = {
        secret: 'nodejs_idm'
    }

パスワードの暗号化を設定します :

    config.password_encryption = {
        key: 'nodejs_idm'
    }

メールを設定します :

    config.mail = {
        host: 'idm_host',
        port: 25,
        from: 'noreply@host'
    }
  • データベースの作成、マイグレーションとシーダーの実行します :

    npm run-script create_db
    npm run-script migrate_db 
    npm run-script seed_db 
    

  • サーバを起動します :

    npm start
    

  • forever.js をインストールして運用環境で実行することもできます :

    sudo npm install forever -g
    

  • そして、forever を使用してサーバを実行します :

    forever start bin/www
    

  • プロセスの状態を知るには、次のコマンドを実行します :

    forever status
    

HTTPSの有効化

サーバが HTTPS リクエストを待機できるようにするには、次の手順に従います :

  • OpenSSL 証明書を生成します

    ./generate_openssl_keys.sh
    

  • config.js で HTTPS を有効にします

    config.https = {
        enabled: true,
        cert_file: 'certs/idm-2018-cert.pem',
        key_file: 'certs/idm-2018-key.pem',
        port: 443
    }
  • 管理者権限でサーバを起動します
    sudo npm start
    

外部認証

他のデータベースを介してユーザーを認証するように Identity Manager を構成することもできます。

  • custom_authentication_driver.js.template という名前のファイルをcustom_authentication_driver.js にコピーします。

    cp helpers/custom_authentication_driver.js.template helpers/custom_authentication_driver.js
    

  • ユーザ・テーブル・スキーマに従って、custom_authentication_driver.js を編集します。

  • config.js ファイルでドライバの使用を有効にし、データベース属性をカスタマイズします。
    config.external_auth = {
        enabled: true,
        authentication_driver: 'custom_authentication_driver',
        database: {
            host: 'localhost',
            database: 'idm',
            username: 'root',
            password: 'idm',
            user_table: 'user',
            dialect: 'mysql'
        }
    }

Authzforce

Authzforce インスタンスがデプロイされている場合、Identity Manager が Authzforce PAP にリクエストを自動的に送信して、対応するポリシーを作成できます。設定ファイルを編集してこれらの操作を実行します。

    config.authzforce = {
        enabled: true,
        host: 'localhost',
        port: 8080
    }

テーマの設定

Web ポータルの外観をカスタマイズすることができます。デフォルトでは、default と fiwarelab という 2つのテーマがあります。

図1 : IdM のデフォルト・ビュー

図1 : IdM のデフォルト・ビュー

config.js でこれらのテーマを変更することができます :

    config.site = {
        title: 'Identity Manager',
        theme: 'default'   // default/fiwarelab
    };

さらに、独自のテーマをカスタマイズすることもできます。それを行うには、次の手順に従います :

  • テーマ・ディレクトリに新しいサブフォルダを作成します
    mkdir themes/example
    
  • _colors.scss, _styles.scss, style.scss を生成します
    cd themes/example && touch _colors.scss _styles.scss style.scss
    
  • これらの行を style.scss に追加してください
/****************************** Default colors */
@import "../default/colors";

/****************************** Custom colors */
@import "colors";

/****************************** Default styles */
@import "../default/styles_call";

/****************************** Custom styles */
@import "styles"
  • _colors.scss を編集します。例えば :
/****************************** Custom colors rewrite */

$brand-primary: purple;
$brand-secundary: orange;
  • 新しいテーマを使用するように、config.site を変更します :
    config.site = {
        title: 'Identity Manager',
        theme: 'example'   // default/fiwarelab
    };

Identity Manager を実行すると、新しい外観が表示されます :

図3 : IdM のカスタム・ビュー

_styles.scss に新しいロゴを設定することもできます。

/****************************** Custom styles rewrite */

.logo-header .brand {
  background-image: url(../img/example.png);
  width: 150px;
  background-size: 150px 37px;
}

.logo-header {
    float: left;
}

.presentation {
    .media {
        height: auto;
        footer {
            margin-top: 15px;
        }
    }
}

さらに、ポータルのヘッダー、フッター、プレゼンテーション、およびヘルプをカスタマイズすることができます。これを行うには、フォルダを作成し、ファイルを生成してからカスタマイズします。

mkdir themes/example/templates
cd themes/example/templates && touch _footer.ejs _header.ejs _presentation.ejs _help_about_items.ejs

システム管理

mysql データベースを管理するには、次のコマンドを実行してコンソールにアクセスし、mysql パスワードを導入します :

mysql -u [mysql_host] -u [username] -p

健全性チェック手順

健全性チェック手順は、システム管理者がインストールのテスト準備が整ったことを確認するための手順です。したがって、単体テスト、統合テスト、ユーザー検証に進む前に、明白なまたは基本的な誤動作が修正されていることを確認するための予備テストセットです。

エンド・ツー・エンドのテスト

  1. IdM のホストアドレスに到達できることを確認します。デフォルトで、Webアクセスにはログインページが表示されます
  2. 有効なユーザー名とパスワードを取得し、これらの資格情報でアクセスします。資格情報の確認後のWeb ページは、IdM KeyRock Portal のランディングページです
  3. アプリケーション、組織などのリストを表示できることを確認します

実行中プロセスのリスト

  • forever に使用した場合は、プロセスの状態を知るために次のコマンドを実行できます :
 forever status

ネットワーク・インターフェースのアップ&オープン

  • HTTPS が有効になっているサーバを実行する場合は、IdM ポータルを読み込むために TCP ポート 443 にWebブラウザからアクセスできる必要があります。

データベース

GE のインストール時にデータベースを正しく取り込んだ場合は、そのデータベースとの接続が確立しています。

必要なデータベースとテーブルは次のとおりです :

図4 : IdM のデータベース・テーブル

診断手順

診断手順は、GE のエラーの原因を特定するためにシステム管理者が行う最初の手順です。これらのテストでエラーの性質が特定されると、システム管理者はエラーの正確なポイントと可能な解決方法を特定するために、より具体的で具体的なテストに頼らざるを得なくなります。このような特定のテストは、このセクションの範囲外です。

リソースの可用性j

  • UNIX コマンド df を使用して、2.5MB のディスク領域が残っていることを確認します。

リモートサービス・アクセスj

ポート 443 にアクセスできることを確認してください。

リソース消費

一般的なメモリ消費量は 100MBで、2GHz の CPU コアのほぼ 1%を消費しますが、それはユーザのリクエストに依存します。

I/O フロー

クライアントは、クライアントのWebブラウザを介してKeyRock インターフェイスにアクセスします。これは単純な HTTP トラフィックです。ローカル・データベースにリクエストを出します。