keeper/guacamole

Keeper Connection Managerを使用したApache GuacamoleのDockerによるデプロイ

イメージ: keeper/guacamole

Keeper Connection Managerの高度な機能を有効化するには、機能を制御する環境変数をdockerファイルに追加するか、または以下に記載したEXTENSIONSフラグのいずれかを追加するだけです。

サードパーティ製の任意の拡張機能は、必要に応じてADDITIONAL_GUACAMOLE_PROPERTIES変数を設定し、ボリュームマウントを介して使用できます。

Guacamoleのログを表示

Guacamoleのログは、認証など、リモートデスクトップに直接関連しないウェブアプリケーションの機能の予期しない挙動をデバッグする場合に有効です。Tomcat/Guacamoleのログを表示するには、トラブルシューティングのドキュメントに従ってください。

デフォルトでは、これらのログには「info」レベル以上のメッセージのみが表示されます。これは、コンテナを作成するときに、LOG_LEVEL環境変数を使用して上書きできます。

環境変数

ACCEPT_EULA

環境変数ACCEPT_EULAは「Y」に設定して、Keeper Connection ManagerのEULAに同意したことを示す必要があります。このDockerイメージは、EULAの条件に従わないと使用できません。

ADDITIONAL_GUACAMOLE_PROPERTIES

この変数はオプションで、起動中に/etc/guacamole/guacamole.propertiesに追加する必要のある追加コンテンツを指定します。この情報は、guacamole.properties.dockerを使用して追加されるため、環境変数の代入はこの変数の情報に対して自動的に実行されます

ALLOWED_LANGUAGES

この変数はオプションで、Guacamole内の表示言語を言語キーのコンマ区切りリストに制限します。指定した場合、ユーザーは記載された言語のみを利用できるようになり、記載された言語のみがユーザーのブラウザの優先言語に基づいて自動的に選択されます。たとえば、Guacamoleを英語とドイツ語のみに制限するには、ALLOWED_LANGUAGES="en, de"と指定します。選択した言語で翻訳キーが見つからない場合に使用される代替言語が英語であるため、このリストから英語を除外するのは、カスタム翻訳で見つからない文字列がないことが確実な場合にのみにすべきです

デフォルトでは、すべての定義済み言語が使用可能になります。

API_*

API_で始まるすべての環境変数は総じて、Guacamoleウェブアプリケーションを設定するための設定プロパティに関連します。これらの変数は、Guacamoleがユーザーセッションおよび受信したHTTPリクエストを処理する方法を制御します。これらの変数で制御するのは、Guacamoleウェブアプリケーションの機能のみであることにご注意ください。リモートデスクトップセッションの動作は制御されません。

変数名説明

API_MAX_REQUEST_SIZE

REST APIに対する特定のHTTPリクエスト(認証リクエストなど)のエンティティボディで受け入れる最大バイト数。**この制限は、リモートデスクトップセッション内で転送されるファイルには適用されません。**0を指定すると、リクエストサイズの制限が無効になります。デフォルトでは、リクエストは2097152バイト(2MB)に制限されています。

API_SESSION_TIMEOUT

Guacamoleセッションがアクティブでなくても有効状態を維持できる時間(分単位)。デフォルトでは、Guacamoleセッションは1時間に制限されています。

この設定は、Guacamoleセッションにのみ影響し、リモートデスクトップセッションには影響しません。リモートデスクトップセッションの時間に制限を適用するには、リモートデスクトップサーバー内の関連する設定(Windows RDPサーバーに設定するセッション時間制限のGPOなど)を変更する必要があります。Guacamoleは、リモートデスクトップセッションが接続されるとユーザーがアクティブであると見なし、接続されたリモートデスクトップセッション以外にアイドル状態と見なすものを定義しようとはしません。

AWS_DISCOVERY_*

AWS_DISCOVERY_で始まる環境変数はすべて、通常はguacamole.properties内で指定されるAWS EC2ディスカバリの設定プロパティに関連します。

EC2ディスカバリを使用する場合は、以下の環境変数が必要です。

変数名説明

AWS_DISCOVERY_ACCESS_KEY_ID

AWSでの認証に使用する必要のあるAWSアカウントのアクセスキーID。

AWS_DISCOVERY_SECRET_KEY

アクセスキーに関連付けられた秘密鍵

AWS_DISCOVERY_REGIONS

us-west-1、us-east-1などのEC2インスタンスを照会するリージョンのカンマ区切りリスト。

EC2ディスカバリに関連したその他のプロパティでは、他にも以下のオプションの環境変数を使用できます。

変数名説明

AWS_DISCOVERY_INSTANCE_BASE_PATH

利便性を考慮し、EC2インスタンスを格納するために使用する必要のある組織的な接続グループの名前。デフォルトでは、「Amazon EC2」になります。

AWS_DISCOVERY_ADMIN_GROUP

すべてのユーザーが検出されたEC2インスタンスを表示するために必要なKeeper Connection Managerのユーザーグループの名前。デフォルトでは、「AWS EC 2 Administrators」という名前のグループになります。

AWS_DISCOVERY_RECORD_CONNECTIONS_BY_DEFAULT

「true」に設定すると、すべての接続で画面記録がデフォルトで有効になります。接続セッションの記録は、「kcm:record」EC2インスタンスタグを使用して個々のマシンレベルで設定することもでき、その場合は、ここで設定した値が上書きされます。

AWS_DISCOVERY_KSM_CONFIG

KeeperボルトからEC2インスタンスの秘密鍵を取得するために使用する、base64でエンコードされたKeeper Secrets Managerの設定。

AWS_DISCOVERY_KSM_API_CALL_INTERVAL

Keeper Secrets Managerに対するAPI呼び出しの最小間隔(ミリ秒単位)。デフォルトでは、KCMは呼び出すたびに10秒待機します。次の取得の試行が許可されるまでは、最後に取得したキャッシュデータを使用します。

BAN_*

BAN_で始まる環境変数はすべて、ウェブアプリケーションに対する総当たり攻撃にも見える認証の試行を自動的にブロックする方法を設定するための設定プロパティに関連します。これらの変数はどれもオプションです。

変数名

BAN_ADDRESS_DURATION

IPアドレスが認証に繰り返し失敗した後に、一時的にブロックされる時間(秒単位)。デフォルトでは、アドレスは5分間ブロックされます。

BAN_MAX_ADDRESSES

KCMが無効な試行回数をチェックするために追跡管理するIPアドレスの最大数。 デフォルトでは、最大10485760個のアドレスを追跡します。

