מאפייני CEL למערכת גישה מאוחדת לכללי מדיניות (UAP) ב-IAM

במסמך הזה מתוארים המאפיינים והפונקציות של Common Expression Language (CEL) שאפשר להשתמש בהם כשכותבים ביטויים מותנים במדיניות מאוחדת של IAM (UAP) עבור Agent Gateway.

מידע נוסף על מושגים שקשורים ל-UAP ב-IAM במאמר יצירת כללי גישה מבוססי-תכונות ב-IAM מוסבר איך מגדירים UAP.

מאפייני CEL זמינים

בכללי הגישה המאוחדים, אפשר להגדיר תנאים באמצעות ביטויים מותנים. הביטויים יכולים להכיל כמה ביטויי משנה. סוג משאב היעד שבו משתמשים בכל תנאי משנה יחסי קובע באילו מאפיינים אפשר להשתמש.

לדוגמה, בתנאי הבא, בביטוי המשנה destination.unregistered.path.startsWith('/v1/statements'), סוג המשאב הוא יעד לא רשום, המאפיין הוא destination.unregistered.path והפונקציה של CEL היא startsWith().

destination.unregistered.host == 'finance.example.com' &&
destination.unregistered.path.startsWith('/v1/statements')

המאפיינים שמתוארים בטבלה הבאה זמינים לכל סוג משאב:

סוג משאב היעד מאפיין פרטים

Agent Registry

destination.is_registered
סוג הערך בוליאני
ערכים נתמכים true, false
פעולות נתמכות ==, !=
destination.agent_registry.resource_type
סוג הערך String
ערכים נתמכים 'AGENT', 'ENDPOINT', 'MCP_SERVER', 'SKILL'
פעולות נתמכות ==, !=, in
destination.agent_registry.location
סוג הערך String
ערכים נתמכים מזהה המיקום ב-Google Cloud (לדוגמה, 'global', 'us-central1')
פעולות נתמכות ==, !=, in
destination.agent_registry.project_id
סוג הערך String
ערכים נתמכים מזהה הפרויקט ב-Google Cloud
פעולות נתמכות ==, !=, in

סוכן

destination.agent_registry.agent.name
סוג הערך String
ערכים נתמכים שם המשאב של הסוכן (projects/PROJECT_ID/locations/LOCATION/agents/AGENT_NAME)
פעולות נתמכות ==, !=, in

שרת MCP

destination.agent_registry.mcp_server.name
סוג הערך String
ערכים נתמכים שם המשאב של שרת ה-MCP (projects/PROJECT_ID/locations/LOCATION/mcpServers/MCP_SERVER_NAME)
פעולות נתמכות ==, !=, in
destination.agent_registry.mcp_server.method
סוג הערך String
ערכים נתמכים שם שיטת ה-MCP (לדוגמה, 'tools', 'prompts', 'resources')
פעולות נתמכות ==, !=, in
destination.agent_registry.mcp_server.tool.name
סוג הערך String
ערכים נתמכים שם הכלי (לדוגמה, 'search_code', 'execute')
פעולות נתמכות ==, !=, in
destination.agent_registry.mcp_server.tool.annotations.read_only_hint
סוג הערך בוליאני
ערכים נתמכים true, false
פעולות נתמכות ==, !=
destination.agent_registry.mcp_server.tool.annotations.destructive_hint
סוג הערך בוליאני
ערכים נתמכים true, false
פעולות נתמכות ==, !=
destination.agent_registry.mcp_server.tool.annotations.idempotent_hint
סוג הערך בוליאני
ערכים נתמכים true, false
פעולות נתמכות ==, !=
destination.agent_registry.mcp_server.tool.annotations.open_world_hint
סוג הערך בוליאני
ערכים נתמכים true, false
פעולות נתמכות ==, !=
destination.agent_registry.mcp_server.prompt.name
סוג הערך String
ערכים נתמכים שם ההנחיה
פעולות נתמכות ==, !=, in
destination.agent_registry.mcp_server.resource.name
סוג הערך String
ערכים נתמכים שם המשאב
פעולות נתמכות ==, !=, in

נקודת קצה (endpoint)

destination.agent_registry.endpoint.name
סוג הערך String
ערכים נתמכים שם המשאב של נקודת הקצה (projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_NAME)
פעולות נתמכות ==, !=, in

יעד לא רשום

destination.unregistered.host
סוג הערך String
ערכים נתמכים שם המארח (לדוגמה, 'google.com',‏ 'example.com')
פעולות נתמכות ==, !=, in, .startsWith(), .endsWith(), .contains()
destination.unregistered.path
סוג הערך String
ערכים נתמכים נתיב הבקשה (לדוגמה, '/admin', '/api/v1')
פעולות נתמכות ==, !=, in, .startsWith(), .endsWith(), .contains()
destination.unregistered.method
סוג הערך String
ערכים נתמכים שיטת HTTP (לדוגמה, 'get',‏ 'post', ‏ 'put', ‏ 'delete')
פעולות נתמכות ==, !=, in

המאמרים הבאים

סקירה כללית

סקירה כללית של Agent Gateway

מדריך

איך מגדירים מדיניות תוכן ומדיניות עסקית

מדריך

איך בודקים מדיניות