Chargement de l'image...Kiro

Produit

  • À propos de Kiro
  • IDE
  • CLI
  • Web
  • Mobile
  • Crew
  • Tarification
  • Téléchargements

Pour

  • Entreprise
  • Startups
  • Étudiants

Communauté

  • Aperçu
  • Ambassadeurs
  • Discord
  • Événements
  • Powers
  • Boutique
  • Vitrine

Ressources

  • Docs
  • Blogue
  • Journal des modifications
  • FAQ
  • Signaler un bogue
  • Suggérer une idée
  • Soutien à la facturation

Réseaux sociaux

Conditions d'utilisation du siteLicencePolitique d'IA responsableMentions légalesPolitique de confidentialitéPréférences relatives aux témoins
Chargement de l'image...Kiro
  • CLI
  • Web
  • Entreprise
  • Tarification
  • Docs
SE CONNECTERTÉLÉCHARGER
Chargement de l'image...Kiro

Pour commencer

InstallationAuthentificationVotre premier projet

Modèles

AperçuModèles disponiblesEffort de raisonnement

Fonctionnalités

Comment fonctionne Kiro
Specs
Steering
Hooks
MCP
Autorisations
Agents personnalisés
Agent Skills
Powers
Sessions cloudCompactionKiroignorePoints de contrôle et rewind
Outils intégrés
Portées de configuration

IDE 1.x

Nouveautés de la version 1.0
Configuration et premier lancement
Éditeur
Chat
Expérimental
DépannageRéférence 0.x

CLI

Nouveautés de la version 3.0
Configuration et première exécution
Interface utilisateur du terminal
Clavardage
Mode plein écranMode vocalMode sans interfaceACPAutocomplétion
Expérimental
Référence 2.x

Crew

Démarrage rapideInstallationFonctionnement 24/7
Chat
Agent Capabilities
Fonctionnalités
Interfaces
Applications
Système et stockageConfigurationSécuritéDépannage

Web

Configuration et première exécutionIdentity Center
Connectez vos dépôts
Utilisation de l'agent
Mode autonomeAutomatisationsMémoireSynchronisation de la configuration
Sandbox

Mobile - Aperçu

Aperçu

Commandes et référence

Commandes CLICommandes à barre obliqueOutils intégrésCodes de sortieParamètres

Facturation

AperçuGestion de votre abonnementMise à niveau de votre forfaitRétrogradation de votre forfaitAnnulation de votre forfaitAchat de crédits supplémentairesGestion de vos paiementsGestion des notifications d'utilisationGestion de vos impôtsCommuniquer avec le soutien à la facturationSuppression de votre compteQuestions connexes

Entreprise

ConceptsDémarrage rapide de l'intégration
Connexion de votre fournisseur d'identité
Options de déploiementAbonnez votre équipeGérer les abonnements
Governance
Surveillance et suivi
ParamètresMises à jour géréesFacturationIAMRégions prises en charge

Confidentialité et sécurité

AperçuProtection des donnéesRéférences de codeValidation de la conformitéSécurité de l'infrastructureAutorisations IAMPare-feu, mandataires et périmètres de donnéesPoints de terminaison VPC (AWS PrivateLink)

Guides

Aperçu
Prise en charge des langages
Apprendre en jouant

Migration

Migration depuis Q DeveloperMigration depuis VSCodeMise à niveau depuis Q CLI
  1. Docs
  2. Fonctionnalités
  3. Autorisations
Afficher en Markdown

Autorisations

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et la version anglaise originale, la version anglaise prévaudra.
Afficher en Markdown

Kiro utilise un système d'autorisations basé sur les capacités qui vous offre un contrôle déclaratif et précis sur ce que l'agent peut faire. Vous définissez des règles par capacité avec des modèles de correspondance et des effets explicites, remplaçant les anciens modèles de confiance binaires.

CapacitéIDECLIWebMobile
Configuration YAML des autorisations✓✓N/A—
Invites d'approbation interactives✓✓N/A—
Portées globales et d'espace de travail✓✓N/A—
Exécution en bac à sable sans invites pour chaque action——✓—

