Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Comprendre les politiques de Cedar
Policy in AgentCore utilise les politiques de Cedar pour contrôler l'accès aux outils AgentCore Gateway. Cette section explique la structure des politiques de Cedar, la sémantique de l'évaluation et les concepts clés.
Note
Session-aware les règles utilisent des politiques temporelles, qui sont écrites en Dogwood (compatible avec Cedar) et utilisent un temporal bloc. La structure et la sémantique de Cedar décrites ici s'appliquent toujours. Pour plus d'informations, consultez la section Politiques temporelles.
Rubriques
Exemple de stratégie
Envisagez un outil de traitement des remboursements répondant aux exigences suivantes :
-
Seul l'utilisateur « John » peut procéder aux remboursements
-
Les remboursements sont limités à 500$ ou moins
La politique de Cedar qui applique ces exigences :
permit( principal is AgentCore::OAuthUser, action == AgentCore::Action::"RefundTool___process_refund", resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:your-region:your-account-id:gateway/refund-gateway" ) when { principal.hasTag("username") && principal.getTag("username") == "John" && context.input.amount < 500 };
Cette politique autorise le traitement des remboursements uniquement lorsque l'utilisateur est « John » et que le montant du remboursement est inférieur à 500$.
Structure d’une politique
Les politiques relatives au cèdre comportent trois éléments principaux :
-
Effet : détermine s'il faut autoriser ou refuser l'accès (
permitouforbid) -
Champ d'application : spécifie le principal, l'action et la ressource auxquels la politique s'applique
-
Condition : définit une logique supplémentaire qui doit être satisfaite (
whenouunless) et peut faire référence aux paramètres de l'outil (via le contexte) et au jeton OAuth (via les balises)
Effets politiques
Les politiques de Cedar utilisent deux effets pour contrôler l'accès :
-
permit- Permet à l'action de se poursuivre -
forbid- Refuse l'action
Refus par défaut
Toutes les actions sont refusées par défaut. Si aucune politique ne correspond à une demande, Cedar renvoie DENY. Vous devez écrire explicitement des politiques d'autorisation pour autoriser les actions.
Évaluation de l'autorisation
Cedar utilise un modèle d'évaluation des autorisations interdites et annulées :
-
Cedar évalue toutes les politiques qui s'appliquent à la demande
-
Si une politique d'interdiction correspond, le résultat est DENY
-
Si au moins une politique d'autorisation correspond et qu'aucune politique d'interdiction ne le correspond, le résultat est ALLOW
-
Si aucune politique ne correspond, le résultat est DENY (refus par défaut)
Indépendance politique
Chaque politique de Cedar est évaluée indépendamment. L'évaluation d'une politique dépend uniquement des éléments suivants :
-
Le champ d'application (principal, action, ressource)
-
Le contexte et les balises
Les politiques ne font pas référence à d'autres politiques et ne dépendent pas de celles-ci.
Algorithme d'évaluation des politiques
Lorsqu'une demande est évaluée, le moteur de politique détermine la décision d'autorisation à l'aide de l'algorithme suivant :
-
Si une
forbidpolitique correspond à la demande, la décision est DENY. -
Si aucune
forbidpolitique ne correspond à la demande et qu'au moins unepermitpolitique correspond, la décision est AUTORISER. -
Si aucune
permitpolitiqueforbidne correspond à la demande, la décision est DENY.
Ce modèle d'évaluation applique une posture de refus par défaut.
Une forbid politique ne peut jamais aboutir à une décision d'autorisation. La unless clause relative à une forbid politique précise les conditions dans lesquelles cette forbid politique ne s'applique pas ; elle n'accorde pas d'autorisation et ne remplace pas une permit politique correspondante.