For the complete documentation index, see llms.txt. This page is also available as Markdown.

Offboarding and resource decommissioning (optional)

To decommission all manually created resources, remove them in the reverse order that they were created (Step 2.7 → Step 2.1):

# 1. (Reverses Step 2.7) Delete scanner role (optional — only if outpost scanning was configured)
aws iam detach-role-policy --role-name "${SCANNER_ROLE_NAME}" \
  --policy-arn "arn:aws:iam::aws:policy/ReadOnlyAccess"
aws iam detach-role-policy --role-name "${SCANNER_ROLE_NAME}" \
  --policy-arn "arn:aws:iam::aws:policy/SecurityAudit"
aws iam delete-role --role-name "${SCANNER_ROLE_NAME}"

# 2. (Reverses Step 2.6) Delete inline policy from logs ingestion role
aws iam delete-role-policy \
  --role-name "${LOGS_ROLE_NAME}" \
  --policy-name "CloudTrailReadAccessPolicy"

# 3. (Reverses Step 2.6) Delete logs ingestion role
aws iam delete-role --role-name "${LOGS_ROLE_NAME}"

# 4. (Reverses Step 2.5) Unsubscribe SQS from SNS (find subscription ARN first)
SUBSCRIPTION_ARN=$(aws sns list-subscriptions-by-topic \
  --topic-arn "${CLOUDTRAIL_SNS_ARN}" \
  --query "Subscriptions[?Endpoint=='${SQS_QUEUE_ARN}'].SubscriptionArn" \
  --output text)
aws sns unsubscribe --subscription-arn "${SUBSCRIPTION_ARN}"

# 5. (Reverses Step 2.4) Delete SQS queue policy (reset to default — no explicit policy)
aws sqs set-queue-attributes \
  --queue-url "${SQS_QUEUE_URL}" \
  --attributes '{"Policy":""}'

# 6. (Reverses Step 2.3) Delete SQS queue
aws sqs delete-queue --queue-url "${SQS_QUEUE_URL}"

# 7. (Reverses Step 2.2) Detach managed policies from platform role
aws iam detach-role-policy --role-name "${CORTEX_ROLE_NAME}" \
  --policy-arn "arn:aws:iam::aws:policy/ReadOnlyAccess"
aws iam detach-role-policy --role-name "${CORTEX_ROLE_NAME}" \
  --policy-arn "arn:aws:iam::aws:policy/AmazonMemoryDBReadOnlyAccess"
aws iam detach-role-policy --role-name "${CORTEX_ROLE_NAME}" \
  --policy-arn "arn:aws:iam::aws:policy/SecurityAudit"
aws iam detach-role-policy --role-name "${CORTEX_ROLE_NAME}" \
  --policy-arn "arn:aws:iam::aws:policy/AmazonSQSReadOnlyAccess"
aws iam detach-role-policy --role-name "${CORTEX_ROLE_NAME}" \
  --policy-arn "arn:aws:iam::aws:policy/AWSOrganizationsReadOnlyAccess"
aws iam detach-role-policy --role-name "${CORTEX_ROLE_NAME}" \
  --policy-arn "${DISCOVERY_POLICY_ARN}"

# 8. (Reverses Step 2.2) Delete platform role
aws iam delete-role --role-name "${CORTEX_ROLE_NAME}"

# 9. (Reverses Step 2.1) Delete custom discovery policy
aws iam delete-policy --policy-arn "${DISCOVERY_POLICY_ARN}"

Last updated

Was this helpful?