PostgreSQL

PostgreSQL/Redshift接続タイプの詳細設定

Keeper Connection ManagerのPostgreSQLプロトコルは、kcm-libguac-client-postgresパッケージによってサポートされます。このパッケージは、インストール中に@kcm-guacamoleパッケージグループを使用した場合、デフォルトでインストールされ、keeper/guacdのDockerイメージ内にすでにインストールされています。このパッケージがまだインストールされていない場合、PostgreSQL接続は機能せず、必要なプロトコルがサポートされていないことを示す警告がguacdのログに記録されます。

guacd[8]:WARNING:Support for protocol "postgres" is not installed

このようなエラーがguacdのログに表示される場合は、kcm-libguac-client-postgresをインストールして解決します。

$ sudo yum install kcm-libguac-client-postgres

PostgreSQLサポートのインストールを有効にするためにguacdサービスを再起動する必要はありません。

概要

Keeper Connection ManagerのPostgreSQL実装では、PostgreSQLクライアントライブラリと、ユーザーインターフェースを表示する内部ターミナルライブラリを利用しています。GuacamoleのPostgreSQLサポートはサーバー側で端末をエミュレートし、この端末の画面をリモートのクライアントに表示します。

このドキュメントは、ウェブインターフェース内と同じ方法でグループ化された、サポート対象パラメータを網羅することを目指しています。ウェブインターフェースに表示されるフィールド見出しは、各パラメータの内部名、そのパラメータの動作の詳細な説明と適正値とともにパラメータごとに表示されます。

Keeper Secrets Managerのパラメータ

フィールド見出しパラメータ名説明

ユーザー提供のKSM設定を許可:

ksm-user-config-enabled

「true」に設定すると、Keeper Connection Managerの各ユーザープロファイルを任意の接続のKeeper Secrets Manager設定に割り当てることができます。詳細は、複数ボルトの連携画面をご参照ください。

ネットワークパラメータ

PostgreSQL接続は、TCPを使用して特定のポートと特定のホスト名またはIPアドレスに対して確立されます。すべてのPostgreSQL接続にホスト名またはアドレスを指定する必要がありますが、ポートを指定する必要があるのは、標準ポート (5432) を使用していない場合だけです。

フィールド見出し (ウェブインターフェース)パラメータ名説明

ホスト名

hostname

必須: Guacamoleが接続するPostgreSQLサーバーのホスト名またはIPアドレス。

ポート

port

PostgreSQLサーバーの待ち受けポート。デフォルトでは、標準のポート5432が使用されます。

認証パラメータ

Keeper Connection Managerは、ユーザー名とパスワードのパラメータを使用したPostgreSQL認証をサポートしています。接続を確立するには、両方のフィールドが必要です。

フィールド見出し (ウェブインターフェース)パラメータ名説明

ユーザー名

username

必須: 指定したPostgreSQLサーバーに接続する場合と同様に、認証するユーザー名。

パスワード

password

必須: 指定したPostgreSQLサーバーで認証する場合に使用するパスワード。

データベースパラメータ

接続の確立時にデフォルトのデータベースを指定できます。データをCSVでインポートおよびエクスポートする機能を無効にすることもできます。

フィールド見出し (ウェブインターフェース)パラメータ名説明

デフォルトデータベース

database

指定したPostgreSQLサーバーに接続するときに選択するデータベーススキーマ。

CSVエクスポートの無効化

disable-csv-export

エクスポートのSQL文「COPY...」を使用する場合に、データのCSVエクスポートを無効にするには、この値を「true」に設定します。

CSVインポートの無効化

disable-csv-import

インポートのSQL文「COPY...」を使用する場合に、データのCSVインポートを無効にするには、この値を「true」に設定します。

ディスプレイ設定

GuacamoleのPostgreSQLサポートはディスプレイを転送しますが、VNCやRDPのようなリモートデスクトッププロトコルと同じ感覚ではありません。ディスプレイはターミナルエミュレータであるため、使用するフォントとそのサイズを設定するためのオプションが用意されています。