Sur Web, le modèle permissions.yaml et les approbations interactives ne s'appliquent pas : l'agent s'exécute plutôt dans un bac à sable infonuagique isolé sans demander d'approbation pour chaque action. Ces lignes indiquent donc N/A plutôt qu'une absence de prise en charge.

Fonctionnement

Le système d'autorisations repose sur trois concepts fondamentaux :

ConceptDescription
Capacitésfs_read, fs_write, shell, web_fetch, web_search, mcp, subagent, skill, power, context, diagnostics, sandbox_network. Les méta-capacités s'étendent : all (tout), builtin (tous les outils intégrés), filesystem (fs_read + fs_write)
Effetsdeny (bloquer toujours), ask (vous demander), allow (procéder silencieusement)
Prioritédeny > ask > allow - une règle deny l'emporte toujours, quelle que soit la portée

Propriétés de règle supplémentaires :

PropriétéDescription
Modèles de correspondanceModèles glob qui déterminent la portée de la règle (chemins de fichiers pour fs, préfixes de commande pour shell, noms de serveur/outil pour MCP)
ExcludeModèles glob facultatifs qui ne doivent PAS correspondre - permet « tout autoriser sauf X »

Définition des règles

Les autorisations sont définies dans des fichiers YAML à deux niveaux :

Portée utilisateur (~/.kiro/settings/permissions.yaml) - s'applique à tous les projets. Utilisez-la pour préapprouver des opérations fiables :

yaml
rules: - capability: shell match: ["git *", "npm *", "npx *"] effect: allow - capability: fs_write match: ["src/**", "tests/**"] effect: allow - capability: fs_read effect: allow - capability: mcp match: ["my-server/*"] effect: allow

Portée d'espace de travail (~/.kiro/workspace-roots/<hash>/permissions.yaml) - s'applique uniquement à un projet précis. Utilisez-la pour restreindre des règles à une seule base de code :

yaml
rules: - capability: fs_write match: ["*.env", "*.pem", "*.key"] effect: deny - capability: shell match: ["rm -rf *", "sudo *"] effect: deny

Les deux portées prennent en charge tous les effets (deny, ask, allow).

Info

Les autorisations d'espace de travail sont stockées par utilisateur, à l'extérieur du dépôt, à ~/.kiro/workspace-roots/<hash(workspaceRoot)>/. Un dépôt cloné ne peut pas injecter de règles d'autorisation - la confiance est quelque chose que vous configurez sur votre propre machine.

Syntaxe Exclude

Les règles prennent en charge un champ exclude pour les modèles « tout autoriser sauf » :

yaml
rules: - capability: mcp match: ["my-server/*"] exclude: ["my-server/dangerous-tool"] effect: allow

Correspondance de modèles

Les règles utilisent des modèles glob. La syntaxe diffère selon le type de capacité :

Modèles de système de fichiers (fs_read, fs_write) :

  • * correspond à l'intérieur d'un seul composant de chemin
  • ** correspond à travers les séparateurs de chemin
  • L'expansion d'accolades {a,b} et les classes de caractères [abc] sont prises en charge
  • Les modèles sans caractères génériques correspondent implicitement aux enfants : ~/temp correspond à ~/temp/child

Modèles Shell, Web et MCP :

  • * correspond à toute séquence de caractères
  • **, ? et les classes de caractères ne sont pas prises en charge
yaml
rules: # Allow npm commands except npm publish - capability: shell effect: allow match: - "npm *" exclude: - "npm publish*" # Deny reads to secrets at any depth - capability: fs_read effect: deny match: - "**/.env" - "**/.env.*" - "secrets/**" - "**/*.pem"

Analyse des commandes shell

Les commandes shell sont analysées avant la correspondance de modèles. Les commandes composées (utilisant ;, &&, ||, |) sont scindées, et chaque sous-commande est évaluée indépendamment. Cela empêche une règle pour npm test * de correspondre accidentellement à npm test ; curl attacker.com.

Portées

Les autorisations sont évaluées à travers plusieurs portées.

