Skip to main content
skill CX Codex

resilience-hub-multi-account — Claude Code skill: how to install

Configures AWS Resilience Hub v2 to assess workloads spanning multiple AWS accounts using a per-service IAM permission model.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add aws/agent-toolkit-for-aws --skill resilience-hub-multi-account -a claude-code
Open on GitHub

What resilience-hub-multi-account does

This skill guides the setup of multi-account workload assessments using the aws resiliencehubv2 CLI namespace. Instead of relying on legacy v1 commands, it focuses on the per-service cross-account model: an invoker role in your central assessment account assumes cross-account roles in member accounts to discover resources.

Security relies on an externalId secret configured for each role to prevent confused-deputy vulnerabilities. While using the AWS MCP server is recommended for running API calls, standard AWS CLI commands work just as well. The skill deliberately separates assessment setup from Organizations delegated administrator governance, which requires the AWS console.

What it helps with

  • assess workloads running across multiple AWS accounts from a central account
  • configure create-service parameters with member account IAM role ARNs
  • secure cross-account role assumption against confused-deputy attacks with externalId
  • resolve AccessDenied errors during cross-account resource discovery

Example prompts for the agent

  • Configure Resilience Hub v2 multi-account discovery for the billing service
  • Generate a create-service command with cross-account IAM roles for account 123456789012
  • Troubleshoot AccessDenied when Resilience Hub v2 scans member account resources

How to install resilience-hub-multi-account

1Skills CLI (Vercel)

npx skills add aws/agent-toolkit-for-aws --skill resilience-hub-multi-account -a claude-code

2Manually: put the files in place

~/.claude/skills/resilience-hub-multi-account/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/resilience-hub-multi-account/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about resilience-hub-multi-account

How to install resilience-hub-multi-account in Claude Code?

Run npx skills add aws/agent-toolkit-for-aws --skill resilience-hub-multi-account -a claude-code. The skill will be placed in ~/.claude/skills/resilience-hub-multi-account/.

Does this skill configure the AWS Organizations delegated administrator?

No, delegated administrator registration is an Organizations governance feature configured via the AWS console. This skill sets up per-service cross-account roles used directly for running assessments.

Is an AWS MCP server mandatory for this skill?

No, an AWS MCP server is optional. The skill supports both MCP tool execution and direct calls through the aws resiliencehubv2 CLI.

Source text

SKILL.md · Apache-2.0
---
name: resilience-hub-multi-account
description: >
  Configures AWS Resilience Hub v2 for multi-account resilience management across an AWS
  Organization. Covers the per-service cross-account permission model, cross-account IAM
  roles, and centralized assessment from a single account. Applies when the user wants to set
  up org-wide resilience or assess workloads that span multiple AWS accounts.
version: 1
---

# Multi-Account Resilience Hub v2 Setup

## Overview

Domain expertise for configuring Resilience Hub v2 to assess services across multiple
AWS accounts from a central account. All CLI commands in this skill use the **`aws resiliencehubv2`**
namespace — the Resilience Hub **v2** API surface — which is distinct from the legacy `aws resiliencehub`
(v1) commands (the `service: [resiliencehub, ...]` metadata tags the service family, not the CLI namespace).
Resilience Hub v2 supports two complementary multi-account mechanisms: (1) an **AWS Organizations
integration** — the management account enables trusted access, creates the service-linked role, and
designates a **delegated administrator** account for organization-wide policy management and visibility;
and (2) the **per-service cross-account permission model** — an invoker role in the central account that
assumes cross-account roles in member accounts for per-service resource discovery. This skill configures
(2); the Organizations integration (1) is set up separately (management account + console — see below).

> The AWS MCP server is recommended for executing this skill's AWS API calls, but it is not required — all operations also work with the AWS CLI directly.

## Guardrail — where this skill's own files live (MCP vs local install)

Before reading a reference file, determine how this skill was loaded:

- **Loaded via the AWS MCP `retrieve_skill` tool:** the skill's reference files are not on the local filesystem. Fetch each one through `retrieve_skill` with the `file` parameter (e.g. `file="references/multi-account-procedure.md"`) — do NOT `file_read` these paths locally or search the filesystem for them.
- **Installed locally** (e.g. `.kiro/skills/resilience-hub-multi-account/` or `~/.claude/skills/resilience-hub-multi-account/`): read reference files from the local skill directory using the relative paths shown here.

This applies only to the skill's own reference files; always read and write user or session data in the working directory, never through `retrieve_skill`.

## How centralized multi-account assessment works

Two paths, used depending on your goal:

> **Decision rule (read first):** To **run cross-account resilience assessments** — i.e. assess workloads/resources that live in member accounts from a central account (the common request, including phrasings like *"centralized resilience management across my Organization"* or *"central assessment account"*) — use the **per-service cross-account permission model** (path 2 below): an invoker role + cross-account roles + `create-service --permission-model`. **Do NOT use or recommend `aws organizations register-delegated-administrator` (or any delegated-administrator registration) as the setup step for cross-account assessments.** The Organizations delegated-administrator integration (path 1) is a *separate, optional* feature scoped to organization-wide **policy management and visibility only** — it is not how you set up or run cross-account assessments. Only follow path 1 when the request is explicitly about org-wide policy governance, not assessment.