PostgreSQL接続で別のフォントを選択する場合は、選択したフォントがguacdを実行しているサーバーにインストールされている必要があります。端末のディスプレイへの文字のレンダリングを処理するのは、クライアントではなくサーバーとなります。

フィールド見出し (ウェブインターフェース)パラメータ名説明

テーマ

color-scheme

SSH接続で使用されるターミナルエミュレータに使用するカラースキーム。各カラースキームによって、端末のデフォルトの前景色と背景色が決まります。テキストを表示するときに色を指定するプログラムは、これらの既定値を上書きします。適正値は以下のとおりです。

  • black-white」- 白地に黒色のテキスト

  • [gray-black」- 黒地に灰色のテキスト(デフォルト)

  • green-black」- 黒地に緑色のテキスト

  • white-black」- 黒地に白色のテキスト

デフォルトでは、Guacamoleは黒地に灰色でテキストをレンダリングします。

フォント名

font-name

使用するフォントの名前。指定しない場合は、デフォルトの「monospace」が代わりに使用されます。これは、guacdを実行しているサーバーにインストールされているフォントの名前であることが必要で、等幅フォントでなければなりません。等幅フォント以外を使用すると、個々のグリフが正しく表示されないことがあります。

フォントサイズ

font-size

使用するフォントのサイズ (ポイント単位)。既定では、レンダリングされるテキストのサイズは12ポイントになります。

最大スクロールバックサイズ:

scrollback

ターミナルスクロールバックバッファ内で許容される最大行数。デフォルトでは、スクロールバックバッファは最大1000行に制限されます。

読み取り専用:

read-only

この接続を読み取り専用にするか否か。「true」に設定すると、接続で入力が一切できなくなります。ユーザーは端末 (または端末内で実行されているアプリケーション) を表示することはできますが、操作はできません。

カスタムカラースキーム

PostgreSQL接続で使用されるターミナルエミュレータにカスタムカラースキームが付属する場合があります。カスタムスキームは、Xtermとよく似た形式で、セミコロンで区切られた一連の名前と値のペアで構成されます。名前と値のペアはそれぞれコロンで区切られ、ターミナルエミュレータパレットの色に値を割り当てます。

たとえば、デフォルトで白地に青色のテキストを使用し、赤色を紫の色調に変更するには、以下のように指定してください。

foreground: rgb:00/00/ff;
background: rgb:ff/ff/ff;
color9: rgb:80/00/80

正規の色名は以下のとおりです。

  • foreground」- デフォルトの前景色。

  • background」- デフォルトの背景色。

  • colorN」- Xterm 256色パレット内のインデックスNの色。たとえば、「color9」はパレットインデックス9の色を指し、通常は赤です。

正規の色の値は以下のとおりです。

  • 「rgb:RR/GG/BB」- RGB形式の色で、各部は16進数で表されます。たとえば、「rgb:ff/00/00」は赤色を指定します。16進数の各部は1桁から4桁までですが、有効値は常にゼロ拡張または2桁に切り捨てられます。たとえば、「rgb:f/8/0」、「rgb:f0/80/00」、「rgb:f0f/808/00f」はすべて同じ有効色を指します。

  • colorN」-Xterm 256色パレット内のインデックスNに現在割り当てられている色。たとえば、「color9」は、パレットインデックス9に現在割り当てられている色を指定します。その色への参照ではなく、_現在の色の値_が使用されることにご注意ください。カラースキームの設定で後から参照色を変更しても、その新しい色の値はこの割り当てに反映されません。

  • NAME」- 人間が判読できる名前「NAME」の付いた色で、「NAME」はX11でサポートされている標準色名の1つです。これらの名前は、一般にW3CがCSS用に標準化した名前に対応しています。

クリップボードのパラメータ

Guacamoleは、PostgreSQL接続でクリップボードへの双方向アクセスをデフォルトで可能にします。この動作は接続ごとにオーバーライドでき、クリップボードへのアクセスを制限できます。

フィールド見出し (ウェブインターフェース)パラメータ名説明

端末からのコピーを無効化:

disable-copy

「true」に設定すると、PostgreSQLセッション内でコピーされたテキストは、Guacamoleセッションのブラウザ側ではユーザーからアクセスできなくなり、リモートデスクトップ内でのみ使用できるようになります。デフォルトでは、ユーザーはコピーしたテキストにアクセスできます。

クライアントからの貼り付けを無効化:

disable-paste

「true」に設定すると、Guacamoleセッションのブラウザ側でコピーされたテキストは、PostgreSQLセッション内でアクセスできなくなります。デフォルトでは、ユーザーはPostgreSQLセッション内でブラウザ以外からデータを貼り付けることができます。

テキストセッションの記録 (タイプスクリプト)

計時情報を含む、PostgreSQLセッションの生の完全なテキストコンテンツを指定されたディレクトリに自動的に記録できます。この記録は、「タイプスクリプト」とも呼ばれ、指定されたディレクトリ内の2つのファイルに書き込まれます。1つのファイルには生のテキストデータが含まれ、もう1つのファイルには計時情報が含まれます。タイプスクリプト名に付けられた値が「NAME」の場合、これらのファイル名はそれぞれ「NAME」と「NAME.timing」となります。

この形式は、UNIXの標準scriptコマンドで使用される形式と互換性があり、scriptreplay (インストールされている場合) を使用して再生できます。たとえば、「NAME」というタイプスクリプトを再生するには、以下のように実行してください。

$ scriptreplay NAME.timing NAME
フィールド見出し (ウェブインターフェース)パラメータ名説明

タイプスクリプトのパス

typescript-path

タイプスクリプトファイルを作成するディレクトリ。タイプスクリプトを記録する必要がある場合は、このパラメータが必要です。このパラメータを指定すると、タイプスクリプトの記録が有効になります。このパラメータを省略すると、タイプスクリプトは記録されません。

タイプスクリプト名

typescript-name

作成されたすべての記録に使用する基本ファイル名。省略すると、基本ファイル名「typescript」が使用されます。

Guacamoleは既存のタイプスクリプトを上書きしません。必要に応じて、「.1」、「.2」、「.3」などの数字のサフィックスを基本ファイル名に付加して、既存の記録が上書きされないようにします。数字のサフィックスを付加しても区別できない場合は、タイプスクリプトは記録されず、エラーがログに記録されます。

このパラメータは、タイプスクリプトの記録が有効になっている場合にのみ機能し、タイプスクリプトのパスを指定することで制御できます。タイプスクリプトのパスが指定されていない場合、タイプスクリプトの記録は有効にならず、このパラメータは無視されます。

タイプスクリプトのパスを自動作成

create-typescript-path

「true」に設定すると、指定したタイプスクリプトのパスの末尾のディレクトリがまだ存在しない場合、自動的に作成されます。デフォルトでは、タイプスクリプトのパスの一部が自動的に作成されることはなく、存在しないディレクトリを使用しようとすると、タイプスクリプトは記録されず、エラーがログに記録されます。

自動的に作成されるのは、パス内の末尾のディレクトリのみです。パスの末尾以外の先頭の方のディレクトリが存在しない場合、タイプスクリプトは記録されず、エラーがログに記録されます。

このパラメータは、タイプスクリプトの記録が有効になっている場合にのみ機能し、タイプスクリプトのパスを指定することで制御できます。タイプスクリプトのパスが指定されていない場合、タイプスクリプトの記録は有効にならず、このパラメータは無視されます。

画面記録パラメータ

PostgreSQLのセッションは画像で記録できます。これらの記録は、Guacamoleプロトコルのダンプ形式を取り、指定したディレクトリに自動的に記録されます。その後、player.glyptodon.comでホストされているGlyptodon Enterprise Session Recording Playerアプリケーションを使用して (またはこのアプリケーションのローカルデプロイを使用して)、記録を再生できます。

このプレーヤーは静的なウェブアプリケーションであり、作成された記録の再生にはJavaScriptのみを使用します。この機能は厳密にローカルで実行され、記録がリモートサービスにアップロードされて処理されることはありません。このアプリケーションの独自のデプロイを使用したい場合、またはソースコードを調査したい場合は、こちらのGitHubでGlyptodon Enterprise Session Recording Playerの完全なソースコードとローカルデプロイの手順をご参照ください。

Keeper Connection Managerの最新バージョンでは、記録されたセッションの画面上での再生がサポートされています。 セッション記録のドキュメントページをご参照ください。

フィールド見出し(Webインターフェース)パラメータ名説明

記録のパス

recording-path

画面記録ファイルを作成するディレクトリ。画像記録の作成が必要な場合は、このパラメータが必要です。このパラメータを指定すると、画像による画面記録が有効になります。このパラメータを省略した場合、画像記録は作成されません。

記録名

recording-name

作成されたすべての記録に使用するファイル名。省略した場合、各記録のファイル名は単に「recording」となります。

Guacamoleは既存の記録を上書きしません。必要に応じて、「.1」、「.2」、「.3」などの数字のサフィックスをファイル名に付加して、既存の記録が上書きされないようにします。数字のサフィックスを付加しても区別できない場合は、セッションは記録されず、エラーがログに記録されます。

このパラメータは、画像の記録が有効になっている場合にのみ機能し、記録のパスを指定することで制御できます。記録のパスが指定されていない場合、セッションの画像による記録は有効にならず、このパラメータは無視されます。

画像/ストリームを除外

recording-exclude-output

「true」に設定すると、通常サーバーからクライアントにストリーミングされる画像出力やその他のデータが記録から除外され、ユーザー入力イベントのみを含む記録が生成されます。デフォルトでは、画像出力は記録に含まれます。

このパラメータは、画像の記録が有効になっている場合にのみ機能し、記録のパスを指定することで制御できます。記録のパスが指定されていない場合、セッションの画像による記録は有効にならず、このパラメータは無視されます。

マウスを除外

recording-exclude-mouse

「true」に設定すると、ユーザーのマウスイベントが記録から除外され、マウスカーソルが表示されない記録が作成されます。デフォルトでは、マウスイベントは記録に含まれます。

このパラメータは、画像の記録が有効になっている場合にのみ機能し、記録のパスを指定することで制御できます。記録のパスが指定されていない場合、セッションの画像による記録は有効にならず、このパラメータは無視されます。

キーイベントを記録

recording-include-keys

「true」に設定すると、ユーザーキーイベントが記録に含まれます。その後、記録をguaclog ユーティリティに渡して、セッション中に押されたキーを人間が判読できるように変換できます。デフォルトでは、プライバシー保護のため、キーイベントは記録に含まれ「ません」。

このパラメータは、画像の記録が有効になっている場合にのみ機能し、記録のパスを指定することで制御できます。記録のパスが指定されていない場合、セッションの画像による記録は有効にならず、このパラメータは無視されます。

記録のパスを自動作成

create-recording-path

「true」に設定すると、指定した記録のパスの末尾のディレクトリがまだ存在しない場合、自動的に作成されます。デフォルトでは、記録のパスの一部が自動的に作成されることはなく、存在しないディレクトリを使用しようとすると、セッションは記録されず、エラーがログに記録されます。

自動的に作成されるのは、パス内の末尾のディレクトリのみです。パスの末尾以外の先頭の方のディレクトリが存在しない場合、セッションは記録されず、エラーがログに記録されます。

このパラメータは、画像の記録が有効になっている場合にのみ機能し、記録のパスを指定することで制御できます。記録のパスが指定されていない場合、セッションの画像による記録は有効にならず、このパラメータは無視されます。

Last updated