アプリケーション管理
アプリケーション管理を使用してユーザーがアプリケーション固有のロールを取得する方法を制限することにより、機密のアプリケーションデータを保護します。
アプリケーション管理の機能
アプリケーション管理を使用して以下を行うことができます。
- 権限のないユーザーがフォーム、リスト、UI を介して財務記録や個人を特定できる情報などの機密データにアクセスするのを防ぎます。
- アプリケーションのアドミニストレーターや指定された開発者など、スコープで保護されたロールを誰がアサインできるかを決定します。
- システムレベルの admin ロールを持つユーザーが次の操作を実行できないように支援します。
- 保護されたアプリケーション ロールを自分自身に割り当てる。
- 保護されたアプリケーション ロールを含むグループを自分自身に割り当てる。
- アクセス制御を作成して、保護されたアプリケーションに対する既存のアクセス制御をバイパスする。
- 開発者またはアドミニストレーターが保護されたアプリケーション管理ロールを持っているユーザーを代理操作すること (開発者またはアドミニストレーターもそのロールを持っている場合を除く)。
- 保護されたアプリケーションロールを継承する。
- 保護されたアプリケーションに対する既存のアクセスコントロールを上書きする。
アプリケーション管理におけるロール
[ロール構成 (Role Configuration)] で [アプリケーションアドミニストレーター] チェックボックスをオンにすると、任意のロールをアプリケーション固有のアドミニストレーターにすることができます。詳細については、「アプリケーションへのアクセスの制限」を参照してください。慣例により、次のロールを作成します。
| ロール名 | 説明 |
|---|---|
| アプリケーション固有のアドミン | このロールを持つユーザーは、他のユーザーをそのアプリケーションのアプリケーション固有のロールに割り当てることができます。たとえば、 my_application.admin という名前のロールを作成できます。アプリケーションの admin ロールであることを示すサフィックス「admin」を付けて、制限付きのアプリケーションの名前を含める必要があります。 |
| アプリケーション固有の開発者 | このロールを持つユーザーは、制限付きアプリケーションにアクセスできます。たとえば、my_application.developer という名前のロールを作成できます。アプリケーションの開発者ロールであることを示すサフィックス「developer」を付けて、制限付きのアプリケーションの名前を含める必要があります。開発者ロールには、アプリケーションファイルを変更するためのアプリケーションアドミニストレーターと委任開発の両方の権限が必要です。 詳細については、「委託開発 の探索」と「担当者への開発権限の委任」を参照してください。 |
アプリケーション固有の admin ロール
アプリケーション固有の admin ロールにより、ユーザーは特定のアプリケーションにアクセスできますが、その他のアドミン権限をユーザーに付与することはできません。ユーザーが次のタスクを実行できるようにするには、システムレベルの admin ロールをユーザーにアサインします。
- フォームとリストのレイアウトを設定する。
- アプリケーションのテーブルとフィールドを変更します。
- 新しいユーザーにアプリケーション固有の admin ロールを割り当てる。
アプリケーション固有の admin ロールを持つユーザーにシステムレベルの admin ロールを付与しない場合は、以下のようにします。
- システムレベルの admin ロールをユーザーに割り当てない。アプリケーション固有の admin ロールのみを割り当てる。
- ユーザーが自分自身にアプリケーション固有の開発者ロールを割り当てる。
アプリケーション固有のアドミニストレーターは、システムレベルの admin ロールを持たなくても管理タスクのサブセットを実行できます。
注:
アプリケーション固有の admin ロールを複数のユーザーに割り当てます。これにより、アプリケーション固有の admin ロールを持つユーザーが退職しても、アプリケーションを変更できます。
アプリケーション管理の有効化とアプリケーション固有のロールの割り当て
アプリケーションレコードからアプリケーションのアプリケーション管理を有効にし、ユーザーロールレコードからのアプリケーション固有のロールの割り当てを制限することができます。
注:
アプリケーションの開発を完了した後、アプリケーションレコードを追加する前にアプリケーション管理を有効にし、アプリケーション固有のロールを割り当ててください。このプラクティスにより、アプリケーションレコード内の機密データが権限のないユーザーによるアクセスから保護されます。
ターゲットインスタンスには、アプリケーション固有の admin ロールを持つ承認されたユーザーが少なくとも 1 人必要です。
- アプリケーションのアプリケーション管理を有効にしても、アプリケーション固有のロールを割り当てない場合、ユーザーはアプリケーションにアクセスできません。
- アプリケーション固有のロールを 1 つだけアサインした場合、そのロールは削除できません。
アプリケーションのアプリケーション管理を有効にしても、アプリケーションのロールのアサインに必要なアプリケーション固有の admin ロールを持つユーザーがいない場合は、警告が表示されます。この警告により、アプリケーションのアドミニストレーターおよび開発者のアプリケーション固有のロールを割り当てるよう通知されます。
複数のユーザーがアプリケーション固有の admin ロールを保持することを必須にするには、[scoped_app_name].min_admin_count property を設定します。アプリケーション固有の admin ロールを複数のユーザーにアサインすると、スコープ対象のアプリケーションからロックアウトされるリスクが軽減されます。[scoped_app_name].min_admin_count プロパティには次の制限事項があります。
- プロパティに無効な値を指定すると、少なくとも 1 人のアプリケーション固有のアドミンをアサインするというデフォルト要件が適用されます。
- プロパティに有効な値を指定すると、指定された値を超えない限り、アプリケーション固有のアドミンを削除することはできません。たとえば、値を 2 に指定し、アプリケーション固有のアドミニストレーターが 3 人いる場合は、そのうちの 1 つのロールのみを削除できます。
- アサインされたアプリケーション固有のアドミンの実際の数よりも大きい値を指定できます。ただし、指定された値を超えないかぎり、アプリケーション固有のアドミニストレーターは削除できません。たとえば、値を 6 に指定しても、アプリケーション固有のアドミニストレーターが 3 人しかいない場合、それらのいずれのロールも削除できません。
手順については、「アプリケーションへのアクセスの制限」を参照してください。
アプリケーション管理によるアプリケーションの開発
アプリケーション管理によって保護されているアプリケーションを展開するには、開発者インスタンスと本番インスタンスの両方でシステムレベルの admin ロールが必要です。プロセスについては、以降のステップで概説します。
- 開発インスタンス上でアプリケーションを開発します。
- アプリケーション固有の admin ロールを作成します。
- アプリケーション固有の admin ロールをシステムレベルのすべてのアドミンユーザーに付与します。
- アプリケーションレコードを更新してアプリケーション管理を有効にし、アプリケーションへのアクセスを制限します。
- アプリケーションをアプリケーションリポジトリに公開します。
- 本番インスタンスから、アプリケーションリポジトリのアプリケーションをインストールします。
- 本番インスタンスにおけるシステムレベルのアドミニストレーターとして、アプリケーション固有の admin ロールを適切なユーザーに付与します。
- システムレベルの admin ロールを持つすべてのユーザーからアプリケーション固有の admin ロールを削除します。
アプリケーション管理を有効にしてアプリケーション固有のロールの割り当てを制限する手順については、「アプリケーションへのアクセスの制限」を参照してください。
トレーニング
ServiceNow® 開発者サイト には「アプリケーションの保護」のトレーニングがあります。