BAN_MAX_INVALID_ATTEMPTS

送信元IPアドレスが以降の試行を一時的にブロックされるまでに実行可能な無効の試行回数。デフォルトでは、認証に5回失敗すると一時ブロックされます。

CONTEXT_PATH

この変数はオプションで、Guacamoleウェブアプリケーションサービスを提供するパスを指定します。デフォルトでは、ウェブアプリケーションサービスはルートディレクトリ(http://your-container:8080/)で提供されますが、これはCONTEXT_PATHで別の場所の名前を設定することで上書きできます。

なお、CONTEXT_PATHによる場所の指定では、スラッシュを使用できないことにご注意ください。より複雑にネストされたパスでウェブアプリケーションサービスを提供する必要がある場合は、Nginx Apache HTTPDのようなリバースプロキシを使用する必要があります。

DUO_*

Duo多要素認証を使用する場合は、以下の環境変数が必要です。

変数名説明

DUO_API_HOSTNAME

Guacamoleが「Web SDK」アプリケーションとして追加されたときにDuoによって割り当てられた、ユーザーIDの確認に使用されるDuo APIエンドポイントのホスト名。この値は、Duoの「管理者」パネルのアプリケーションの詳細情報内に表示されます。

DUO_INTEGRATION_KEY

Guacamoleが「Web SDK」アプリケーションとして追加されたときにDuoが発行した連携用の鍵。この値は、Duoの「管理者」パネルのアプリケーションの詳細情報内に表示されます。

DUO_SECRET_KEY

Guacamoleが「Web SDK」アプリケーションとして追加されたときにDuoが発行した秘密鍵。この値は、Duoの「管理者」パネルのアプリケーションの詳細情報内に表示されます。

DUO_APPLICATION_KEY

40文字以上で構成される任意のランダムな鍵。この値は、Guacamoleのデプロイ専用に手動で生成する必要があります。

EXTENSIONS

この変数はオプションで、他のどの環境変数を指定するかに関係なく、イメージ内で有効にする必要があるすべての拡張機能の名前をコンマまたは改行で区切ったリストを指定します。空の名前、空白、末尾のコンマは無視されます。

拡張機能の名前は、対応するKeeper Connection Managerパッケージのguacamole(*)パッケージ機能(RPMパッケージのメタデータの一部)によって決まります。

拡張機能名宣言された機能対応パッケージ

duo

guacamole(duo)

json

guacamole(json)

ldap

guacamole(ldap)

mysql

guacamole(mysql)

openid

guacamole(openid)

postgresql

guacamole(postgresql)

saml

guacamole(saml)

sqlserver

guacamole(sqlserver)

ssl

guacamole(ssl)

totp

guacamole(totp)

uds

guacamole(uds)

この変数は、TOTP二要素認証のように設定オプションを何も設定せずに使用できる拡張機能に使用したり、関連する変数が誤ってすべて省略されるおそれがある場合でも、必要な環境変数が設定されていることを確認するためのサニティーチェックを強制したりするために主に使用します。拡張機能がこの環境変数内に記載されていなくても、対応する環境変数のいずれかが設定されている場合は利用できます。

EXTENSION_PRIORITY

この変数はオプションで、拡張機能を互いに相対的に読み込む順序を指定します。デフォルトでは、拡張機能はファイル名に基づいてアルファベット順に読み込まれます。

拡張機能の読み込み順序を上書きするには、最初に読み込む必要がある各拡張機能の名前をコンマで区切って記載します。特殊な名前*は、他のすべての拡張機能のプレースホルダーとして使用できます。以下に例を示します。

説明EXTENSION_PRIORITYの値

SAMLが他のすべての拡張機能よりも優先度が高いことを強制します。

saml

他のすべての拡張機能がSAMLよりも優先度が高いことを強制します。

*, saml

他のすべての認証メソッドよりもLDAPを優先し、他のすべての拡張機能がSAMLおよびOpenIDよりも優先度が高いことを強制します。

ldap, *, saml, openid

GUACD_*

guacdのTCP接続情報。

変数名説明

GUACD_HOSTNAME

guacdサービスをホストしているマシンのホスト名。

以下の他の環境変数オプションは、guacdへの他の接続機能を設定するために使用できます。

変数名説明

GUACD_PORT

guacdサービスが使用するポート。

GUACD_SSL

guacdサービスがSSL/TLS用に設定されているか否か。

JSON_*

JSON_で始まる環境変数はすべて、通常はguacamole.properties内で指定される暗号化されたJSON認証の設定プロパティに関連します。

暗号化されたJSON認証を使用する場合は、以下の環境変数が必要です。

変数名説明

JSON_SECRET_KEY

データを暗号化して署名するためのJSONデータを生成するシステムが使用する共有秘密鍵。この鍵は128ビットで、32桁の16進数で指定する必要があります。

暗号化されたJSON認証に関連したその他のプロパティでは、他にも以下のオプションの環境変数を使用できます。

変数名説明

JSON_TRUSTED_NETWORKS

暗号化されたJSONの送信を許可する必要のある信頼できるIPアドレスやCIDRサブネットのコンマ区切りリスト。省略した場合、どのアドレスからでもJSONの送信が許可されます。

KSM_*

KSM_*で始まる環境変数はすべて、Keeper Secrets Managerの設定プロパティに関連します。 Keeperボルト連携ガイドをご参照ください。

変数名説明

KSM_ALLOW_USER_CONFIG

「true」に設定すると、独自のKSM設定またはワンタイムトークンを設定できるようになります。これを設定したユーザーのボルトの記録は、(1) 管理者がユーザーのボルトでの使用を有効化し、かつ(2) KSM_CONFIGで設定したシステム全体のボルトの記録では要件に対応できないトークンが含まれるすべての接続において、検索対象に追加されます。デフォルトでは、ユーザーは独自のKSM設定を指定できません。

KSM_API_CALL_INTERVAL

Keeper Secrets Managerに対するAPI呼び出しの最小間隔(ミリ秒単位)。デフォルトでは、KCMは呼び出すたびに10秒待機します。次の取得の試行が許可されるまでは、最後に取得したキャッシュデータを使用します。

KSM_CONFIG

Keeper Commanderによって生成されるKeeper Secrets Managerのb64設定ファイル。

KSM_MATCH_DOMAINS_FOR_USERS

「true」に設定すると、記録がユーザー名と一致するかどうかを判定するときに、KSMの記録およびKCMの接続内のWindowsドメインが対象になります。デフォルトでは、対象はユーザー名だけです。

KSM_STRIP_WINDOWS_DOMAINS

「true」に設定した場合、KSMの記録内のWindowsドメインは、代わりに記録のユーザー名をユーザー名とドメインの部分に分割して判定されます。分割は、ユーザープリンシパル名形式とダウンレベルログオン名形式に基づいて実行されます。デフォルトでは、ユーザー名は分割されず、Windowsドメインは記録の分割された「ドメイン」フィールドからのみ読み取られます。

KSM_TOKEN_MAPPING

Keeperボルトの特定の記録およびフィールドを識別するために使用される静的トークン。

*_KSM_SECRET

Keeperボルトでの設定値の保護と保管に使用されます。

LDAP_*

LDAP_で始まる環境変数はすべて、通常はguacamole.properties内で指定されるLDAP認証の設定プロパティに関連します。

LDAP認証を使用する場合は、以下の環境変数が必要です(LDAPサーバーが1台の場合)。

変数名説明

LDAP_HOSTNAME

Guacamoleが認証に使用するLDAPサーバーのホスト名またはIPアドレス。

LDAP_USER_BASE_DN

LDAPディレクトリ内のすべてのGuacamoleユーザーが共有する共通のベースDN。

LDAPサーバーを複数台使用する場合、またはLDAPサーバー設定をYAML形式で指定する場合は、以下の環境変数が必要です。

変数名説明

LDAP_SERVERS

Guacamoleが認証に使用するLDAPサーバーについて記載したldap-servers.ymlファイルの完全な内容。

LDAP認証に関連したその他のプロパティでは、他にも以下のオプションの環境変数を使用できます。

変数名説明

LDAP_PORT

LDAPサーバーの待ち受けTCPポート。省略した場合、暗号化メソッドに応じて標準のLDAPポートまたはLDAPSポートが使用されます。暗号化されていないLDAPは標準ポート389を使用するのに対し、LDAPSはポート636を使用します。

LDAP_ENCRYPTION_METHOD

LDAPサーバーと通信する場合に使用する暗号化メカニズム。適正値は、暗号化されていないLDAPの場合は「none」、LDAP over SSL/TLS(一般名称、LDAPS)の場合は「ssl」、STARTTLSの場合は「starttls」です。省略した場合、暗号化は使用されません。

LDAP_NETWORK_TIMEOUT

LDAPサーバーへの接続試行を含む、LDAPネットワーク操作に許容される最大時間(ミリ秒単位)。デフォルトでは、LDAPネットワーク操作は30秒(30000ミリ秒)でタイムアウトします。複数のLDAPサーバーで構成されている場合、代替のLDAPサーバーへの迅速なフェールオーバーが必要な場合があるため、この値は意図的にLDAP_OPERATION_TIMEOUTよりも細かく設定されていることにご注意ください。

LDAP_OPERATION_TIMEOUT

LDAPクエリに許容される最大時間(単位)。デフォルトでは、LDAPクエリは30秒でタイムアウトします。

LDAP_USERNAME_ATTRIBUTE

LDAPディレクトリ内の関連するすべてのユーザーオブジェクトのユーザー名を含む属性。複数の属性でそのユーザー名を使用する場合は、複数の属性をコンマで区切って指定可能で、検索DNが必要になります。

LDAP_SEARCH_BIND_DN

認証を試みるユーザーのDNを特定する場合と同様に、ウェブアプリケーションがバインドするDN。ユーザー名が複数の属性のいずれかに含まれる場合、またはユーザーのユーザー名がDNの一部でない場合は、検索DNの指定が必要です。

LDAP_SEARCH_BIND_PASSWORD

検索DNで認証する場合に使用するパスワード。

LDAP_CONFIG_BASE_DN

すべてのguacConfigGroupオブジェクトで共有される共通のベースDN(接続データの格納にLDAPディレクトリが使用されている場合)。

LDAP_GROUP_BASE_DN

seeAlso属性を使用してLDAPディレクトリ内のguacConfigGroupアクセスを指定する可能性のあるすべてのユーザーグループによって共有される共通のベースDN。

LDAP_MAX_SEARCH_RESULTS

LDAPディレクトリから取得を試みる特定の検索結果の最大数。この制限を超える検索は失敗します。デフォルトでは、検索は1000エントリに制限されています。

LDAP_USER_SEARCH_FILTER

ユーザーアカウントを照会するときに使用するLDAP検索フィルタ。省略した場合、(objectClass=*)がデフォルトで使用されます。

LDAP_GROUP_SEARCH_FILTER

グループを取得するときに使用するLDAP検索フィルタ。省略した場合、(objectClass=*)がデフォルトで使用されます。

LDAP_DEREFERENCE_ALIASES

エイリアスの参照を自動的に外すか否か。適正値は、「never」、「searching」(ベースDNの検索後にのみ参照を外す)、「finding」(ベースDNの検索時にのみ参照を外す)、「always」です。デフォルトでは、エイリアスの参照は外されません。

LDAP_FOLLOW_REFERRALS

「true」の場合、LDAPディレクトリから受信したリファラルに自動的に従います。デフォルトでは、LDAPリファラルには従いません。

LDAP_MAX_REFERRAL_HOPS

特定のLDAPリファラルを解決する場合に追跡できるリファラルの最大数。デフォルトでは、リファラルのLDAP自動追跡が有効になっている場合、1つのリファラルに対して最大5ホップまで許可されます。

CA_CERTIFICATES

内部認証局(CA)が使用する1つまたは複数の証明書の内容(PEM形式)。指定すると、SSL/TLSを使用するLDAPサーバーへの接続など、他のサーバーへのSSL/TLS接続がこれらの証明書に対して検証されます。

LOG_LEVEL

この変数はオプションで、表示するログメッセージの最低レベルを指定します。有効な値は、詳細度が増す順に「error」、「warn」、「info」、「debug」、「trace」です。

デフォルトのログレベルは、「info」です。

MYSQL_*

MYSQL_で始まる環境変数はすべて、通常はguacamole.properties内で指定されるMySQL認証の設定プロパティに関連します。

MySQLを使用する予定の場合は、Guacamoleで使用するために自動的に初期化されるMySQLデータベースが含まれるkeeper/guacamole-db-mysqlイメージの使用をお勧めします。

MySQL認証を使用する場合は、以下の環境変数が必要です。

変数名説明

MYSQL_HOSTNAME

Guacamoleデータベースを提供するMySQLサーバーまたはMariaDBサーバーのホスト名またはIPアドレス。

MYSQL_DATABASE

MySQLサーバーまたはMariaDBサーバーでGuacamole用に作成されたデータベースの名前。

MYSQL_USERNAME

GuacamoleがMySQLサーバーまたはMariaDBサーバーで認証するときに使用するユーザー名。

MYSQL_PASSWORD

GuacamoleがMySQLサーバーまたはMariaDBサーバーで認証するときに指定するパスワード。

MySQL認証に関連したその他のプロパティでは、他にも以下のオプションの環境変数を使用できます。

変数名説明

MYSQL_PORT

MySQLサーバーまたはMariaDBサーバーの待ち受けTCPポート。省略した場合、標準のMySQLポート3306が使用されます。

MYSQL_USER_PASSWORD_MIN_LENGTH

ユーザーパスワードに必要な最小長。デフォルトでは、パスワードの複雑度に強制ルールはありません。

MYSQL_USER_PASSWORD_REQUIRE_MULTIPLE_CASE

「true」に設定した場合、ユーザーパスワードに大文字と小文字の両方の使用を義務づけます。

MYSQL_USER_PASSWORD_REQUIRE_SYMBOL

「true」に設定した場合、ユーザーパスワードに少なくとも1つの記号の使用を義務づけます。デフォルトでは、パスワードの複雑度に強制ルールはありません。

MYSQL_USER_PASSWORD_REQUIRE_DIGIT

「true」に設定した場合、ユーザーパスワードに少なくとも1つの数字の使用を義務づけます。デフォルトでは、パスワードの複雑度に強制ルールはありません。

MYSQL_USER_PASSWORD_PROHIBIT_USERNAME

「true」に設定した場合、ユーザーのユーザー名を使用するユーザーパスワードを禁止します。デフォルトでは、パスワードの複雑度に強制ルールはありません。

MYSQL_USER_PASSWORD_MIN_AGE

パスワードの変更後、ユーザーが再度パスワードを変更できるようになるまでの最小経過日数。デフォルトでは、パスワードを変更するための待機期間は不要です。

MYSQL_USER_PASSWORD_MAX_AGE

最後のパスワード変更から、ユーザーがパスワードの変更を求められるまでの最大経過日数。デフォルトでは、ユーザーは定期的にパスワードを変更する必要はありません。

MYSQL_USER_PASSWORD_HISTORY_SIZE

この数の分だけ過去のパスワードを記憶し、ユーザーがパスワードを変更する際に、記憶されたパスワードを流用することを禁止します。デフォルトでは、ユーザーは過去のパスワードを再利用できます。

MYSQL_DEFAULT_MAX_CONNECTIONS

ユーザーに関係なく、特定の接続に許可する同時接続の最大数。ここで、値「0」は無制限を示します。デフォルトでは、接続の同時使用は制限されません。

MYSQL_DEFAULT_MAX_GROUP_CONNECTIONS

ユーザーに関係なく、特定の接続グループに許可する同時接続の最大数。ここで、値「0」は無制限を示します。デフォルトでは、接続グループの同時使用は制限されません。

MYSQL_DEFAULT_MAX_CONNECTIONS_PER_USER

各ユーザーが特定の接続を保持できる同時接続の最大数。ここで、値「0」は無制限を示します。デフォルトでは、ユーザーごとの接続の同時使用は制限されません。

MYSQL_DEFAULT_MAX_GROUP_CONNECTIONS_PER_USER

各ユーザーが特定の接続グループを保持できる同時接続の最大数。ここで、値「0」は無制限を示します。デフォルトでは、ユーザーごとの接続グループの同時使用は、1つに制限されています。

MYSQL_ABSOLUTE_MAX_CONNECTIONS

ユーザー、接続、または接続グループに関係なく、全体で許可する同時接続の最大数。ここで、値「0」は無制限を示します。デフォルトでは、全体的な同時使用は制限されません。

MYSQL_USER_REQUIRED

「true」に設定した場合、ユーザー認証に他のメカニズム(LDAPなど)を使用した場合でも、各ユーザーに対応するアカウントがデータベース内に定義されている必要があります。デフォルトでは、別のメカニズムで認証に成功したユーザーは、データベース内にもアカウントを設定する必要はありません。

MYSQL_TRACK_EXTERNAL_CONNECTION_HISTORY

データベース内に存在しない接続の接続履歴をデータベース内で追跡管理する必要があるか否か。「true」に設定すると、確立されたすべての接続に対して接続履歴の記録が作成されます。「false」に設定すると、データベースに定義された接続に対してのみ接続履歴の記録が作成されます。デフォルトでは、外部接続を追跡管理します。

MYSQL_ENFORCE_ACCESS_WINDOWS_FOR_ACTIVE_SESSIONS

管理者がユーザーアカウントに課したアクセス時間制限をユーザーのログイン中に適用するか否か。「true」 に設定すると、ユーザーはアクセス制限時間に達してから約1分以内に自動的にログアウトされます。「false」 に設定すると、アクセス時間制限はユーザーがログインしようとした瞬間にのみ適用されます。デフォルトでは、ユーザーがログインしている間も、アクセス時間制限が適用されます。

MYSQL_AUTO_CREATE_ACCOUNTS

SSOプロバイダやLDAPなどの他の手段で認証に成功したユーザー用のユーザーアカウントエントリをデータベース内に自動的に作成するか否か。これは、TOTPやアカウントごとの承認など、アカウント固有の記憶領域を必要とする拡張機能を使用する場合に必要になることがあります。「true」に設定すると、ユーザーアカウントのエントリが自動的に作成されます。デフォルトでは、管理者は必要に応じてこのようなエントリを手動で作成する必要があります。

OPENID_*

OPENID_で始まる環境変数はすべて、通常はguacamole.properties内で指定されるOpen ID Connect認証の設定プロパティに関連します。

変数名説明

OPENID_AUTHORIZATION_ENDPOINT

OpenIDサービスの認可エンドポイント(URI) 。この値は、IDプロバイダが発行する必要があります。OpenID Connect Discoveryを実装するIDプロバイダの場合、この値は、ご利用のプロバイダの「.well-known/openid-configuration」JSONファイルの「authorization_endpoint」プロパティから取得できます。

OPENID_CLIENT_ID

必要に応じてOpenIDサービスに送信するOpenIDクライアントID。この値は通常、アプリケーションのOpenIDクレデンシャルの生成時にOpenIDサービスが発行します。

OPENID_ISSUER

受信したすべてのIDトークンの発行者。この値は、IDプロバイダが発行する必要があります。OpenID Connect Discoveryを実装するIDプロバイダの場合、この値はプロバイダの

「.well-known/openid-configuration」JSONファイルの「issuer」プロパティから取得できます。

OPENID_JWKS_ENDPOINT

受信したIDトークン(JSON WebトークンすなわちJWT)の検証方法を定義するJWKSサービスのエンドポイント(URI)。この値は、IDプロバイダが発行する必要があります。OpenID Connect Discoveryを実装するIDプロバイダの場合、この値は、ご利用のプロバイダの「.well-known/openid-configuration」JSONファイルの「jwks_uri」プロパティから取得できます。

OPENID_REDIRECT_URI

認証プロセスの完了後に認証されたユーザーをKeeper Connection Managerにリダイレクトできるように、OpenIDサービスに送信する必要のあるURI。これは、Keeper Connection Managerにアクセスするためにユーザーがブラウザに入力する完全なURLである必要があります。認証プロセスの完了後に認証されたユーザーをKeeper Connection Managerにリダイレクトできるように、OpenIDサービスに送信する必要のあるURI。これは、Keeper Connection Managerにアクセスするためにユーザーがブラウザに入力する完全なURLである必要があります。

オプション変数:

変数名説明

OPENID_ALLOWED_CLOCK_SKEW

GuacamoleサーバーのクロックとOpenIDサービスのクロック間のタイムスタンプ比較で許容されるクロックスキューの値(秒単位)。デフォルトでは、最大30秒のクロックスキューが許容されます。

OPENID_GROUPS_CLAIM_TYPE

認証されたユーザーがメンバーであるグループのリストを含む任意の有効なJWT内のクレームタイプ。デフォルトでは、「groups」クレームタイプが使用されます。

OPENID_MAX_NONCE_VALIDITY

Guacamoleサーバーが生成したナンスが有効状態を維持する最大時間(分単位)。OpenIDリクエストごとに一意のナンス値が生成されるため、これにより、個々のOpenIDリクエストがGuacamole内での認証に成功するまでの時間に上限が課されます。デフォルトでは、生成された各ナンスの有効期限は10分です。

OPENID_MAX_TOKEN_VALIDITY

OpenIDトークンが有効状態を維持する最大時間(分単位)。デフォルトでは、各OpenIDトークンの有効期限は300分(5時間)です。

OPENID_SCOPE

要求するOpenIDスコープのスペース区切りリスト。OpenIDスコープは、OpenIDトークン内で返される情報を特定するため、認証されたユーザーのユーザー名として使用できる値に影響します。OpenIDに準拠するには、少なくとも「openid profile」を要求する必要があります。デフォルトでは、「openid email profile」が使用されます。

OPENID_USERNAME_CLAIM_TYPE

認証されたユーザーがメンバーであるグループのリストを含む任意の有効なJWT内のクレームタイプ。デフォルトでは、「groups」クレームタイプが使用されます。

POSTGRES_*

POSTGRES_で始まる環境変数はすべて、通常はguacamole.properties内で指定されるPostgreSQL認証の設定プロパティに関連します。

PostgreSQLを使用する予定の場合は、Guacamoleで使用するために自動的に初期化されるPostgreSQLデータベースが含まれるkeeper/guacamole-db-postgresイメージの使用をお勧めします。

PostgreSQL認証を使用する場合は、以下の環境変数が必要です。

変数名説明

POSTGRES_HOSTNAME

Guacamoleデータベースを提供するPostgreSQLサーバーのホスト名またはIPアドレス。

POSTGRES_DATABASE

PostgreSQLサーバーでGuacamole用に作成されたデータベースの名前。

POSTGRES_USERNAME

GuacamoleがPostgreSQLサーバーで認証するときに使用するユーザー名。

POSTGRES_PASSWORD

GuacamoleがPostgreSQLサーバーで認証するときに指定するパスワード。

PostgreSQL認証に関連したその他のプロパティでは、他にも以下のオプションの環境変数を使用できます。

変数名説明

POSTGRES_PORT

PostgreSQLサーバーの待ち受けTCPポート。省略した場合、標準のPostgreSQLポート5432が使用されます。

POSTGRES_USER_PASSWORD_MIN_LENGTH

ユーザーパスワードに必要な最小長。デフォルトでは、パスワードの複雑度に強制ルールはありません。

POSTGRES_USER_PASSWORD_REQUIRE_MULTIPLE_CASE

「true」に設定した場合、ユーザーパスワードに大文字と小文字の両方の使用を義務づけます。

POSTGRES_USER_PASSWORD_REQUIRE_SYMBOL

「true」に設定した場合、ユーザーパスワードに少なくとも1つの記号の使用を義務づけます。デフォルトでは、パスワードの複雑度に強制ルールはありません。

POSTGRES_USER_PASSWORD_REQUIRE_DIGIT

「true」に設定した場合、ユーザーパスワードに少なくとも1つの数字の使用を義務づけます。デフォルトでは、パスワードの複雑度に強制ルールはありません。

POSTGRES_USER_PASSWORD_PROHIBIT_USERNAME

「true」に設定した場合、ユーザーのユーザー名を使用するユーザーパスワードを禁止します。デフォルトでは、パスワードの複雑度に強制ルールはありません。

POSTGRES_USER_PASSWORD_MIN_AGE

パスワードの変更後、ユーザーが再度パスワードを変更できるようになるまでの最小経過日数。デフォルトでは、パスワードを変更するための待機期間は不要です。

POSTGRES_USER_PASSWORD_MAX_AGE

最後のパスワード変更から、ユーザーがパスワードの変更を求められるまでの最大経過日数。デフォルトでは、ユーザーは定期的にパスワードを変更する必要はありません。

POSTGRES_USER_PASSWORD_HISTORY_SIZE

この数の分だけ過去のパスワードを記憶し、ユーザーがパスワードを変更する際に、記憶されたパスワードを流用することを禁止します。デフォルトでは、ユーザーは過去のパスワードを再利用できます。

POSTGRES_DEFAULT_MAX_CONNECTIONS

ユーザーに関係なく、特定の接続に許可する同時接続の最大数。ここで、値「0」は無制限を示します。デフォルトでは、接続の同時使用は制限されません。

POSTGRES_DEFAULT_MAX_GROUP_CONNECTIONS

ユーザーに関係なく、特定の接続グループに許可する同時接続の最大数。ここで、値「0」は無制限を示します。デフォルトでは、接続グループの同時使用は制限されません。

POSTGRES_DEFAULT_MAX_CONNECTIONS_PER_USER

各ユーザーが特定の接続を保持できる同時接続の最大数。ここで、値「0」は無制限を示します。デフォルトでは、ユーザーごとの接続の同時使用は制限されません。

POSTGRES_DEFAULT_MAX_GROUP_CONNECTIONS_PER_USER

各ユーザーが特定の接続グループを保持できる同時接続の最大数。ここで、値「0」は無制限を示します。デフォルトでは、ユーザーごとの接続グループの同時使用は、1つに制限されています。

POSTGRES_ABSOLUTE_MAX_CONNECTIONS

ユーザー、接続、または接続グループに関係なく、全体で許可する同時接続の最大数。ここで、値「0」は無制限を示します。デフォルトでは、全体的な同時使用は制限されません。

POSTGRES_USER_REQUIRED

「true」に設定した場合、ユーザー認証に他のメカニズム(LDAPなど)を使用した場合でも、各ユーザーに対応するアカウントがデータベース内に定義されている必要があります。デフォルトでは、別のメカニズムで認証に成功したユーザーは、データベース内にもアカウントを設定する必要はありません。

POSTGRESQL_TRACK_EXTERNAL_CONNECTION_HISTORY

データベース内に存在しない接続の接続履歴をデータベース内で追跡管理する必要があるか否か。「true」に設定すると、確立されたすべての接続に対して接続履歴の記録が作成されます。「false」に設定すると、データベースに定義された接続に対してのみ接続履歴の記録が作成されます。デフォルトでは、外部接続を追跡管理します。

POSTGRESQL_ENFORCE_ACCESS_WINDOWS_FOR_ACTIVE_SESSIONS

管理者がユーザーアカウントに課したアクセス時間制限をユーザーのログイン中に適用するか否か。「true」 に設定すると、ユーザーはアクセス制限時間に達してから約1分以内に自動的にログアウトされます。「false」 に設定すると、アクセス時間制限はユーザーがログインしようとした瞬間にのみ適用されます。デフォルトでは、ユーザーがログインしている間も、アクセス時間制限が適用されます。

POSTGRESQL_AUTO_CREATE_ACCOUNTS

SSOプロバイダやLDAPなどの他の手段で認証に成功したユーザー用のユーザーアカウントエントリをデータベース内に自動的に作成するか否か。これは、TOTPやアカウントごとの承認など、アカウント固有の記憶領域を必要とする拡張機能を使用する場合に必要になることがあります。「true」に設定すると、ユーザーアカウントのエントリが自動的に作成されます。デフォルトでは、管理者は必要に応じてこのようなエントリを手動で作成する必要があります。

REQUIRE_ACCOUNT_APPROVAL

この変数はオプションであり、ユーザーの認証に使用できるようになる前に、アカウントごとに管理者の明確な承認を必要とする拡張機能を指定します。デフォルトでは、インストールされている認証メソッドはすべて使用できます。

特定の認証メソッドの承認を必要とする場合は、承認を必要とする各拡張機能の名前をコンマで区切ってリストに記載します。以下に例を示します。

説明REQUIRE_ACCOUNT_APPROVALの値

SAMLからのログインに承認を要求します。

saml

SAMLおよびLDAPからのログインに承認を要求します。

saml, ldap

アカウントの承認ステータスは、KCMデータベース内にIDを持つユーザーに関してのみ保存および適用できます。使用しているデータベースに応じて、以下のいずれかの環境変数を「true」に設定することで、データベース内にまだ存在しないアカウントに対してこの記憶領域を自動的に作成するようにKCMに要求できます。

SAML_*

SAML_で始まる環境変数はすべて、通常はguacamole.properties内で指定されるSAML認証の設定プロパティに関連します。

SAML認証を使用する場合は、以下の環境変数が必要です。

変数名説明

SAML_CALLBACK_URL

認証結果をKeeper Connection ManagerにPOSTして、ユーザーをアプリケーションにリダイレクトできるように、SAMLサービスに送信する必要のあるURI。これは、Keeper Connection Managerにアクセスするためにユーザーがブラウザに入力する完全なURLである必要があります。

オプションの環境変数:

変数名説明

SAML_COMPRESS_REQUEST

SAML IdPに送信されるHTTPリクエストの圧縮を有効にします。このプロパティはオプションで、デフォルトは「true(圧縮有効)」です。

SAML_COMPRESS_RESPONSE

IdPから返されたSAMLレスポンスの圧縮を要求します。このプロパティはオプションで、デフォルトは「true(圧縮を要求)」です。

SAML_ENTITY_ID

Guacamole SAMLクライアントのエンティティID。通常はGuacamoleサーバーのURLですが、そうである必要はありません。このプロパティが必要になるのは、saml-idp-metadata-urlプロパティが指定されていない場合、または設定されたメタデータファイルにGuacamoleクライアントのSAML SPエンティティIDが含まれていない場合です。

SAML_GROUP_ATTRIBUTE

SAML IdPが提供する属性の名前。ユーザーのグループメンバーシップを含みます。これらのグループは解析され、ユーザーがログインするグループメンバーシップをマッピングするために使用されます。これは、特に他の認証モジュールと階層化されている場合に、Guacamoleクライアント内での権限管理に使用できます。このプロパティはオプションで、デフォルトは「groups」です。

SAML_IDP_METADATA_URL

SAML拡張がIdPで認証する方法を知るために必要な情報をすべて含む、SAML IDプロバイダから取得したXMLメタデータファイルのURI。このURIは、リモートサーバー(https://)など)またはファイルシステム上のローカルファイル(file://)など)の場合もあります。メタデータファイルには、SAML認証に必要なプロパティがほとんど含まれている場合が多く、他のパラメータは必要ありません。

SAML_IDP_URL

SAML IdPのベースURL。これは、SAML認証拡張機能がSAML認証を要求するときに、リダイレクトに使用するURLです。saml-idp-metadata-url プロパティが設定されている場合、このパラメータは無視されます。メタデータファイルが設定されていない場合は、このプロパティが必要です。

SAML_PRIVATE_KEY_PATH

SAML IdPに送信されるSAMLリクエストの署名に使用するPEM形式の秘密鍵のフルパス。これは、SAML IdPがリクエストに署名を求める場合にのみ必要です。デフォルトでは、SAMLリクエストは署名されません。

SAML_X509_CERT_PATH

SAML IdPに送信されるSAMLリクエストの署名に使用するPEM形式のX.509証明書のフルパス。これは、SAML IdPがリクエストに署名を求める場合にのみ必要です。デフォルトでは、SAMLリクエストは署名されません。

SQLSERVER_*

SQLSERVER_で始まる環境変数はすべて、通常はguacamole.properties内で指定されるSQL Server認証の設定プロパティに関連します。

SQL Server認証を使用する場合は、以下の環境変数が必要です。

変数名説明

SQLSERVER_HOSTNAME

Guacamoleデータベースを提供するSQL Serverインスタンスのホスト名またはIPアドレス。

SQLSERVER_DATABASE

SQL ServerインスタンスでGuacamole用に作成されたデータベースの名前。

SQLSERVER_USERNAME

GuacamoleがSQL Serverインスタンスで認証するときに使用するユーザー名。

SQLSERVER_PASSWORD

GuacamoleがSQL Serverインスタンスで認証するときに指定するパスワード。

SQL Server認証に関連したその他のプロパティでは、他にも以下のオプションの環境変数を使用できます。

変数名説明

SQLSERVER_PORT

SQL Serverインスタンスの待ち受けTCPポート。省略した場合、標準のSQL Serverポート1433が使用されます。

SQLSERVER_USER_PASSWORD_MIN_LENGTH

ユーザーパスワードに必要な最小長。デフォルトでは、パスワードの複雑度に強制ルールはありません。

SQLSERVER_USER_PASSWORD_REQUIRE_MULTIPLE_CASE

「true」に設定した場合、ユーザーパスワードに大文字と小文字の両方の使用を義務づけます。

SQLSERVER_USER_PASSWORD_REQUIRE_SYMBOL

「true」に設定した場合、ユーザーパスワードに少なくとも1つの記号の使用を義務づけます。デフォルトでは、パスワードの複雑度に強制ルールはありません。

SQLSERVER_USER_PASSWORD_REQUIRE_DIGIT

「true」に設定した場合、ユーザーパスワードに少なくとも1つの数字の使用を義務づけます。デフォルトでは、パスワードの複雑度に強制ルールはありません。

SQLSERVER_USER_PASSWORD_PROHIBIT_USERNAME

「true」に設定した場合、ユーザーのユーザー名を使用するユーザーパスワードを禁止します。デフォルトでは、パスワードの複雑度に強制ルールはありません。

SQLSERVER_USER_PASSWORD_MIN_AGE

パスワードの変更後、ユーザーが再度パスワードを変更できるようになるまでの最小経過日数。デフォルトでは、パスワードを変更するための待機期間は不要です。

SQLSERVER_USER_PASSWORD_MAX_AGE

最後のパスワード変更から、ユーザーがパスワードの変更を求められるまでの最大経過日数。デフォルトでは、ユーザーは定期的にパスワードを変更する必要はありません。

SQLSERVER_USER_PASSWORD_HISTORY_SIZE

この数の分だけ過去のパスワードを記憶し、ユーザーがパスワードを変更する際に、記憶されたパスワードを流用することを禁止します。デフォルトでは、ユーザーは過去のパスワードを再利用できます。

SQLSERVER_DEFAULT_MAX_CONNECTIONS

ユーザーに関係なく、特定の接続に許可する同時接続の最大数。ここで、値「0」は無制限を示します。デフォルトでは、接続の同時使用は制限されません。

SQLSERVER_DEFAULT_MAX_GROUP_CONNECTIONS

ユーザーに関係なく、特定の接続グループに許可する同時接続の最大数。ここで、値「0」は無制限を示します。デフォルトでは、接続グループの同時使用は制限されません。

SQLSERVER_DEFAULT_MAX_CONNECTIONS_PER_USER

各ユーザーが特定の接続を保持できる同時接続の最大数。ここで、値「0」は無制限を示します。デフォルトでは、ユーザーごとの接続の同時使用は制限されません。

SQLSERVER_DEFAULT_MAX_GROUP_CONNECTIONS_PER_USER

各ユーザーが特定の接続グループを保持できる同時接続の最大数。ここで、値「0」は無制限を示します。デフォルトでは、ユーザーごとの接続グループの同時使用は、1つに制限されています。

SQLSERVER_ABSOLUTE_MAX_CONNECTIONS

ユーザー、接続、または接続グループに関係なく、全体で許可する同時接続の最大数。ここで、値「0」は無制限を示します。デフォルトでは、全体的な同時使用は制限されません。

SQLSERVER_USER_REQUIRED

「true」に設定した場合、ユーザー認証に他のメカニズム(LDAPなど)を使用した場合でも、各ユーザーに対応するアカウントがデータベース内に定義されている必要があります。デフォルトでは、別のメカニズムで認証に成功したユーザーは、データベース内にもアカウントを設定する必要はありません。

SQLSERVER_TRACK_EXTERNAL_CONNECTION_HISTORY

データベース内に存在しない接続の接続履歴をデータベース内で追跡管理する必要があるか否か。「true」に設定すると、確立されたすべての接続に対して接続履歴の記録が作成されます。「false」に設定すると、データベースに定義された接続に対してのみ接続履歴の記録が作成されます。デフォルトでは、外部接続を追跡管理します。

SQLSERVER_ENFORCE_ACCESS_WINDOWS_FOR_ACTIVE_SESSIONS

管理者がユーザーアカウントに課したアクセス時間制限をユーザーのログイン中に適用するか否か。「true」 に設定すると、ユーザーはアクセス制限時間に達してから約1分以内に自動的にログアウトされます。「false」 に設定すると、アクセス時間制限はユーザーがログインしようとした瞬間にのみ適用されます。デフォルトでは、ユーザーがログインしている間も、アクセス時間制限が適用されます。

SQLSERVER_AUTO_CREATE_ACCOUNTS

SSOプロバイダやLDAPなどの他の手段で認証に成功したユーザー用のユーザーアカウントエントリをデータベース内に自動的に作成するか否か。これは、TOTPやアカウントごとの承認など、アカウント固有の記憶領域を必要とする拡張機能を使用する場合に必要になることがあります。「true」に設定すると、ユーザーアカウントのエントリが自動的に作成されます。デフォルトでは、管理者は必要に応じてこのようなエントリを手動で作成する必要があります。

SSL_*

SSL_で始まる環境変数はすべて、通常はguacamole.properties内で指定されるSSL/TLSクライアント認証(スマートカード認証)の設定プロパティに関連します。

SSL/TLSクライアント認証を使用する場合は、以下の環境変数が必要です。

変数名説明

SSL_CLIENT_AUTH_URI

このGuacamoleインスタンスを指し、SSL/TLSクライアント認証を要求する_ワイルドカード_URI。

SSL_PRIMARY_URI

このGuacamoleインスタンスを指し、SSL/TLSクライアント認証を要求_しない__ワイルドカードを使用しない_URI。

SSL/TLSクライアント認証に関連したその他のプロパティでは、他にも以下のオプションの環境変数を使用できます。

変数名説明

SSL_CLIENT_CERTIFICATE_HEADER

SSL/TLSクライアント認証を提供するSSLターミネーションサービスから受信したHTTPリクエストから取得した、URLエンコードされたクライアント証明書を取得するために使用するヘッダーの名前。デフォルトでは、keeper/guacamole-ssl-nginxイメージの動作と一致する、X-Client-Certificateが使用されます。

SSL_CLIENT_VERIFIED_HEADER

SSL/TLSクライアント認証を提供するSSLターミネーションサービスからHTTPリクエストが受信した証明書の検証ステータスを取得するために使用するヘッダーの名前。証明書が正常に検証された場合、このヘッダーの値は「SUCCESS」(すべて大文字)である必要があります。デフォルトでは、keeper/guacamole-ssl-nginxイメージの動作と一致する、X-Client-Verifiedが使用されます。

SSL_MAX_DOMAIN_VALIDITY

SSL/TLS認証のために一時的に生成された一意のサブドメインの有効時間(分単位)。デフォルトでは、一時的なサブドメインは5分間有効です。

SSL_MAX_TOKEN_VALIDITY

SSL/TLS認証のために一時的な認証トークンの有効時間(分単位)。デフォルトでは、一時的な認証トークンは5分間有効です。

SSL_SUBJECT_BASE_DN

有効なサブジェクトDNをすべて含むベースDN。指定した場合、このベースDNの下にあるサブジェクトDNを明示する証明書のみが受け入れられます。デフォルトでは、証明書が有効である限り、すべてのDNが受け入れられます。

SSL_SUBJECT_USERNAME_ATTRIBUTE

ユーザーのX .509証明書のサブジェクトDN内でユーザー名を表示するために使用できる1つまたは複数のLDAP属性。サブジェクトDNの最下位属性がこれらの属性のいずれでもない場合、証明書は拒否されます。デフォルトでは、任意の属性が受け入れられ、ユーザー名として使用されます。

TOTP_*

TOTP_で始まる環境変数はすべて、通常はguacamole.properties内で指定されるTOTP多要素認証の設定プロパティに関連します。

変数名説明

TOTP_ISSUER

ユーザーアカウントを発行するエンティティの人間が判読できる名前。デフォルトでは、これは「Apache Guacamole」です。

TOTP_DIGITS

生成された各コードで使用する必要のある桁数。TOTPでは、6桁、7桁、または8桁のコードを使用できます。これより長いコードや短いコードはTOTP規格に違反するため使用できません。デフォルトでは6桁のコードを使用します。

TOTP_PERIOD

生成された各コードの有効時間(秒単位)。コード生成時間は正の整数秒で指定され、任意の値を指定できますが、ユーザーがコードを入力するのに十分な時間が取れるように、この値は十分に長くする必要があります。この時間が経過すると、認証デバイスは新しいコードを生成します。デフォルトでは、生成されたコードは30秒間有効です。

TOTP_MODE

コードの生成に使用するハッシュアルゴリズム。有効なTOTPモード(ハッシュ)は、「sha 1」、「sha 256」、「sha 512」です。デフォルトでは「sha 1」が使用されます。

UDS_*

UDS_で始まる環境変数はすべて、通常はguacamole.properties内で指定されるUDS Enterpriseと連携するための設定プロパティに関連します。

変数名説明

UDS_BASE_URL

リモートアクセスを提供するためにKeeper Connection Managerを利用できるUDS EnterpriseデプロイのベースURL。Keeper Connection Managerは、このURLを使用してUDSとやりとりし、接続要求を認証および認可します。

USER_MAPPING

この変数はオプションで、/etc/guacamole/user-mapping.xmlファイルの内容を完全に指定します。このファイルを使用すると、MySQL、PostgreSQL、LDAPなどのより複雑な認証メソッドを設定せずに、Guacamoleのデプロイをテストできます。これは、Keeper Connection Managerのインストール手順で説明されている認証メカニズムです。

このファイルの内容は基本的に機密であるため、後述のようにUSE_SHM環境変数が「N」に設定されていない限り、ファイルは単にメモリ(/dev/shm内)に格納されます。

USE_DEFAULT_BRANDING

Keeper Connection Managerには、独自のデフォルトのブランディングが付属しています。独自のカスタムブランディングを使用する場合は、オプションのUSE_DEFAULT_BRANDING環境変数を「N」に設定して、Keeperのブランディングを無効にし、ご利用のブランディング拡張機能との競合を回避する必要があります。

USE_SHM

この変数はオプションであり、既知の機密ファイルをメモリではなくディスクに強制的に保管するために使用できます。保管をディスクに強制するには、USE_SHMを「N」に設定します。

デフォルトでは、keeper/guacamoleイメージは機密性が高いことがわかっているファイルの内容を/dev/shm内に保存するため、これらのファイルはメモリにのみ保存され、機密データがディスクに存続するおそれはありません。このようなファイルは起動中に環境変数からDockerイメージによって生成されるため、Dockerシークレットが使用されている場合に特に有効です。

Dockerシークレット

環境変数でデータを直接渡すのではなく、このイメージでサポートされている任意の環境変数に_FILEサフィックスを付加して、コンテナ内の指定されたファイルからその変数を強制的に読み込ませることができます。たとえば、ファイルから/etc/guacamole/user-mapping.xmlを読み取る操作は以下のとおりです。

docker run --name some-guacamole \
    -e ACCEPT_EULA=Y \
    -e GUACD_HOSTNAME=some-guacd \
    -e USER_MAPPING_FILE=/some/volume/mount/user-mapping.xml \
    -d keeper/guacamole

Dockerシークレットは機密データをコンテナ内の/run/secrets/配下のファイルに格納するため、これを使用して機密データをDockerシークレットから以下のようにして読み込めます。

docker run --name some-guacamole \
    -e ACCEPT_EULA=Y \
    -e GUACD_HOSTNAME=some-guacd \
    -e MYSQL_HOSTNAME=some-mysql \
    -e MYSQL_DATABASE=guacamole_db \
    -e MYSQL_USERNAME_FILE=/run/secrets/mysql-username \
    -e MYSQL_PASSWORD_FILE=/run/secrets/mysql-password \
    -d keeper/guacamole

Last updated