Passer au contenu principal
Afficher en Markdown

Enterprise Management enforcement and limits

This page lists how fast changes reach developers and what Kiro Enterprise Management enforces, by client, together with the model identifiers and setting keys a policy accepts, the console features that are not supported, the known issues you may meet, and fixes for common problems. It is for administrators who already have a published policy. Kiro Enterprise Management is in preview for new Kiro profiles created in US East (N. Virginia) (us-east-1). It is on for all newly created profiles there; existing profiles are not affected by this change. Kiro CLI users need version 3.1.0 or later; Kiro IDE users need version 1.4.154 or later. Capabilities marked "Client rollout" are applied by those versions and by Kiro Crew LTS. To write rules, see the KGL reference.

How changes reach developers

WhatSyncA running session
Rules and settingsEvery five minutes, or on client restartPicks up the change on its next refresh
Files: steering, Skills, PowersOnce, when a session starts. No timerKeeps its copy until the next session

To get a file change now, start a new session or restart the client.

Enforcement status by capability

CapabilityCan askmatch takesStatus
model_useNoModel identifierEnforced
apikey_createNoNothingEnforced
web_searchYesNothingEnforced
web_fetchYesDomainEnforced on web search results
mcpYesserver/toolClient rollout
fs_read, fs_writeYesFile path (*/secrets/*)Client rollout
shellYesCommand (git push *)Client rollout
messaging_channelNoChannel id (slack)Kiro Crew
messagingNoNothingKiro Crew
permission_modeNoMode (yolo)Kiro Crew
cronNoNothingKiro Crew
network_egressNoDomainKiro Crew, on its fetch tool
browser_useNoNothingKiro Crew
tailnet_originNoNothingKiro Crew
theme_installNoNothingKiro Crew
  • Enforced: the Kiro service decides, on every client.
  • Client rollout: enforced by the client. Only client builds with client policy apply it. Kiro CLI 3.1.0 or later, Kiro IDE 1.4.154 or later, and Kiro Crew LTS apply these rules.
  • Kiro Crew: enforced by Kiro Crew LTS on the developer's machine.

Model identifiers

A model_use rule and the default_model setting accept these identifiers:

auto, claude-opus-5.5, claude-sonnet-5.5, claude-opus-5, claude-sonnet-5, claude-opus-4.8, claude-opus-4.7, claude-opus-4.6, claude-sonnet-4.6, claude-opus-4.5, claude-sonnet-4.5, claude-sonnet-4, claude-haiku-4.5, claude-fable-5.1, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, deepseek-3.2, minimax-m2.5, minimax-m2.1, glm-5, qwen3-coder-next.

A pattern such as claude-* also matches models that Kiro adds later. Identifiers have no anthropic. prefix.

Setting keys

The console's Settings catalog, in the info pane of the Controls page, lists the same keys with their descriptions.

KeyWhat it doesShipped default
default_modelThe default model on every client. A model_use rule must allow it. The one setting a developer may change.auto
model_governance.enabledRestrict the models developers can use to the ones your model_use rules allow.true in the catalog; false in the controls Kiro creates for a new profile
cloud_sessions.enabledAllow developers to start autonomous, task-resolving work in Kiro Cloud Sessions.false
device_code_sign_in.enabledAllow users to sign in to Kiro CLI through the IAM Identity Center OAuth device authorization flow.true
web_tools.enabledAllow clients to offer web search and web fetch tools. Capability rules still govern each call.true
mcp_tools.enabledAllow clients to connect to MCP servers and offer their tools. Capability rules still govern each call.true
mcp_registry_urlThe MCP registry that clients connect to. Applied by the Kiro CLI; see Client rollout above.None
usage_dashboardTrack usage of Kiro features in the admin dashboard.true
prompt_logging.enabledWrite Kiro prompts, with metadata, to prompt_logging.destination.false
prompt_logging.destinationThe S3 location prompt logs are written to, such as s3://bucket/prefix/.None
crew_sandbox_min_levelThe loosest sandbox level a Kiro Crew host may run spawned processes at. Kiro Crew LTS reads it and orders the levels off < standard < cc < strict and takes the strictest of this and its local tiers, so a host can only raise it. Across a user's groups, the strictest level applies.None

user_activity_report.*

Daily usage metrics. Each key below is written as user_activity_report.<key>.

KeyWhat it doesShipped default
enabledCollect daily aggregate usage metrics for each user. Nothing is exported until an export below is on.false
csv_exportWrite the daily metrics as CSV, one file per client type, to the bucket below.false
csv_destinationThe S3 location for the CSV reports. A prefix is required; the bucket must be in the same account and Region as the profile, and its policy must let q.amazonaws.com write there.None
otel_exportPush the same daily metrics to your OTLP collector as monotonic Sum counters.false
otel_secret_arnA Secrets Manager secret holding OTEL_EXPORTER_OTLP_ENDPOINT and OTEL_EXPORTER_OTLP_HEADERS. Kiro stores only the ARN and reads the values at export time.None
otel_protocolThe OTLP transport, grpc or http/protobuf. It has to be one the collector accepts; a mismatch is an export that never arrives.gRPC (the catalog's spelling; write grpc in KGL)
otel_temporalityHow counters are reported. Delta suits Datadog; Cumulative is required by Prometheus-based collectors such as Grafana Cloud.Delta
otel_private_modeSend to the collector over a private path: privatelink for a vendor's VPC endpoint service, lattice for a collector you host and share over VPC Lattice. Leave unset for public egress. Kiro builds the path after you publish; it can take minutes.None
otel_endpoint_service_nameThe vendor's VPC endpoint service name, exactly as published.None
otel_endpoint_service_regionThe Region of the endpoint service. Must equal the Region inside the service name.None
otel_resource_configuration_arnThe ARN of the VPC Lattice resource configuration you share with Kiro over AWS RAM.None
otel_collector_hostnameThe name your collector's TLS certificate covers. It cannot change while Kiro holds a registration for the resource configuration.None

realtime_event_export.*

Per-interaction events. Each key below is written as realtime_event_export.<key>.

KeyWhat it doesShipped default
enabledStream each user interaction to your OTLP collector as a log record.false
secret_arnA Secrets Manager secret for the event collector, holding the same two variables. It must differ from the daily export's secret. Events are sent over http/protobuf.None
private_modeAs user_activity_report.otel_private_mode, for the event collector.None
endpoint_service_nameAs above, for the event collector.None
endpoint_service_regionAs above, for the event collector.None
resource_configuration_arnAs above, for the event collector.None
collector_hostnameAs above, for the event collector.None

All settings take !locked. Only default_model also takes !replace. For the tags and the pairing rules, see Settings in the KGL reference. For the S3 bucket, KMS key, and secret prerequisites behind these values, see Prompt logging, User activity reports, and OpenTelemetry export.

Where distributed files arrive

Organization steering files arrive at ~/.kiro/cloud-cache/resolved/config/organization/steering/ on the developer's machine. They are distributed when a session starts, not on the five-minute refresh that rules and settings use; a running session keeps its copy until the next session. Always give a steering file the .md extension; a file without it arrives as .txt and Kiro never loads it.

Not supported

KGL accepts these, but Enterprise Management does not support them. Do not use them.

ItemWhat happens if you use it
The capabilities subagent, skill, power, context, diagnostics, sandbox_network, session_start, and autonomous_agentsNot available. The console's Capability catalog lists what a rule can name. To distribute Skills and Powers, use the Agent customizations tab.
The settings fallback_model, reference_tracker, and continuous_learningNot in the Settings catalog.
The tags !floor, !ceiling, and !appendNot supported. Use !locked or, on default_model, !replace.
The rule message shown to developersNot supported.

Known issues

Each row gives what you see and what to do.

Rules

What you seeWhat to do
Publish fails after about 10 seconds with "Encountered unexpected error when processing request".You used a group name in place of a group ID. Use the group ID.
A rule for an Okta user or group matches no one.You used the ID from Okta (00g...). Kiro gives Okta users and groups its own IDs, and Access management does not list them. Pick the user or group in the Form view; the console writes the ID. See Find user and group IDs.

These rule behaviors are under investigation:

What you seeStatus
An mcp deny rule did not block an MCP server already in mcp.json for some users; for others it blocked all MCP servers.Under investigation
An mcp deny rule also blocked web_fetch, even with an allow rule for web_fetch.Under investigation
A web_fetch deny rule with match and exclude asked the developer and did not deny.Under investigation

Settings

What you seeWhat to do
A setting that needs another setting shows no error until you publish, such as prompt_logging.enabled: true with no destination.Set both values. See Setting keys.

Editing and publishing

What you seeWhat to do
A refused publish says "1 finding(s) prevented publishing" and does not name the finding. The dialog also says "No errors" and offers Try again.Check setting pairs in Setting keys and value formats in Common errors.
After a refused publish, the page says "The change was not saved".Your change is saved in the draft; only the publish failed. Fix the finding and publish again.

Assignment

What you seeWhat to do
The associate API accepts a profile ID that does not exist without an error.Copy the profile ID from the Kiro console and check that the Profile Controls page names the profile.
You deleted a policy while it was assigned, and assigning another policy fails with "already associated with resource …".The profile stays bound to the deleted policy. Disassociate the deleted policy by its ID. Disassociate before you delete.

Clients

What you seeWhat to do
The client says "Unable to load available models" and does not say that the administrator must allow models.No model_use rule allows models for this profile, or model_governance.enabled is on with rules that allow nothing. Publish a model_use allow rule.
A change has not reached the client.Rules and settings take up to five minutes. Files arrive when the next session starts. Restart the client, or sign out and sign in.

APIs and AWS CLI

What you seeWhat to do
Every client error returns HTTP 400, also for not-found, access-denied, and conflict conditions. The message holds internal text such as "(Service: KiroEnterpriseManagement, Status Code: 404, …)".Use the exception name, such as ResourceNotFoundException. The AWS CLI and the SDKs show the right exception.
createdBy, updatedBy, and publishedBy show a service role, not the caller.Use the revision number and timestamps.
ValidateEnterpriseManagementResource with an empty target returns HTTP 500.Send either byResource or files.

Troubleshooting

ProblemWhat to do
Controls does not appear in the Kiro console.The profile was created in us-east-1 before Enterprise Management launched, and gets it at a later date; or the profile is in another Region, which does not have it.
The model list is empty.Check that a model_use allow rule covers the models you expect and publish. If the list is still empty after five minutes, check that the revision is Live, then sign out and sign in again.
A change has no effect.Check that the revision is Live. Wait five minutes or restart the client; for a file change, start a new session.
Shell or file actions stopped working in the Kiro CLI.Add an ask or allow rule for that capability and publish.
UNKNOWN_GROUP or UNKNOWN_USERUse the ID, not the name. See Find user and group IDs.
POLICY_BOUNDARY_VIOLATIONThe default model is not allowed by a model_use rule.
SETTING_REQUIREMENT_MISSINGA setting that is on needs another value, such as a destination.
Publish is disabled.The draft has no unpublished changes. Make a change, or choose Finish editing.
A typo gives no error.The service ignores unknown field names, such as matches:, and the rule then covers everything. Check the spelling.
Page mise à jour : 11 novembre 2026