PortéeEmplacementEffets autorisés
KiroInvariants de sécurité codés en dur (ne peuvent pas être modifiés par la configuration)deny, ask
administrationPolitiques d'autorisations Enterprise dans managed-settings.jsondeny, ask
user~/.kiro/settings/permissions.yamldeny, ask, allow
workspace~/.kiro/workspace-roots/<hash>/permissions.yamldeny, ask, allow
agentIntégré dans le profil de l'agent (champ permissions)deny, ask, allow
sessionRègles en mémoire issues des décisions de consentement prises pendant la sessiondeny, ask, allow

Les règles sont évaluées à l'aide d'un algorithme de préséance du refus : deny > ask > allow. Il n'y a pas de préséance entre les portées - l'effet le plus restrictif l'emporte, quelle que soit la portée dont il provient.

Avertissement

Une règle deny dans n'importe quelle portée bloque l'action, quelles que soient les règles allow ailleurs. Soyez délibéré avec les règles deny, car aucune règle allow ne peut les remplacer.

Préréglages de politique

Les préréglages de politique sont des ensembles nommés et composables de règles allow de portée session. Les clients qui créent des sessions d'agent via l'Agent Client Protocol (ACP), comme les intégrations d'éditeur, les robots de revue et les harnais de CI, les utilisent pour amorcer une session avec un profil de capacités bien défini sans écrire chaque règle individuellement.

Application des préréglages

Les préréglages sont demandés par un client ACP dans le champ _meta.kiro.policyPreset d'une requête session/new ou session/load. Plusieurs préréglages peuvent être combinés; leurs règles sont fusionnées par union.

json
{ "_meta": { "kiro": { "policyPreset": ["edit-workspace", "dev-shell"] } } }

Les règles de préréglage sont amorcées dans la session au moment où le client l'ouvre, indépendamment des règles que vous avez configurées dans permissions.yaml. C'est pourquoi les règles actives d'une session peuvent contenir des entrées que vous n'avez jamais écrites.

Demander un identifiant de préréglage inconnu entraîne le rejet de la demande de session. Il n'y a pas de repli silencieux vers une politique par défaut.

Info

Les règles de préréglage sont de portée session et conservées en mémoire seulement. Lors d'un chargement de session à froid (un redémarrage complet), le client doit demander de nouveau le préréglage. Une session qui reprend sans redémarrage complet conserve les règles déjà amorcées.

Préréglages disponibles

