UCIDM サーバー
UCIDM サーバーにおけるアプリケーションやミドルウェアの詳細なシステム概要を次に示します。
UCIDM サーバーとコンテナレジストリ
アプリケーションのコンテナは Docker Compose で管理しています。コンテナを作成するにはインターネット上のコンテナレジストリからコンテナイメージを取得しておく必要があります。
flowchart LR subgraph cr [コンテナレジストリ] repo[リポジトリ] end subgraph server [UCIDM サーバー] subgraph compose[Docker Compose] end end compose -- "docker pull" --> repo repo -- image --> compose
UCIDM サーバー内部のサービス詳細
Docker Compose 内部で複数のサービスが協調してシステムを構成しています。
内部ディレクトリサービス/クラウドサービスと Agent モジュールのデータフロー
flowchart TB
subgraph cloud-service [クラウドサービス]
cloud-server[Microsoft Entra ID]
end
subgraph in-directory-service [内部向けディレクトリサービス]
subgraph windows [Windows サーバー]
adserver[Active Directory]
passsync-agent-ad[Agent PassSync<br />For AD]
end
subgraph linux [Linux サーバー]
in-ldapserver[OSSTech OpenLDAP<br />サーバー]
passsync-agent-ldap[Agent PassSync<br />For OpenLDAP]
end
end
subgraph server [UCIDM サーバー]
proxy["リバースプロキシ<br />(TLS 終端)"]
subgraph compose[Docker Compose]
agent[Agent]
api[UCIDM API]
end
end
cloud-server -- https --> agent
adserver -- event --> passsync-agent-ad
passsync-agent-ad -- https --> proxy
in-ldapserver -- event --> passsync-agent-ldap
passsync-agent-ldap -- https --> proxy
adserver -- ldaps --> agent
in-ldapserver -- ldaps --> agent
agent -- http --> api
proxy -- http --> api
UCIDM サーバーと外部サービスのデータフロー
flowchart TB
subgraph server [UCIDM サーバー]
proxy["リバースプロキシ<br />(TLS 終端)"]
subgraph compose[Docker Compose]
agent[Agent]
admin-ui-bff[Admin UI BFF]
ucidm-ui-bff[UCIDM UI BFF]
api[UCIDM<br />API]
client[外部連携<br />モジュール]
client o--o mongodb
api o--o mongodb(MongoDB)
api -- publish --> rabbitmq(RabbitMQ)
end
end
subgraph cloud-service [クラウドサービス]
subgraph cloud-server [クラウドサーバー]
end
end
subgraph in-directory-service [内部向けディレクトリサービス]
subgraph ldap-server [LDAP サーバー]
end
end
subgraph ext-directory-service [外部向けサービス]
ext-openldap[OpenLDAP]
ext-ad[Active Directory]
ext-google[Google Workspace]
ext-me-id[Microsoft Entra ID]
ext-scim[SCIM]
end
cloud-service -- https --> agent
in-directory-service -- ldaps/https --> agent
api -- ldaps --> ldap-server
proxy -- http --> admin-ui-bff
proxy -- http --> ucidm-ui-bff
agent -- http --> api
admin-ui-bff -- http --> api
ucidm-ui-bff -- http --> api
proxy -- http --> api
rabbitmq -- subcribe --> client
admin-ui(Admin UI) o--o sysadmin(システム<br />管理者)
admin-ui -- https --> proxy
ucidm-ui(UCIDM UI) o--o user(一般<br />ユーザー)
ucidm-ui -- https --> proxy
client -- ldaps/https --> ext-directory-service
UCIDM サーバーと周辺サービス全体
前節の図を1つに統合したデータフローです。
%%{init: {"flowchart": {"defaultRenderer": "elk"}} }%%
flowchart TB
subgraph server [UCIDM サーバー]
proxy["リバースプロキシ<br />(TLS 終端)"]
subgraph compose[Docker Compose]
agent[Agent]
admin-ui-bff[Admin UI BFF]
ucidm-ui-bff[UCIDM UI BFF]
api[UCIDM API]
client[外部連携モジュール]
api o--o mongodb(MongoDB)
api -- publish --> rabbitmq(RabbitMQ)
client o--o mongodb
end
end
subgraph cloud-service [クラウドサービス]
subgraph cloud-server [クラウドサーバー]
meid[Microsoft Entra ID]
end
end
subgraph in-directory-service [内部向けディレクトリサービス]
subgraph windows [Windows サーバー]
adserver[Active Directory]
passsync-agent-ad[Agent PassSync<br />For AD]
end
subgraph linux [Linux サーバー]
in-ldapserver[OSSTech OpenLDAP<br />サーバー]
passsync-agent-ldap[Agent PassSync<br />For OpenLDAP]
end
end
subgraph ext-directory-service [外部向けサービス]
ext-openldap[OpenLDAP]
ext-ad[Active Directory]
ext-google[Google Workspace]
ext-me-id[Microsoft Entra ID]
ext-scim[SCIM]
end
adserver -- event --> passsync-agent-ad
in-ldapserver -- event --> passsync-agent-ldap
passsync-agent-ad -- https --> proxy
passsync-agent-ldap -- https --> proxy
meid -- https --> agent
adserver -- ldaps --> agent
in-ldapserver -- ldaps --> agent
api -- ldaps --> in-directory-service
agent -- http --> api
proxy -- http --> api
proxy -- http --> admin-ui-bff
proxy -- http --> ucidm-ui-bff
admin-ui-bff -- http --> api
ucidm-ui-bff -- http --> api
rabbitmq -- subcribe --> client
admin-ui(Admin UI) o--o sysadmin(システム管理者)
admin-ui -- https --> proxy
ucidm-ui(UCIDM UI) o--o user(一般ユーザー)
ucidm-ui -- https --> proxy
client -- ldaps/https --> ext-directory-service