AI エージェントにセキュリティのためのアクセス制御を実装する

  • リリースバージョン: Zurich
  • 更新日 2025年08月11日
  • 所要時間:8分
  • アクセス制御リスト (ACL) とユーザー ID を使用して、AI エージェントとエージェントワークフローのセキュリティ制御を有効にします。

    AI エージェントのセキュリティの概要

    ServiceNow AI Platform上のエージェント AI のアクセス制御は、アクセス制御リスト (ACL) とユーザー ID という 2 つの主要コンポーネントで構成されています。全体的なセキュリティと動作は、これらのコンポーネントがエージェントワークフロー、AI エージェント、およびツールレベルでどのように相互作用するかによって決まります。

    ACL は、エージェントコンポーネントを検出して呼び出すことができるユーザーを決定します。ACL は、エージェントワークフロー、AI エージェント、および一部の AI エージェントツール ( Now Assist カスタムスキルなど) ごとに個別に設定する必要があります。

    ユーザー ID は、エージェントコンポーネントが実行できるロール、したがってアクセスできるデータを決定します。

    エージェントシステムのセキュリティを設計するときは、各レベルが連携して動作するように考慮する必要があります。エージェントワークフローを正常に実行するには、ダウンストリームのすべてのコンポーネントの ACL に合格する必要があります。ダウンストリーム コンポーネントが AI ユーザーとして実行される場合など、昇格された権限を持つ可能性があるユーザー ID の切り替えを考慮する必要があります。

    アクセス制御リスト

    Now Assist AI エージェントのアクセス制御リストは、エージェントワークフローまたは AI エージェントを検出して呼び出すことができるユーザーを決定するために設定されています。

    重要:
    AI エージェントスタジオ で構成された ACL は、ユーザーがエージェントワークフローまたは AI エージェントを検出して呼び出すために必要なロールを決定するだけです。エージェントワークフローまたは AI エージェントが呼び出されたときに持つアクセス権は決定されません。ユーザー ID によってアクセスが決定されます (以下のユーザー ID を参照)。

    での ACL の構成 AI エージェントスタジオ

    AI エージェントおよびエージェントワークフローの AI エージェントスタジオ で構成された ACL は、 Allow-If ロールベースです。

    Allow-Ifロジックは、ACL のいずれかの条件が満たされた場合にデータまたはリソースへのアクセスを許可します。もう 1 つのタイプの ACL は Deny-Unlessです。Deny-Unless ACL は、通常は誰かにアクセス権を付与する Allow-If ACL などの他の条件がある場合でも、条件が満たされない限り、データまたはリソースへのアクセスをブロックします。

    AI エージェントスタジオ で作成された ACL には、次の 3 つのオプションがあります。

    • Any authenticated user:ロールに関係なく、インスタンスで認証されたすべてのユーザーにアクセス権を付与します
    • Users with specified roles:デフォルトの ACL であり、アクセスを許可するロールを選択する必要があります
    • Public:サインインしていないゲストを含むすべてのユーザーにアクセス権を付与します

    AI エージェントスタジオ で構成されたすべての ACL が作成され、セキュリティ ACL テーブル [sys_security_acl] に保存されます。

    各 AI エージェントとエージェントワークフローには、独自の ACL が必要です。各 ACL は 1 つの AI エージェントまたはエージェントワークフローにのみ適用できますが、AI エージェントまたはエージェントのワークフローに対して複数の ACL を作成できます。ACL がないと、AI エージェントまたはエージェントのワークフローを作成したり、既存の AI エージェントまたはエージェントのワークフローに変更を保存したりすることはできません。AI エージェントのAI エージェントスタジオAllow-Ifおよびロールベースの ACL を構成するには、AI エージェントを作成する ガイド付きセットアップを参照してください。エージェントワークフローの Allow-If およびロールベースの ACL を構成するには、 エージェント型ワークフローを作成する ガイド付きセットアップを参照してください。

    gen_ai_agent *ACL と gen_ai_workflow *ACL は、デフォルトで出荷される 2 つの ACL です。従来の AI エージェントまたはエージェントワークフローに ACL が構成されていない場合、これら 2 つの ACL で AI エージェントまたはエージェントワークフローを実行できます。これらの ACL は、既存の AI エージェント、または ACL がまだ構成されていないエージェントワークフローにのみ使用されます。

    エージェント AI の高度な ACL 構成

    Deny-Unless ACL およびセキュリティ属性などのより複雑なセキュリティ構成は、UI16 の ACL テーブル [sys_security_acl] とフォームにアクセスすることで使用できます。AI エージェントスタジオ では利用できません。

    ACL レコードを作成することで、AI エージェントまたはエージェントワークフローに複数の ACL を構成できますが、 AI エージェントスタジオ では構成できません。追加の ACL を設定した場合、それらの ACL がガイド付きセットアップに表示されない場合があります。AI エージェントまたはエージェントワークフローの完全なセキュリティ構成については、ACL テーブルを確認してください。

    注:
    適切な昇格されたロールを持つユーザーのみが、ACL テーブルの読み取りと書き込みに直接アクセスできます。

    AI エージェントがツールとして使用する Now Assist スキルとフローには、追加のセキュリティ構成が必要です。スキルレベルの ACL は、 Now Assist スキルキットで構成できます。詳細については 、「スキルのアクセス制御リストの構成 」を参照してください。フローレベルのセキュリティは、ACL テーブルで ACL を使用して直接構成できます。これらの ACL は、直接呼び出されたときにチェックされます。

    スキルレベルの ACL は、ツールが有効になっている AI エージェントが呼び出されたときにもチェックされます。AI エージェントがフローをツールとして使用しようとすると、フローがチェックされます。

    注:
    エージェントワークフロー、AI エージェント、および AI エージェントツール間でセキュリティ要件が競合する場合、または呼び出し元ユーザーが一部の ACL の基準を満たしているが他の ACL の基準を満たしていない場合、エージェント AI の実行に失敗する可能性があります。これらのセキュリティ設定を決定するときは、エージェントワークフロー、AI エージェント、ツールなど、エージェントフローのすべての側面のセキュリティ設定を必ず考慮してください。

    ユーザー ID

    アクセス制御リスト (ACL) を構成したら、AI エージェントまたはエージェントワークフローの実行に使用するユーザー ID ( Run as とも呼ばれます) を設定する必要があります。AI エージェントまたはエージェントワークフローの実行に使用されるユーザー ID によって、その権限とアクセスできるデータが決まります。

    次の 2 つのユーザー構成から選択できます。
    • 動的ユーザー:AI エージェントまたはエージェントワークフローの実行を呼び出すログインユーザー。動的ユーザーはデフォルトのユーザー ID であり、AI ユーザーを正当化する特定のニーズがない限り、動的ユーザーを使用する必要があります。
    • AI ユーザー:AI エージェントまたはエージェントワークフローの実行を実行する専用のユーザー ID で、実行が誰にどのように呼び出されても変更されないロールがアサインされています。元の呼び出し元ユーザーの権限を超える権限を必要とするエージェントワークフローまたは AI エージェントは、AI ユーザーを必要とするケースの例です。
    注:
    呼び出し元ユーザーは、エージェントワークフロー実行のさまざまなステージで変更される可能性があり、必ずしも元のログインユーザーまたは会話ユーザーであるとは限りません。むしろ、呼び出し元ユーザーは、エージェントワークフロー階層の 1 つ上のレベルにある呼び出し元のユーザー ID です。たとえば、AI エージェントが動的 AI ユーザーとして実行されている場合、AI エージェントのツールの呼び出しユーザーは、AI エージェントを呼び出した会話型ユーザーではなく、AI エージェントのユーザーです。

    AI ユーザーは AI エージェントスタジオ で選択できますが、AI ユーザーを選択するには、ユーザー [sys_user] テーブルに既に作成されている必要があります。AI ユーザーとして選択するには、ユーザーに AI Agent ID タイプが必要です。デフォルトでは、sn_aia.admin ロールを持つユーザーには AI ユーザーを作成するためのアクセス権がありません。ユーザーテーブルに新しいユーザーを作成する手順については、 ユーザーの作成 を参照してください。

    ユーザー ID は、エージェントワークフローと AI エージェントレベルで構成されます。

    AI エージェントスクリプトツールのセキュリティ

    AI エージェントにスクリプトツールを追加するときは、デフォルトで GlideRecord の代わりに GlideRecordSecure を使用し、addEncodedQuery() の代わりに addUserEncodedQuery() を使用する必要があります。安全性の低いオプションを使用するスクリプトについては、ガイド付きセットアップに警告が表示されます。