ID de préréglageCe qu'il autorise
allow-allToutes les capacités sauf sandbox_network (équivalent à capability: all, effect: allow)
edit-workspacefs_read et fs_write dans ./** seulement
read-workspacefs_read dans ./** seulement
read-allfs_read partout, plus web_fetch et web_search
read-only-shellCommandes shell en lecture seule : information système plus les requêtes git, cargo, npm, docker, kubectl et rustup
dev-shellCommandes shell en lecture seule (l'ensemble read-only-shell) plus les commandes git d'écriture; outils de construction cargo, npm, bun, yarn; opérations d'espace de travail mkdir, touch, mv, cp; commandes d'inspection ls, cat, grep, echo

Choisir des préréglages pour une session

Les préréglages sont des profils composés uniquement de règles allow : ils suppriment les invites pour les opérations que la session doit effectuer, et tout le reste déclenche une invite d'approbation par défaut. Choisissez le profil le plus étroit qui correspond au travail de la session.

Profil de sessionPréréglagesCe que vous obtenez
Revue de code ou auditread-workspaceLes fichiers de l'espace de travail sont lus silencieusement. Les écritures et les commandes shell demandent toujours une approbation : la session vous sollicite donc avant toute modification.
Investigation et rechercheread-allLecture de fichiers partout sur le disque, plus web_fetch et web_search, pour les sessions qui retracent un problème dans le code et la documentation externe sans avoir besoin d'accès en écriture.
Diagnostic et triageread-workspace + read-only-shellL'agent lit les fichiers de l'espace de travail et interroge l'état de git, docker, kubectl et d'autres outils. Aucune écriture n'est accordée : toute modification demande donc une approbation.
Boucle autonome de compilation et de testedit-workspace + dev-shellL'agent modifie les fichiers de l'espace de travail, exécute les commandes git d'écriture et les outils de construction courants, et crée ou déplace des fichiers dans l'espace de travail sans invite à chaque action. Les écritures hors de l'espace de travail et les commandes non listées demandent toujours une approbation.
Bac à sable jetableallow-allToutes les capacités sont autorisées. Utilisez-le lorsque l'environnement constitue lui-même la limite, par exemple un conteneur supprimé après l'exécution.

Chaque profil se demande de la même façon : les identifiants de préréglage vont dans le tableau policyPreset de la demande de session. Un robot de revue de code ouvre sa session avec :

json
{ "_meta": { "kiro": { "policyPreset": ["read-workspace"] } } }

Une session de diagnostic associe les lectures de l'espace de travail aux requêtes shell en lecture seule :

json
{ "_meta": { "kiro": { "policyPreset": ["read-workspace", "read-only-shell"] } } }

Un harnais de CI qui modifie, compile et teste combine les deux préréglages avec écriture :

json
{ "_meta": { "kiro": { "policyPreset": ["edit-workspace", "dev-shell"] } } }

Les règles deny et les invariants de la portée Kiro ci-dessous s'appliquent toujours, quel que soit le profil actif.

Préréglages dans les clients intégrés et sans interface

Les mêmes profils correspondent aux modèles d'intégration courants. Une intégration d'éditeur qui embarque Kiro demande généralement edit-workspace pour que les modifications de fichiers dans l'espace de travail ne déclenchent pas d'invite. Un robot de revue de code demande read-workspace et rien de plus. Un harnais de CI ou d'évaluation qui pilote l'agent par programmation combine edit-workspace et dev-shell, puis ajoute ses propres règles deny pour tout ce que le pipeline ne doit jamais toucher.

Avertissement

L'exécution sans interface augmente les enjeux : lorsqu'aucun client interactif n'est disponible, chaque ask est traité comme un refus, car l'environnement d'exécution n'a aucun canal interactif pour présenter l'invite. Une session sans interface ne peut effectuer que les opérations explicitement autorisées : les préréglages qu'elle demande, plus les règles allow configurées, définissent donc l'ensemble de ses droits.

Invariants de confiance

Les préréglages étendent ce qu'une session est autorisée à faire, mais ils ne peuvent pas remplacer des règles de préséance supérieure. L'algorithme de préséance du refus décrit dans la section Portées ci-dessus s'applique toujours intégralement :

  • Les refus absolus de portée Kiro (écritures vers ~/.kiro/settings/, .kiro/settings/, ~/.kiro/workspace-roots/) bloquent l'action, quel que soit le préréglage.
  • Les règles ask de portée Kiro (.git/**, .kiro/agents/**, .kiro/hooks/**, .kiroignore) demandent toujours une approbation, même lorsqu'un préréglage accorde un accès large en écriture.
  • Toute règle deny que vous avez configurée à la portée user, workspace ou administration l'emporte sur un allow de préréglage.
  • La capacité sandbox_network ne fait pas partie de la méta-capacité all : aucun préréglage, y compris allow-all, ne modifie donc le contrôle réseau du bac à sable.

Les sous-agents héritent de l'ensemble complet des règles de la session parente par intersection où le refus l'emporte : chaque allow, deny et ask du parent s'applique, de sorte que la règle la plus restrictive de part et d'autre l'emporte toujours.

Comportement par défaut

Sans configuration permissions.yaml, la politique d'agent par défaut autorise :

  • fs_read sur ./** - lire silencieusement n'importe quel fichier de l'espace de travail
  • shell pour les commandes git courantes en lecture seule - git status, git log, git diff, git branch, et similaires
  • shell pour les commandes d'information système - pwd, whoami, uname, et similaires
  • Outils utilitaires (diagnostics, knowledge, et similaires)

La portée Kiro (codée en dur, non modifiable par la configuration) applique :

  • Toujours refusé : les écritures vers ~/.kiro/settings/, .kiro/settings/ et ~/.kiro/workspace-roots/ (empêche l'agent de modifier ses propres fichiers d'autorisation)
  • Demande toujours : les écritures vers .git/**, .kiro/agents/**, .kiro/hooks/**, .kiroignore

Tout le reste demande une approbation. Créer un fichier permissions.yaml s'ajoute à ces valeurs par défaut; il ne les remplace pas.

Gestion des autorisations par surface

Paramètre d'autonomie de l'agent

En plus des règles permissions.yaml, l'autonomie de l'agent dans l'IDE est contrôlée via Paramètres → Agent → Autonomie de l'agent (clé de paramètre : kiroAgent.agentAutonomy). Les deux modes sont :

  • Autopilot - l'agent procède aux opérations autorisées sans demander
  • Supervisé - l'agent demande avant toute action

La couche d'autorisations basée sur les capacités s'applique après que le mode d'autonomie ait déterminé s'il faut procéder. Ensemble, ces deux couches vous offrent un contrôle global (Autopilot vs Supervisé) ainsi que des règles précises (permissions.yaml) pour des capacités spécifiques.

Flux d'approbation interactif

Lorsqu'un outil nécessite une approbation, une invite apparaît dans le clavardage. Allow et Deny sont disponibles pour l'invocation en cours. Kiro affiche aussi des choix persistants lorsqu'il peut dériver une règle enregistrée qui fonctionnera pour la commande demandée :

ActionEffet
AllowApprouver cette invocation précise, une seule fois
Always allowCréer une règle allow persistante (ouvre le sélecteur de modèle/portée)
DenyBloquer cette invocation précise, une seule fois
Always denyCréer une règle deny persistante

Si Kiro ne peut pas vérifier une règle enregistrée fonctionnelle, il masque Always allow et Always deny et explique pourquoi dans l'invite.

Lorsque vous sélectionnez Always allow, vous configurez deux choses :

  • Pattern - choisissez la portée de correspondance pour la règle (p. ex., cd * pour toute commande cd, ou le chemin de commande exact)
  • Apply to - choisissez où la règle persiste :
    • All workspaces - enregistrée dans le fichier ~/.kiro/settings/permissions.yaml à portée utilisateur
    • This workspace - enregistrée dans ~/.kiro/workspace-roots/<hash>/permissions.yaml (par utilisateur, à l'extérieur du dépôt)
    • This session - mémorisée jusqu'à la fin de la session

Le menu déroulant de modèles suggère une version généralisée de l'opération précise - par exemple, la commande exacte git add contents/docs/ devient le modèle git add *, et le chemin exact .env.local devient .env* ou **/.env*. Vous pouvez modifier la suggestion pour la rendre plus restrictive ou plus permissive.

