Skip to content

Commit 627a09a

Browse files
eamonnfahertyclaude
andcommitted
Document IAM authorization with audit, ignore, and enforce modes
Update IAM section in services.html with three authorization modes (disabled, audit, enforce), identity policies, permissions boundaries, and resource policies. Add lws iam-auth command card to cli.html with status, enable, disable, set, and set-identity subcommands. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 48c2d26 commit 627a09a

File tree

2 files changed

+36
-2
lines changed

2 files changed

+36
-2
lines changed

cli.html

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,32 @@ <h4>lws chaos</h4>
344344
# Disable
345345
uvx --from local-web-services lws chaos disable dynamodb</code></div>
346346
</div>
347+
348+
<div class="lws-command">
349+
<h4>lws iam-auth</h4>
350+
<p>IAM authorization management. Audit, ignore, or enforce IAM permissions on local AWS services.</p>
351+
<div>
352+
<span class="subcmd">status</span>
353+
<span class="subcmd">enable</span>
354+
<span class="subcmd">disable</span>
355+
<span class="subcmd">set</span>
356+
<span class="subcmd">set-identity</span>
357+
</div>
358+
<div class="code-block" style="margin-top: 12px;"><code># Check IAM auth status
359+
uvx --from local-web-services lws iam-auth status
360+
361+
# Enforce IAM on DynamoDB (deny unauthorized requests)
362+
uvx --from local-web-services lws iam-auth set dynamodb --mode enforce
363+
364+
# Audit mode (log violations without blocking)
365+
uvx --from local-web-services lws iam-auth set s3 --mode audit
366+
367+
# Switch active identity
368+
uvx --from local-web-services lws iam-auth set-identity readonly-user
369+
370+
# Disable IAM auth for a service
371+
uvx --from local-web-services lws iam-auth disable sqs</code></div>
372+
</div>
347373
</div>
348374
</div>
349375
</section>

services.html

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -537,7 +537,7 @@ <h4>CDK Constructs</h4>
537537
</div>
538538
</div>
539539

540-
<h3 class="service-category">Identity</h3>
540+
<h3 class="service-category">Identity &amp; Authorization</h3>
541541

542542
<div class="services-list">
543543
<div class="service-detail" id="iam-sts">
@@ -564,7 +564,15 @@ <h4>STS Operations</h4>
564564
<span class="op">AssumeRole</span>
565565
</div>
566566
</div>
567-
<p class="service-note">Stub APIs that return AWS-compatible responses for Terraform compatibility. IAM role and policy operations are accepted and stored in memory. STS returns dummy credentials and caller identity. These stubs allow <code>terraform apply</code> to succeed without a real AWS account.</p>
567+
<div class="service-detail-section">
568+
<h4>IAM Authorization Modes</h4>
569+
<div class="service-detail-ops">
570+
<span class="op">Disabled</span>
571+
<span class="op">Audit</span>
572+
<span class="op">Enforce</span>
573+
</div>
574+
</div>
575+
<p class="service-note">IAM role and policy operations are accepted and stored in memory. STS returns credentials and caller identity for Terraform compatibility. <strong>IAM authorization</strong> can be configured in three modes: <strong>disabled</strong> (default &mdash; all requests pass through), <strong>audit</strong> (requests pass through but violations are logged as warnings), or <strong>enforce</strong> (requests that fail IAM checks are denied with HTTP 403). Supports identity-based policies, permissions boundaries, resource policies, wildcard matching, and per-request identity override via HTTP header. Authorization applies to DynamoDB, S3, SQS, SNS, EventBridge, Step Functions, Cognito, SSM, and Secrets Manager.</p>
568576
</div>
569577
</div>
570578

0 commit comments

Comments
 (0)