インスタンス間でのアプリケーションの移動
ServiceNow アプリケーションは開発インスタンスでビルドされ、更新セットまたは アプリケーションリポジトリ を使用してテスト環境と本番環境を通じて昇格され、変更をパッケージ化して移行します。このマルチインスタンスワークフローにより、本番環境のエンドユーザーに到達する前に、アプリケーションが徹底的にテストされます。
インスタンスタイプ
開発環境は通常、マルチインスタンスアーキテクチャに従います。各インスタンスは、アプリケーションライフサイクルにおいて個別の目的を果たします。
- 開発 (DEV):アプリをビルドして反復します。
- テスト/QA (TEST):変更を検証およびテストします。
- ステージング/UAT (ステージ): 変更を検証およびテストします。
- 本番 (PROD):日常のビジネスオペレーションを強化する稼働環境。
基本原則
基本原則は単純です:本番環境で直接開発しないでください。すべての構成とコードの変更は DEV で発生し、1 つ以上の非本番検証ステージを経て、自動テスト、インスタンススキャンチェック、ステークホルダーの承認などの品質チェックに合格した後にのみ本番環境に反映されます。
アプリケーションを移動するときは、そのアプリケーションスコープに関連付けられたすべてのアーティファクト (ビジネスルール、スクリプトインクルード、UI ページ、ACL、テーブル、フローなど) が、一貫した単位として一緒に移動する必要があります。部分的な展開ではバージョンの不一致が発生し、本番インシデントの主な原因となります。
インスタンス移動に関するセキュリティに関する考慮事項
- 認証情報の分離
- 統合認証情報、API キー、および OAuth トークンを開発から本番に昇格させないでください。プライベートまたは環境固有の認証情報ストアとしてマークされたシステムプロパティを使用します。
- ACL 検証
- すべての展開で インスタンススキャン を実行して、ACL が最小特権の原則に従っていることを確認します。空または過度に寛容な ACL は、一般的なセキュリティギャップです。
- ロールの分離
- 開発者は本番環境でアドミンアクセス権を持つべきではありません。アプリケーションのインストールに必要なロールのみを持つ専用の展開サービスアカウントを使用します。
- データ保護
- 非本番環境のテストデータにマスクされていない本番環境の PII が含まれていないことを確認します。クローン操作中にデータマスクまたは匿名化を使用します。