Pour les commandes enchaînées (p. ex., cd /path && cargo build), chaque sous-commande de la chaîne est présentée séparément pour approbation.

Exemples d'autorisations

Voici des modèles courants pour configurer les autorisations :

ScénarioConfiguration
Approuver les lectures de fichierscapability: fs_read, effect: allow
Approuver l'écriture dans les répertoires du projetcapability: fs_write, match: ["src/**", "tests/**"], effect: allow
Bloquer les fichiers sensiblescapability: fs_write, match: ["*.env", "*.pem", "*.key"], effect: deny
Bloquer les commandes dangereusescapability: shell, match: ["rm -rf *", "sudo *"], effect: deny
Approuver un serveur MCP préciscapability: mcp, match: ["my-server/*"], effect: allow
Retirer la confiance du shell en productioncapability: shell, effect: ask (ou utilisez /tools untrust shell dans la CLI)

Migration depuis des versions antérieures

Si vous effectuez une mise à niveau depuis CLI 2.x ou IDE 0.x, consultez les pages de référence pour savoir comment les autorisations fonctionnaient auparavant et ce qui a changé :

  • Référence CLI 2.x - Autorisations
  • Référence IDE 0.x - Autorisations
  • Nouveautés de CLI 3.0 - Migration des autorisations
Page mise à jour : 12 septembre 2026
Registre (entreprise)
Agents personnalisés