View a markdown version of this page

Portée de la politique - Amazon Bedrock AgentCore

Portée de la politique

Le champ d'application définit à quoi s'applique la politique. Chaque politique de Cedar définit trois éléments :

permit( principal is AgentCore::OAuthUser, // WHO is making the request action == AgentCore::Action::"...", // WHAT they want to do resource is AgentCore::Gateway::"..." // WHICH resource they want to access )

Entités et espaces de noms

Cedar utilise des entités pour représenter les principes, les actions et les ressources. Toutes les entités de AgentCore Gateway utilisent l'espace de AgentCore noms.

Format de l'entité : Namespace::EntityType::"identifier"

Principal

Le principal identifie l'entité qui fait la demande d'autorisation. Le type principal dépend de la façon dont votre AgentCore passerelle est configurée pour l'authentification.

Utilisateur principal OAuth

Lorsque vous utilisez l'autorisation OAuth, le principal est : AgentCore::OAuthUser

principal is AgentCore::OAuthUser

Composants :

  • principal- L'entité qui fait la demande d'autorisation

  • AgentCore::OAuthUser- Type d'entité représentant OAuth-authenticated les utilisateurs

  • is- Opérateur de vérification de type (correspond à n'importe quelle OAuthUser entité)

Les principaux sont les OAuth-authenticated utilisateurs. Chaque utilisateur possède un identifiant unique issu de la sous-réclamation JWT.

Entité principale IAM

Lorsque vous utilisez l'autorisation AWS_IAM, le principal est : AgentCore::IamEntity

principal is AgentCore::IamEntity

Composants :

  • principal- L'entité qui fait la demande d'autorisation

  • AgentCore::IamEntity- Type d'entité représentant les IAM-authenticated appelants

  • is- Opérateur de vérification de type (correspond à n'importe lequel IamEntity)

Les principaux IAM ont un id attribut contenant l'ARN IAM de l'appelant. Vous pouvez utiliser la correspondance de modèles sur cet attribut pour implémenter un contrôle d'accès basé sur les comptes ou les rôles.

Action

L'action indique l'opération demandée :

action == AgentCore::Action::"RefundTool___process_refund"

Composants :

  • action- L'opération demandée

  • AgentCore::Action::"RefundTool___process_refund"- Entité d'action spécifique

  • ==- Opérateur de correspondance exacte (uniquement cette action spécifique)

Les actions représentent des appels d'outils dans la AgentCore passerelle MCP. Chaque outil possède une entité d'action correspondante.

Noms des actions par type de cible

L'identifiant d'action indiqué dans votre politique dépend du type de cible configuré sur votre passerelle :

Type de cible Format de l'action Exemple

MCP

<TargetName>___<ToolName>

NotesTool___manage_notes

AgentCore Temps d'exécution

<TargetName>___<METHOD>:/invocations

StrandsAgentTarget___POST:/invocations

Proxy (HTTP)

<TargetName>___<METHOD>:<uri>

MyAPI___POST:/inference/v1/chat/completions

Actions multiples

Cedar ne prend pas en charge les actions avec caractères génériques. Chaque action doit être référencée explicitement à l'aide de l'identifiant d'action exact (AgentCore::Action::"ToolName___operation"). Pour regrouper plusieurs outils sous une seule règle, utilisez une cible de passerelle (un groupe d'action) et rédigez des politiques pour cette cible.

Par exemple, pour autoriser l'accès uniquement aux outils dont le nom commence par Read, vous pouvez créer un Gateway Target appelé ReadToolsTarget qui inclut chacun de ces outils, puis rédiger une politique telle que :

permit( principal, action in AgentCore::Action::"ReadToolsTarget", resource == AgentCore::Gateway::"<gateway-arn>" );

Cela autorisera tous les outils inclus dans cette cible en fonction de l'effet de la politique.

Ressource

La ressource identifie la cible de la demande :

resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/refund-gateway"

Composants :

  • resource- La cible de la demande

  • AgentCore::Gateway- Type d'entité représentant les instances de passerelle

  • ==- Opérateur de correspondance exacte (correspond à cette AgentCore passerelle spécifique)

La AgentCore passerelle est le serveur MCP qui achemine les appels aux outils.

Exigences relatives à la spécificité des ressources

Lorsque vous spécifiez une ou plusieurs actions spécifiques, vous devez utiliser des ARN de AgentCore passerelle spécifiques :

// Required: Specific Gateway ARN for specific action(s) resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/refund-gateway"

Cela s’applique aux éléments suivants :

  • Action unique : action == AgentCore::Action::"ToolName"

  • Plusieurs actions spécifiques : action in [AgentCore::Action::"Tool1", AgentCore::Action::"Tool2"]

Utilisez les vérifications de type uniquement lorsque vous faites correspondre une action :

// For policies covering any action (not specific tools) resource is AgentCore::Gateway

Exemples :

// Blocks all actions forbid(principal, action, resource); // Allow any CallTool action permit(principal, action in AgentCore::Action::"CallTool", resource is AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/refund-gateway");

Les ARN de AgentCore passerelle spécifiques fournissent :

  • Isolation de sécurité entre les instances de AgentCore Gateway

  • Séparation des environnements de production et de développement

  • Fine-grained contrôle d'accès par AgentCore passerelle