Repository navigation
docs: why not RBAC; server-side review caveats; warn on trusted source identities - #37
Merged
Merged
Conversation
…e identities - README: 'Why not RBAC, or the agent's own permission settings?' with the spelling table, re-run against main; test keeps it true - docs/server-side.md: second layer is one policy enforced twice; a trusted source identity must never carry an agent - agents.yaml: source-identity-inherited warning, cleared by an explicit 'no_agents: true' on the entry; example updated and re-signed - PLAN: denial reporting from CloudTrail (SCP explicit-deny message format checked in the IAM guide)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This applies two of the specs from the promotion session (
build/promo/SPEC-readme-why-not-rbac.mdandSPEC-server-side-review-notes.md). The third spec, the kubectl gaps, changes decisions and comes as its own PR.README: "Why not RBAC, or the agent's own permission settings?"
main.plan-k8s-delete-ratio, so they still read "same rule".K=kubectl; $K …makesaegis checkexit 64. The hook denies it with "without shell expansion".test_readme_spelling_table_still_holds, runs every row, so the table can't go stale silently.#bash-rule-limits.block-kubectl-impersonation), as does the database plan rule (plan-no-db-deletes).audit-identity kuberneteschecks impersonation, admission-policy writes andescalate.docs/index.md: it has no comparison sections, so the spec's optional change 3 doesn't apply.Server-side caveats (review of the AWS SCP article by dev.to reader mickyarun)
docs/server-side.mdnow says what the second layer adds and what it doesn't. It is one signed policy enforced twice, not a second opinion. Keep an independently written guardrail alongside it.agents.yaml:aegis agentsexits 1 on any warning, though, so an always-on warning could never be cleared.source-identitywarns (source-identity-inherited) until its entry saysno_agents: true. That is an explicit, signed statement that no agent runs under it.source-identity; anywhere else it is a load error. The exampleagents.yamluses it, with a comment, and is re-signed with the example key.Tests
The full suite passes locally (1,913) and ruff is clean. New tests: the README table, the warning, the acknowledgement, and the places
no_agentsis rejected.