AI 에이전트에서 보안을 위한 접근 제어 구현
접근 제어 목록(ACL) 및 사용자 ID를 통해 AI 에이전트 및 에이전트 워크플로우에 대한 보안 제어를 활성화합니다.
AI 에이전트용 보안 개요
에서 ServiceNow AI Platform 에이전트 AI에 대한 접근 제어는 접근 제어 목록(ACL)과 사용자 ID의 두 가지 주요 구성 요소로 이루어집니다. 전반적인 보안 및 동작은 이러한 구성요소가 에이전트 워크플로우, AI 에이전트 및 도구 수준에서 서로 상호 작용하는 방식에 따라 결정됩니다.
ACL은 에이전트 구성요소를 검색하고 호출할 수 있는 사용자를 결정합니다. ACL은 각 에이전트 워크플로우, AI 에이전트 및 일부 AI 에이전트 도구(예: 사용자 지정 기술) Now Assist 에 대해 개별적으로 설정해야 합니다.
사용자 ID는 에이전트 구성요소가 실행할 수 있는 역할과 그에 따른 액세스 가능한 데이터를 결정합니다.
에이전트 시스템의 보안을 디자인할 때 함께 작동하는 각 수준을 고려해야 합니다. 에이전트 워크플로우를 성공적으로 실행하려면 모든 구성요소 다운스트림의 ACL을 전달해야 합니다. 다운스트림 구성 요소가 AI 사용자로 실행되는 경우와 같이 사용자 ID의 모든 전환을 고려해야 하며, 이러한 전환은 권한을 상승시킬 수 있습니다.
접근 제어 목록
AI 에이전트의 Now Assist 접근 제어 목록은 에이전트 워크플로우 또는 AI 에이전트를 검색하고 호출할 수 있는 사용자를 결정하도록 설정됩니다.
에서 ACL 구성 AI 에이전트 스튜디오
AI 에이전트 및 에이전트 워크플로우에 AI 에이전트 스튜디오 대해 구성된 ACL은 역할 기반입니다 Allow-If .
이 논리는 Allow-If ACL의 조건이 충족되는 경우 데이터 또는 자원에 대한 액세스 권한을 부여합니다. ACL의 Deny-Unless다른 유형은 입니다. Deny-Unless ACL은 일반적으로 누군가에게 액세스 권한을 부여하는 ACL과 같은 Allow-If 다른 조건이 있더라도 조건이 충족되지 않는 한 데이터 또는 리소스에 대한 액세스를 차단합니다.
다음에서 생성된 ACL에 대해 세 가지 가능한 옵션이 있습니다.AI 에이전트 스튜디오
- Any authenticated user: 역할에 관계없이 인스턴스에서 인증된 모든 사용자에게 액세스 권한을 부여합니다.
- Users with specified roles: 기본 ACL이며 액세스 권한을 부여하는 역할을 선택해야 합니다.
- Public: 로그인하지 않은 게스트를 포함한 모든 사용자에게 액세스 권한을 부여합니다.
에 AI 에이전트 스튜디오 구성된 모든 ACL이 생성되어 보안 ACL 테이블 [sys_security_acl]에 저장됩니다.
각 AI 에이전트 및 에이전트 워크플로우에는 고유한 ACL이 있어야 합니다. AI 에이전트 또는 에이전트 워크플로우에 대해 여러 ACL을 생성할 수 있지만 각 ACL은 하나의 AI 에이전트 또는 에이전트 워크플로우에만 적용할 수 있습니다. ACL 없이 AI 에이전트 또는 에이전트 워크플로우를 생성하거나 기존 AI 에이전트 또는 에이전트 워크플로우에 대한 변경 내용을 저장할 수 없습니다. AI 에이전트에 AI 에이전트 스튜디오 대해 및 역할 기반 ACL을 AI 에이전트 생성 구성하려면 Allow-If 안내 설정을 참조하십시오. 에이전트 워크플로우에 대한 역할 기반 ACL을 구성하려면 Allow-If 안내 설정을 참조하십시오 에이전틱 워크플로우 생성 .
gen_ai_agent *ACL 및 *ACL은 gen_ai_workflow 기본적으로 제공되는 두 개의 ACL입니다. 레거시 AI 에이전트 또는 에이전트 워크플로우에 ACL이 구성되지 않은 경우 이 두 ACL을 사용하여 AI 에이전트 또는 에이전트 워크플로우를 실행할 수 있습니다. 이러한 ACL은 아직 ACL이 구성되지 않은 기존 AI 에이전트 또는 에이전트 워크플로우에만 사용됩니다.
에이전트 AI를 위한 고급 ACL 구성
Deny-Unless ACL과 보안 속성과 같은 보안에 대한 기타 복잡한 구성은 UI16의 ACL 테이블 [sys_security_acl] 및 양식에 액세스하여 사용할 수 있습니다. 에서는 AI 에이전트 스튜디오사용할 수 없습니다.
ACL 기록을 생성하여 AI 에이전트 또는 에이전트 워크플로우에 대해 둘 이상의 ACL을 구성할 수 있지만 에서는 AI 에이전트 스튜디오구성할 수 없습니다. 추가 ACL을 구성한 경우 해당 ACL이 안내 설정에 나타나지 않을 수 있습니다. AI 에이전트 또는 에이전트 워크플로우의 전체 보안 구성은 ACL 테이블을 확인하십시오.
AI 에이전트가 도구로 사용하는 기술 및 플로우에는 Now Assist 추가 보안 구성이 필요합니다. 기술 키트에서 Now Assist 기술 수준 ACL을 구성할 수 있습니다. 자세한 내용은 기술에 대한 접근 제어 목록 구성을 참조하십시오. ACL 테이블에서 직접 ACL을 사용하여 플로우 레벨 보안을 구성할 수 있습니다. 이러한 ACL은 직접 호출될 때 확인됩니다.
도구가 활성화된 AI 에이전트가 호출될 때도 기술 수준 ACL이 확인됩니다. AI 에이전트가 플로우를 도구로 사용하려고 하면 플로우가 확인됩니다.
사용자 ID
ACL(접근 제어 목록)을 구성한 후에는 AI 에이전트 또는 에이전트 워크플로우가 실행될 사용자 ID(라고도 함 Run as)를 설정해야 합니다. AI 에이전트 또는 에이전트 워크플로우가 실행되는 사용자 ID에 따라 해당 권한과 액세스할 수 있는 데이터가 결정됩니다.
- 동적 사용자: AI 에이전트 또는 에이전트 워크플로우의 실행을 호출하는 로그인한 사용자입니다. 동적 사용자는 기본 사용자 ID이며 AI 사용자를 정당화하는 특정 요구 사항이 없는 한 동적 사용자를 사용해야 합니다.
- AI 사용자: 실행이 호출되는 사람 또는 방법에 관계없이 변경되지 않는 할당된 역할로 AI 에이전트 또는 에이전트 워크플로우 실행을 실행하는 전용 사용자 자격 증명입니다. 원래 호출하는 사용자의 권한을 초과하는 권한이 필요한 에이전트 워크플로우 또는 AI 에이전트는 AI 사용자가 필요한 케이스의 예입니다.
에서 AI 사용자를 선택할 AI 에이전트 스튜디오수 있지만, AI 사용자를 선택하려면 [sys_user] 테이블에 AI 사용자를 미리 작성해야 합니다. 사용자는 AI 사용자로 선택될 ID 유형이 있어야 AI Agent 합니다. 기본적으로 sn_aia.admin 역할을 가진 사용자에게는 AI 사용자를 생성할 수 있는 액세스 권한이 없습니다. 사용자 테이블에서 새 사용자를 생성하는 단계는 사용자 생성을 참조하십시오.
사용자 ID는 에이전트 워크플로우 및 AI 에이전트 수준에서 구성됩니다.
AI 에이전트 스크립트 도구에 대한 보안
AI 에이전트에 스크립트 도구를 추가할 때 기본적으로 GlideRecord 대신 GlideRecordSecure를 사용하고 addEncodedQuery() 대신 addUserEncodedQuery()를 사용해야 합니다. 덜 안전한 옵션을 사용하는 스크립트의 경우 안내 설정에 경고가 표시됩니다.