- **Organization-wide governance** (centralized policies, cross-account visibility): use the **AWS
  Organizations integration**. From the **management account**, enable trusted access for Resilience Hub,
  create the service-linked role, and **register a delegated administrator** account. This is done via
  Organizations trusted access + the Resilience Hub console — there is **no `resiliencehubv2`
  `register-delegated-administrator` CLI operation**. The delegated administrator then selects a home
  Region where organization-level data is aggregated. See the AWS docs page *Setting up Organizations
  integration*.
- **Per-service cross-account resource discovery** (assessing a service whose resources span accounts):
  register each service with a **per-service cross-account permission model** — an invoker role in the
  central account plus cross-account role ARNs for each member account. **This skill's steps configure
  this path.** Use this command form:

```
aws resiliencehubv2 create-service --name {service} --regions {regions} \
  --permission-model '{"invokerRoleName":"ResilienceHubAssessmentRole","crossAccountRoles":[{"crossAccountRoleArn":"arn:aws:iam::{member_account_id}:role/ResilienceHubAccess","externalId":"{external_id}"}]}'
```

> The `externalId` is a shared secret that defends against confused-deputy attacks — generate a cryptographically random value and store it in AWS Secrets Manager or SSM Parameter Store (SecureString); never commit it to source control or embed it in templates without a dynamic `{{resolve:secretsmanager:...}}` reference, and ensure it is not emitted in plaintext by CI/CD logs or infrastructure-as-code output (use CloudFormation `NoEcho` parameters and mask it in pipeline logs).

The cross-account role (in the member account) trusts the central account's invoker role. You can
configure multiple cross-account role ARNs per service — the `resiliencehubv2` API enforces a maximum (illustratively 5), so **verify the accepted limit from the API/model rather than assuming a fixed number**. Note: this per-service model is independent of
the Organizations integration above — there is no `register-delegated-administrator` operation in the
`resiliencehubv2` CLI; organization-wide delegated-administrator registration is performed via AWS
Organizations trusted access and the Resilience Hub console, not a `resiliencehubv2` API call.

## Configure multi-account setup

To set up cross-account assessment, follow the procedure exactly.
See [references/multi-account-procedure.md](references/multi-account-procedure.md).

## Troubleshooting

### Cross-account assessment fails with AccessDenied

Verify: (1) the cross-account role ARN in the permission model matches exactly, (2) the
cross-account role trust policy allows the central account's invoker role to assume it,
(3) the externalId matches if configured.

### No resources discovered in a member account

Confirm the cross-account role has read permissions for the in-scope resource types
(CloudFormation, EC2, RDS, etc.) and that input sources point to valid resources in the
correct region.

### Looking for a delegated-administrator setup

Resilience Hub v2 **does** support an AWS Organizations integration with a delegated administrator for
organization-wide policy management and visibility — but it's configured from the **management account**
via Organizations trusted access + the Resilience Hub console (create the service-linked role, then
register the delegated administrator), **not** through a `resiliencehubv2` CLI operation (there is no
`register-delegated-administrator` API). To assess a *single service* whose resources span accounts, use
the per-service cross-account permission model in this skill. The two are complementary.

## Security Considerations

- **Least privilege & read-only:** scope member-account cross-account roles to read-only discovery permissions (`cloudformation:Describe*`, `ec2:Describe*`, `rds:Describe*`, etc.) rather than write/mutate actions.
- **Scope cross-account trust narrowly:** trust only the specific central invoker role ARN rather than the whole account where possible.
- **Enable logging & monitoring:** ensure AWS CloudTrail is enabled in both the central and member accounts to log cross-account `sts:AssumeRole` calls, and alarm on failed or unexpected AssumeRole attempts against the cross-account roles.
- **Further reading:** see [IAM best practices](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html), [The confused deputy problem](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html), and [Security in AWS Resilience Hub](https://docs.aws.amazon.com/resilience-hub/latest/userguide/security.html) for cross-account hardening guidance.

© aws · Apache-2.0 · aws/agent-toolkit-for-aws

Similar skills

All skills for Cloud: AWS, Azure, GCP →

From the same set137

resilience-program-design This skill designs a resilience program with policy tiers, availability, RTO/RPO targets, DR choices, and a cadence for resilience activities. CX Codex +1 3,900installs arc-region-switch A skill that teaches your agent the ins and outs of Amazon Application Recovery Controller Region switch: plans, workflows, execution blocks, cross-Region failover. CX Codex +1 3,900installs shieldadvanced Configures AWS Shield Advanced to defend workloads against DDoS attacks and recover scaling costs. Useful for CloudFront, ALBs, or Route 53 resources. CX Codex +1 4,000installs recovery-controller-setup Sets up AWS Application Recovery Controller: routing controls with safety rules for cross-Region failover, plus zonal shift and zonal autoshift for AZ recovery. CX Codex +1 3,900installs resilience-hub-failure-mode-assessment Runs and interprets AWS Resilience Hub v2 failure mode assessments. Use it to triage findings and work through remediation. CX Codex +1 3,900installs aws-step-functions Authors and edits AWS Step Functions definitions in Amazon States Language: state types, JSONata, Retry/Catch, Distributed Map. CX Codex +1 3,900installs resilience-hub-getting-started Sets up AWS Resilience Hub v2 from scratch, creates resilience policies with RTO and RPO targets, and runs an initial failure mode assessment. CX Codex +1 3,900installs aws-ai-ml Guides model selection, fine-tuning, and deployment on Amazon SageMaker and Bedrock. Useful when configuring training jobs or debugging active endpoints. CX Codex +1 3,500installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor