Domino Administrators - What You Need to Know About the Domino Rest API Part Two の翻訳版です。
Domino 管理者 - Domino REST API について知っておくべきこと (後編)
2023年12月15日
著者: Heather J Hottenstein / Technical Advisor
「Domino 管理者が Domino REST API について知っておくべきこと」の前回の記事では、Domino管理者が Domino REST API に関心を持つ理由について説明し、ダウンロードとインストールの方法を紹介し、コンポーネントを紹介しました。インストール後、DRAPI は Domino サーバー上で自動的に実行を開始します。しかし、Domino 上で動作する HTTP のように、"load HTTP"を発行したからといって、本番に耐えうる Web サーバーができたわけではありません。この記事では、Dominoアプリケーションの完全な機能と安全なインタフェースを確保するために必要な設定手順について説明します。
ポートの保護
Domino REST API には HTTP を使用してアクセスする 4 つのポートがあります。ポートと提供する機能は次のとおりです。
データ・ポート | 8880 | Domino REST API が使用するメイン・ポート。デフォルトの認証では、文書のユーザー名とインターネット・パスワードが使用されます。 |
ヘルスチェック・ポート | 8886 | /health エンドポイントを使用して、Domino REST API が稼働しているかどうかを確認するために使用されます。他のポートへのアクセスを提供しない独自の機能アカウントがあります。 |
管理ポート | 8889 | 現在の構成 (/config)、ランタイム情報 (/info)、または Domino REST API のシャットダウン/再起動など、Domino REST API ランタイム動作へのアクセスを提供します。ポートをブロックし、localhost からのみのアクセスを推奨する。他のポートへのアクセスを提供しない独自の機能アカウントがあります。 |
Prometheus メトリクス | 8890 | Prometheus 形式のメトリクスを提供します。他のポートへのアクセスを提供しない独自の機能アカウントを持っています。 |
他のHTTPトラフィックと同様に、これらのポートも証明書で保護する必要があります。デフォルトの Web ポート 80 とは異なり、TLS を使用してアクセスしてもポートは変更されません。以下の図では、HTTP を介した外部 Web トラフィック要求は nginx プロキシで受信され、Domino REST API または Domino Web サーバーにルーティングされます。さらに、DRAPI 管理コンソールへのアクセスは 8889 経由のローカルアクセスで発生することがわかります。
これらのポートは Domino の HTTP エンジンとは別物であることに注意することが重要です。実際、Domino REST API は Domino サーバーに HTTP をロードせずに動作します。現在、これらのポートは Domino の証明書マネージャとそれぞれの TLS キャッシュによって保護されていません。ただし、証明書マネージャを使用して Let's Encrypt 証明書を取得できます。その後、証明書ストアの certstore.nsf から証明書をエクスポートし、セキュアポート構成に使用します。高レベルでは、証明書取得プロセスで証明書マネージャを活用し、Domino サーバー上で直接 DRAPI のポートをセキュアにするためにその証明書を使用するために、以下のステップを踏みます。
証明書ストアの certstore.nsf で、エクスポート可能な TLS クレデンシャルを作成します。
クレデンシャル要求が処理され、有効な証明書が作成されたら、TLS クレデンシャル文書の [Export TLS Credentials]アクションボタンを使用して証明書をエクスポートします。この例では、PKCS12 形式が選択され、ファイルは PFX タイプとしてエクスポートされます。
rock.pfx を DRAPI がインストールされている Domino サーバーの Domino\Data フォルダにコピーします。 注:証明書の場所は Data フォルダである必要はありません。証明書の場所は Data フォルダである必要はなく、Domino サーバにローカルで、ステップ 4 で説明する JSON 設定ファイルで正しく参照される必要があります。
DRAPI がインストールされた Domino サーバで、テキストエディタを使用して以下のような情報を含む JSON 設定ファイル(tls-config.json)を作成し、keepconfig.d フォルダに保存します。
注意事項:証明書のパスは、フォワード・スラッシュ(/)を使用して指定されたTLSFile.です。
{
"TLSFile": "c:/domino/data/go.pfx",
"TLSPassword": "P@$$w0rd1352",
"TLSType": "pfx"
}
テキストエディタを使って、サーバーのnotes.iniを開きます。
KeepManagementURLを更新し、httpsとサーバーのホスト名を含めます。
KeepManagementURL=https://rock.adventure.com:8889
重要:restapiをリロードする前に、サーバーのnotes.iniのLeepManagementURLを更新してください。
注意事項: Let's Encrypt証明書が更新されたら、エクスポート、コピー、リロードの手順を繰り返す必要があります。 または、これらの手順を自動化するプロセスを作成してください。
もう 1 つのオプションは、外向きのプロキシ、つまり nginx を使用することです。上記と同様に、Certificate Manager を使用して証明書を取得し、それをエクスポートしてプロキシで使用することができます。証明書の更新には証明書のエクスポートを繰り返す必要があることに注意してください。HTTP が終了する外向きのプロキシを使用する場合、つまり Domino サーバーとプロキシ間のトラフィックが HTTP を使用する場合、KeepManagementURL を更新する必要はなく、keepconfig.d フォルダに TLS JSON 設定ファイルも必要ありません。
nginx を HTTPS プロキシとして構成する - 単一ドメイン - HCL Domino REST API ドキュメント (hcltechsw.com)
nginxをサブドメインでHTTPSプロキシとして構成する - HCL Domino REST API Documentation (hcltechsw.com)
Healthcheck、Management、Prometheusポートにアクセスできるように、機能アカウントを設定することも、インストール後に必要なステップです。機能アカウントは、さまざまなタスクを実行するために必要な個人アカウントではありません。機能アカウントを作成するには、json 構成ファイルを作成し、DominoDatakeepconfig.d フォルダに配置します。この構成ファイルにはユーザー名とシークレットが含まれる。DRAPI ドキュメントには、管理機能アカウントのデフォルトテキストとして、ユーザー名が Doctor Notes、シークレットがパスワードの塩漬け値である以下の16進数テキストが含まれています。
{
"identity": {
"managementAPI": {
"Doctor Notes": {
"active": true,
"secret":
"E4B321EBA91B7F92D9BF5EAFA5322824FEC2287B8A6C133D7C31EFB706A2BA30:1A57478185E7AF3A98F01ECA08F0BA881DBC88BEC60AE8C6F1B1CC5CC55C11A20F676E082BF2D28BB96DB5A8CFB091C767C035B380DB4CBC7D1001EA8BE01663"
}
}
}
}
この例を使用して構成ファイルを作成します。必要に応じて別のユーザー名を指定します。Domino コンソールで tell restapi reload を発行した後、https://localhost:8889 を使用して管理コンソールにアクセスします。
注:ログインするには、構成ファイルに記載されているユーザー名(大文字と小文字が区別され ます)を入力し、パスワードは password とします。
もちろん、デフォルトのパスワードは変更する必要があります。新しいシークレットを取得するには、Salt thisフィールドにパスワードを入力します。Saltボタンを押すと、新しいシークレットが設定ファイルに入力されます。そして、新しいパスワードを有効にするために "tell restapi reload" を発行することを忘れないでください。
管理コンソールには、「Create IdP Certificate」ボタンがあります。これは DRAPI を実行している複数の Domino サーバーで共有できる恒久的な JWT トークンを作成するために使用します。Create IdP Certificate ボタンを押すと、keepconfig.d フォルダに証明書、公開/秘密鍵ペア、json 設定ファイルが生成されます。これらの4つのファイルは、環境全体で共有したい場合は、DRAPIを実行している他のDominoサーバーにコピーペーストすることができます。
JWT コンフィギュレーションに関する注意事項: Domino REST API は複数の外部プロバイダから JWT トークンを受け入れることができます。Domino REST API は複数の外部プロバイダから JWT トークンを受け入れることができます。そのための手順はここにあります。
Domino REST API はアクセストークンを消費するように設計されています。このトークンは OAuth ダンスの結果であることも、単に Domino 認証情報の交換の結果であることもあります。Domino REST API は OAuth ダンスを行う IdP を提供します。
OAuth を動作させるには、 oauth.nsf データベースと、keepconfig.d フォルダ内の oauth 設定ファイルが必要です。
oauth.nsfデータベースはDRAPIインストールの一部として作成されます。データベースの ACL を編集し、DRAPI を実行している Domino サーバーを OAuthAdmin ロールに追加する必要があります。
次に oauth 設定ファイルを作成します。以下のテキストをコピーしてください。
{
"oauth": {
"active": true,
"database": "oauth.nsf",
"url": "http://rock.adventure.com:8880",
"authCodeExpiresIn": 120,
"accessTokenExpiresIn": 3600,
"refreshTokenExpiresIn": 525600
}
}
次に、テキストベースのエディタ(メモ帳など)を開き、テキストを貼り付けます。ドキュメントを拡張子.json、つまりoauth.jsonで保存し、keepconfig.dフォルダに置きます。最後に、tell restapi reloadを実行して、構成の更新を有効にします。
DRAPI インストールの一部として作成された Domino データベースでは、それぞれの ACL に LocalKeepAdmins グループが自動的に追加されます。この ACL エントリを利用するには、Domino ディレクトリにグループを作成し、DRAPI 管理者、つまりスコープとアプリケーションの作成と更新を行う者を追加する必要があります。
DRAPI の一部としてインストールされた 3 つのデータベースは、管理グループとサーバーグループを追加して、組織のセキュリティ要件を満たすように ACL を更新する必要があります。さらに、DRAPI がインストールされている Domino サーバを管理サーバとして追加することを推奨します。
Domino Keep Agent Scheduler(keepagents.nsf)データベースのデフォルトは Reader ですが、No Access に変更することもできます。ランタイムエージェントを管理する人、つまり LocalKeepAdmins には Editor アクセス権が必要です。
Domino Keep OAuth(oauth.nsf)データベースには、DeleteフラグのないAuthorへのDefaultアクセスが必要です。これにより、ユーザーは管理 UI を使用して同意を取り消すことができます。
Domino Keep 設定(keepconfig.nsf)データベースのデフォルトアクセスは Reader にする必要があります。
最後に、Domino サーバーに追加するデータベースと同様に、サーバーの ID または組織の署名 ID でこれら 3 つのデータベースに署名することをお勧めします。そこで、Domino Administrator クライアントを使用して、keepagents.nsf、keepconfig.nsf、および oauth.nsf を選択し、それぞれの ID ファイルで署名します。
まとめると、Domino REST API の構成手順には以下のものが含まれます。
TLS 証明書で HTTP トラフィックを保護し、notes.ini で KeepManagementURL を更新します。
DominoDatakeepconfig.d フォルダに json 設定ファイルを作成して機能アカウントを作成し、管理コンソールを使用してパスワードをカスタム値に変更します。
DRAPI を実行している複数の Domino サーバーで共有できる恒久的な JWT トークンを作成します。DRAPI を実行する複数の Domino サーバ間で共有できる恒久的な JWT トークンを作成します。
oauth.nsf データベースの ACL を更新し、oauth 設定ファイルを作成することで、アプリケーションアクセス用の OAuth を設定します。
LocakKeepAdminsグループを作成し、設定します。
DRAPIデータベースのACLを更新します。
DRAPI データベースに署名します。
さて、Domino REST API が完全に機能し、セキュアになったところで、次回のブログ記事では DRAPI Admin UI を使ってスキーマ、スコープ、OAuth アプリケーションを作成し、REST API アクセス用のデータベースを準備する方法を紹介します。
HCLSoftware の各種製品を紹介する日経 XTECH Special のページを公開しました。HCL Notes/Domino、HCL AppScan、HCL BigFix、HCL Volt MX など各種製品や事例などがまとめられています。
Fueling the Digital+ Economy Digitalを超えて、「Digital +」 へ - 日経クロステック Special
2023年12月14日、HCL Domino REST API 1.0.9 をリリースしました。今回のリリースでは HCL Domino 14 に対応しています。新機能、機能改善等については以下のリリース情報をご覧ください。
2023年12月13日、Domino v14 Factory Tour を開催しました。多数のお客様、関係者様にご来場いただき、最終セッションまで盛況のうち終了できました。改めて感謝申し上げます。この後、資料の公開を行いますので暫くお待ちくださるようお願い致します。
HCLSoftware Digital Solutions Global Team & Japan Team 一同
Unlocking Innovation - Explore the Power of HCL Domino v14 の翻訳版です。
イノベーションを解き放つ - HCL Domino v14 のパワーを探る
2023年12月7日
著者: Thomas Hampel / Director of Product Management, Domino, HCLSoftware
この瞬間がやってきました!私たちは、HCL Domino v14 の発売という、私たちの旅における重要なマイルストーンのニュースを共有できることに、この上ない喜びを感じています!このリリースは単なるアップデートではありません。境界を押し広げ、シームレスで革新的なコラボレーションエクスペリエンスを提供するという私たちのコミットメントの証です。
HCL Domino v14 の真髄に迫ります。イノベーションのレイヤーを解き明かし、このリリースを際立たせる機能性を発見し、お客様のデジタルエクスペリエンスをどのように変革するかを直接ご覧いただきます。
この最新リリースでは、製品のコアに多大な投資を行ったことをお伝えできることを嬉しく思います。コンパイラを最新バージョンにアップグレードし、Javaランタイムをバージョン17 LTSにアップグレードすることで、私たちは戦略的に、私たちのシステムが最新のテクノロジーで稼働していることを保証し、お客様のアプリケーションの全体的なパフォーマンスと機能を向上させます。
HCL Domino v14は、一般的なツールやプラットフォームとのシームレスな統合を導入し、生産性向上のための統合環境を育成します。
別インストールからの解放 インストール後、すぐにより多くの機能を利用できるようになります。HCL Verse、HCL Nomad、美しい Ontime Group Calendar などのアドオンコンポーネントが、製品のインストーラーに含まれるようになりました。さらに、CCBライセンスをお持ちのお客様は、HCL Domino Leap に限定的な範囲でアクセスできます。Domino Leap では新しいワークフローアプリケーションを簡単に構築できます。
AutoUpdate - 簡単なサーバーメンテナンス Domino の管理者にとって、サーバーを最新の状態に保つことは、従来の手作業によるプロセスでした。バージョン14では、AutoUpdate が新バージョンの通知やアップデートのダウンロード、さらには定期的なアップデートを可能にします。機能強化、修正、セキュリティ・アップデートの最新状態を簡単に維持できます (Domino アイデアポータルの Rudi 氏のアイデアに感謝します!)。
Passkey 認証 - 笑顔で安全にログイン HCL Domino は、アプリやウェブサイトにアクセスするための革命的なアプローチであるパスキー機能を導入することで、セキュリティのパラダイムを変えています!このモダンでユーザーフレンドリーなツールは認証を再定義し、ユーザーは指紋、顔スキャン、またはスクリーンロック PIN でサインインできます。パスキー認証を Domino に統合することで、Web アプリケーションのセキュリティが向上します。(このアイデアをくれた Heiko と Fredrik に感謝します!)。
AdminCentral - ユーザー管理の合理化 AdminCentral は、Domino ユーザーとグループを配備全体で管理するユーザーフレンドリな方法を紹介します。これで管理者は、モバイルを含むどこからでも、ユーザーと更新を管理し、サーバーの健全性を監視できます。(この機能は、Matteo や Ales のアイデアに基づいています。)
クラスター化されたサーバーのための自己修復DAOSリポジトリ(Daniel がここで提案しました!)、IBM i7.5 のサポートの追加(このリクエストは Roberto に感謝します!)、DAOS の強化、Domino バックアップの改善、ID ボールト/OIDC、Dominoインストーラーオプションの合理化など、さらに多くのエキサイティングな改善があります。
すべての新機能と機能強化のより包括的な概要は、こちらをご覧ください。これらすべての新機能に加えて、新リリースでは326のバグ修正も提供されています。詳細については、修正リスト (Fix List) データベースを参照してください。
私たちはまだ終わっていません!HCL Domino Designer 14 が登場し、ソース管理と Git チーム開発の課題に真正面から取り組めるようになりました。
Domino Designer 14は、開発チームとCI/CDパイプラインのために、全く新しいソースコントロールツールとオンディスクプロジェクトのラウンドトリップセーフハンドリングを導入しています。(この機能を要求した Engage.ug 開発者コミュニティに敬意を表します!)
Notes アプリケーションは何十年も使用されているため、ユーザーインターフェースの更新プロセスを簡素化することは本当に必要なことです。最新のRestyle機能は、共有フィールド、アクションボタンなどを更新する機能などのさらなる強化をもたらします。ほんの数秒であなたのアプリケーションを一新しましょう。
Mac または Linux 用の Domino Designer - ブラウザで実行するだけです! Nomad 1.0.10 が数日後にリリースされ、ブラウザで Domino Designer を実行できるようになります (このアイデアはもともと Radi からです)。
皆様からの貴重なフィードバックに応えて、HCL Domino v14では、Ulrich がここでリクエストしたNotesHTTPクラスのProxyサポートの追加や、Sebastian がここで提案したテキストフィールドの 32KB 制限の削除など、皆様からリクエストされた、よりシームレスでユーザーフレンドリーなエクスペリエンスを保証する多くの機能拡張を導入しています。新機能の全リストはドキュメントを参照してください。
もし Domino Rest API を利用しているなら、次のアナウンスが気に入るでしょう!
Node、Node-Red、Go、および Admin UI 用の新しいソフトウェア開発キット (SDK) を公開しました。これらのSDKはすべてオープンソースで、ソフトウェア開発者が好みのプログラミング言語を使用してDominoとインターフェイスとなることを支援します。
サーバーのアップグレードと同様に、HCL Notes クライアントも Java 17 LTS への Java ランタイムとコンパイラの大幅なアップグレードを受けました。
注目すべき追加機能には、Apple M2 チップと macOS 14.x Sonoma のサポート、そして 64 ビットクライアントへの移行が含まれます。もちろん、すでにHCL NotesとNomadに含まれている、よく知られた Panagenda MarvelClient と一緒です。
HCL Notes クライアントの新機能のハイライトをいくつかご紹介します
改善されたユーザビリティ ワークスペースのページを再編成する機能(Atsushi からのリクエストです!)、設定ダイアログの使いやすさの向上など、クライアントのワークスペースを改善し続けています。
メールマージ 待望の機能が実現しました!HCL Notes に Mail Merge (差し込みメール機能) が導入されました(I.F. さんのアイデアに感謝!)。
Notes 連携ログイン セキュリティが飛躍的に向上しました。ユーザーは認証のために Notes.id ファイルとパスワードにアクセスするためにログイン画面を終了することができなくなりました。
Notes v14 アップデートの新機能に関する必要なすべての情報をここ で入手してください。
お待たせしました。これらのDomino V14ソフトウェアパッケージとコンポーネントはすべて、HCL License & Download Portalと新しい My HCLSoftware Portal で今すぐダウンロードできます。
V14の公開に伴い、このエクスペリエンスをパーソナライズすることをお勧めします。HCL Domino V14 にアップグレードすることで、ダウンロードし、その機能を深く理解し、あなたの日々の勝利の不可欠な一部にしてください。
2023年12月7日、HCL Notes/Domino V14、Enterprise Integrator V14、Traveler V14 をリリースしました。
製品の詳細な情報は 2023年12月13日開催の Factory Tour および、それ以降に順次お伝えしていく予定です。
製品のリリースにあたって、以下のリリース情報を公開しました。
また、新機能の紹介記事として以下を公開しました。
なお、HCL Nomad Web については 2023年12月13日 に新しいリリースを予定しています。
申し込みは締め切りましたが、当日会場でも受付をしております。
2023年12月、HCL Notes/Domino V14 をリリースします。これにあわせて、2023年12月13日、Domino v14 Factory Tour を開催します。今回は東京での物理開催です。
Notes/Domino だけの話ではなく、今後の方向性、新しい製品もあわせてご紹介してまいります。詳細についてはお申し込みページをご覧ください。
2023年11月14日、HCL Domino REST API 1.0.8 をリリースしました。新機能、機能改善等については以下のリリース情報をご覧ください。