MongoDB 認証追加手順
ヒント
-
認証設定では、admin データベースの root ユーザーと、すべての業務データベースの nocoly ユーザーを作成します。
-
サンプルでは root のパスワードに
hTkfDMYJ7ZLs、nocoly のパスワードにtC9S86SFWxgaを使用していますが、実運用時には必ず強力な任意のパスワードに置き換えてください。- 互換性およびセキュリティ担保のため、カスタムパスワードには「$」「&」「!」「@」等の特殊文字は使用しないでください。これらは正規表現のパース問題などにより、コンテナへの正常な設定が行われない場合があります。「-」や「_」のご利用を推奨します。
-
操作前にデータバックアップを実施することを推奨します。
-
MongoDB に接続します。
docker exec -it $(docker ps | grep sc | awk '{print $1}') mongo -
mongo shell で admin データベースの root ユーザーと、すべての業務データベースの nocoly ユーザーを作成します。
use admindb.createUser({user:"root",pwd:"hTkfDMYJ7ZLs",roles:[{role:"root",db:"admin"}]})use MDLicensedb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"MDLicense"}]})use ClientLicensedb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"ClientLicense"}]})use commonbasedb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"commonbase"}]})use MDAlertdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"MDAlert"}]})use mdactionlogdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdactionlog"}]})use mdapprolesdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdapproles"}]})use mdapprovedb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdapprove"}]})use mdappsdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdapps"}]})use mdattachmentdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdattachment"}]})use mdcalendardb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdcalendar"}]})use mdcategorydb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdcategory"}]})use MDChatTopdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"MDChatTop"}]})use mdcheckdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdcheck"}]})use mddossierdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mddossier"}]})use mdemaildb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdemail"}]})use mdformdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdform"}]})use MDGroupdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"MDGroup"}]})use mdgroupsdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdgroups"}]})use MDHistorydb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"MDHistory"}]})use mdIdentificationdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdIdentification"}]})use mdinboxdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdinbox"}]})use mdkcdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdkc"}]})use mdmapdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdmap"}]})use mdmobileaddressdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdmobileaddress"}]})use MDNotificationdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"MDNotification"}]})use mdpostdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdpost"}]})use mdreportdatadb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdreportdata"}]})use mdrolesdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdroles"}]})use mdsearchdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdsearch"}]})use mdservicedatadb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdservicedata"}]})use mdsmsdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdsms"}]})use MDSsodb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"MDSso"}]})use mdtagdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdtag"}]})use mdtransferdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdtransfer"}]})use MDUserdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"MDUser"}]})use mdworkflowdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdworkflow"}]})use mdworksheetdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdworksheet"}]})use mdworkweixindb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdworkweixin"}]})use mdwsrowsdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"mdwsrows"}]})use pushlogdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"pushlog"}]})use taskcenterdb.createUser({user:"nocoly",pwd:"tC9S86SFWxga",roles:[{role:"readWrite",db:"taskcenter"}]})use mdintegrationdb.createUser({user: "nocoly",pwd: "tC9S86SFWxga",roles: [{role: "readWrite",db: "mdintegration"}]})use mdworksheetlogdb.createUser({user: "nocoly",pwd: "tC9S86SFWxga",roles: [{role: "readWrite",db: "mdworksheetlog"}]})use mdworksheetsearchdb.createUser({user: "nocoly",pwd: "tC9S86SFWxga",roles: [{role: "readWrite",db: "mdworksheetsearch"}]})use mddatapipelinedb.createUser({user: "nocoly",pwd: "tC9S86SFWxga",roles: [{role: "readWrite",db: "mddatapipeline"}]})use mdwfplugindb.createUser({user: "nocoly",pwd: "tC9S86SFWxga",roles: [{role: "readWrite",db: "mdwfplugin"}]})use mdpaymentdb.createUser({user: "nocoly",pwd: "tC9S86SFWxga",roles: [{role: "readWrite",db: "mdpayment"}]})use mdwfaidb.createUser({user: "nocoly",pwd: "tC9S86SFWxga",roles: [{role: "readWrite",db: "mdwfai"}]})use mdopenauthdb.createUser({user: "nocoly",pwd: "tC9S86SFWxga",roles: [{role: "readWrite",db: "mdopenauth"}]})use mdaisearchdb.createUser({user: "nocoly",pwd: "tC9S86SFWxga",roles: [{role: "readWrite",db: "mdaisearch"}]})use MDAgentInfradb.createUser({user: "nocoly",pwd: "tC9S86SFWxga",roles: [{role: "readWrite",db: "MDAgentInfra"}]}) -
docker-compose.yaml の修正(環境変数・ポート開放)
docker-compose.yaml のデフォルトパス:
/data/hap/script/docker-compose.yaml- app service の environment 下に
ENV_MONGODB_DAEMON_ARGSおよびENV_MONGODB_URIを追加してください。
ENV_MONGODB_DAEMON_ARGS: "--auth"ENV_MONGODB_URI: "mongodb://nocoly:tC9S86SFWxga@sc:27017"- sc service の ports にて 27017 番ポートのコンテナ公開を行います(外部公開が不要の場合はマッピング不要です)。
- 27017:27017docker-compose.yaml 設定例
version: '3'services:core:image: nocoly/core:7.5.1environment: &app-environmentENV_ADDRESS_MAIN: "https://example.domain.com"ENV_APP_VERSION: "7.5.1"ENV_API_TOKEN: "******"ENV_MONGODB_DAEMON_ARGS: "--auth" # 追加ENV_MONGODB_URI: "mongodb://nocoly:tC9S86SFWxga@sc:27017" # 追加 ※nocolyユーザーパスワードを適切に変更ports:- 8880:8880volumes:- ./volume/data/:/data/- ../data:/data/hap/datasc:image: nocoly/sc:3.2.0environment:<<: *app-environmentports:- 27017:27017 # 追加。MongoDBポートのマッピング。外部公開不要であれば、省略可能volumes:- ./volume/data/:/data/ - app service の environment 下に
-
Install Manager ディレクトリにてマイクロサービスを再起動
bash service.sh restartall