DocumentDB.3
概要
DocumentDB.3 は DocumentDB クラスタースナップショットがパブリック化されている場合に FAILED となる Security Hub CSPM コントロール。本記事では、Security Hub finding を EventBridge でフィルタし、カスタム SSM Automation ランブックを起動してスナップショットを自動的にプライベートに戻す構成を検証する。
RDS.1 との差分
RDS.1 自動修復 と異なり、AWS マネージドの SSM Automation ドキュメントが存在しないため、カスタムランブックを作成する。
| 項目 | RDS.1 自動修復 | DocumentDB.3 自動修復(本記事) |
|---|---|---|
| 対象 API | rds:ModifyDBSnapshotAttribute | rds:ModifyDBClusterSnapshotAttribute |
| Config ルール | securityhub-rds-snapshots-public-prohibited-<サフィックス> | securityhub-docdb-cluster-snapshot-public-prohibited-<サフィックス> |
| Security Hub finding の Resource Type | AwsRdsDbSnapshot | AwsRdsDbClusterSnapshot |
| Resource Details のスナップショット ID フィールド | AwsRdsDbSnapshot.DbSnapshotIdentifier | (フィールドなし。Resources[0].Id の ARN から取得) |
| SSM Automation ドキュメント | AWSSupport-ModifyRDSSnapshotPermission(マネージド) | カスタムランブック(本記事で作成) |
Neptune.3 との関係
DocumentDB と Neptune はどちらも内部的に RDS の rds:ModifyDBClusterSnapshotAttribute API を使用するため、本記事で作成するカスタムランブックは Neptune の自動修復にも転用できる(実運用では 1 つのランブックで両方をカバーする選択肢もある)。本サイトでは各記事を独立して読めるよう、Neptune.3 では内容が同一の別ランブック NeptuneSnapshotMakePrivate を作成する方針を採る。
自動修復の構成
DocumentDB クラスタースナップショットがパブリック化
→ Config ルール securityhub-docdb-cluster-snapshot-public-prohibited-<サフィックス> が NON_COMPLIANT
→ Security Hub finding DocumentDB.3 が FAILED
→ EventBridge ルールが finding をフィルタ(Input Transformer でクラスタースナップショット ID 抽出)
→ カスタム SSM Automation ランブックを起動(rds:ModifyDBClusterSnapshotAttribute --values-to-remove all)
→ スナップショットがプライベートに戻る
→ Config 再評価 → COMPLIANT
→ Security Hub finding → PASSEDカスタムランブックの設計
シンプルな単一ステップのランブックを作成する。aws:executeAwsApi で rds:ModifyDBClusterSnapshotAttribute を直接呼ぶ。
| パラメータ | 型 | 役割 |
|---|---|---|
ClusterSnapshotIdentifier | String | 修復対象のクラスタースナップショット ID または ARN |
AutomationAssumeRole | ARN | SSM Automation が rds:ModifyDBClusterSnapshotAttribute を呼ぶための IAM ロール |
Security Hub finding 構造
DocumentDB クラスタースナップショットがパブリック化された finding には、Resources[0].Details.AwsRdsDbClusterSnapshot にスナップショットの詳細情報が含まれるが、RDS.1 自動修復 と異なり DbClusterSnapshotIdentifier フィールドは含まれない(実機検証で確認)。代わりに Resources[0].Id の ARN(例: arn:aws:rds:ap-northeast-1:<アカウント ID>:cluster-snapshot:<スナップショット ID>)を使用する。
{
"Resources": [{
"Type": "AwsRdsDbClusterSnapshot",
"Id": "arn:aws:rds:<リージョン>:<アカウント ID>:cluster-snapshot:<スナップショット ID>",
"Details": {
"AwsRdsDbClusterSnapshot": {
"Engine": "docdb",
"SnapshotCreateTime": "...",
...
}
}
}]
}rds:ModifyDBClusterSnapshotAttribute API の --db-cluster-snapshot-identifier パラメータは ARN 形式を受け付けるため(実機検証で確認)、EventBridge Input Transformer では Resources[0].Id をそのままカスタムランブックの ClusterSnapshotIdentifier パラメータに渡す。
AwsRdsDbSnapshot)には DbSnapshotIdentifier フィールドが含まれるが、DocumentDB / Neptune などのクラスタースナップショット(AwsRdsDbClusterSnapshot)には対応する識別子フィールドが含まれない。これは ASFF の構造的な差異で、本サイトの検証時点(2026 年 5 月)で確認した挙動。検証環境
本記事のコマンドは、--profile 指定がない場合は Workload アカウントで実行する。事前に export AWS_PROFILE=Workload でデフォルトを設定しておくと便利。
結果
| 検証項目 | 結果 |
|---|---|
| カスタムランブック作成と動作確認 | ✓ Active 即座、aws:executeAwsApi で rds:ModifyDBClusterSnapshotAttribute を実行 |
| Security Hub finding(FAILED)から EventBridge へのトリガー | ✓ 状態変化(PASSED → FAILED)で発火確認 |
| Input Transformer でクラスタースナップショット ARN 抽出 | ✓ Resources[0].Id から取得 |
| カスタムランブック起動と修復実行 | ✓ Status: Success |
| スナップショットのパブリック共有解除 | ✓ restore 属性が空 |
| Config / Security Hub PASSED 復帰 | ✓ Compliance: PASSED, Workflow: RESOLVED |
実測時間:
- スナップショット作成: 約 11 分
- 設定変更 → Security Hub finding 反映: 約 3〜8 分
- finding 発行 → EventBridge 発火 → SSM Automation 実行完了: 約 1 分以内
- 修復完了 → Security Hub PASSED 復帰: 約 1.5 分
検証の流れ
flowchart LR
A[1. 事前確認] --> B[2. カスタムランブック作成]
B --> C[3. 修復用 IAM ロール作成]
C --> D[4. EventBridge ルール作成<br>DISABLED 状態]
D --> E[5. DocumentDB クラスター・<br>スナップショット作成]
E --> F[6.1 パブリック化<br>6.2 FAILED 観測]
F --> G[6.3 プライベートに戻す<br>6.4 PASSED 観測]
G --> H[6.5 EventBridge 有効化<br>6.6 再パブリック化]
H --> I[7. 自動修復実行確認]
I --> J[8. PASSED 復帰確認]
J --> K[9. クリーンアップ]
1. 事前確認
Config ルールの存在確認
aws configservice describe-config-rules \
--query "ConfigRules[?contains(ConfigRuleName, 'docdb-cluster-snapshot-public-prohibited')].ConfigRuleName" \
--output text \
--region ap-northeast-1securityhub-docdb-cluster-snapshot-public-prohibited-<サフィックス>既存の SSM Automation ドキュメント確認
aws ssm list-documents \
--filters Key=Owner,Values=Self Key=Name,Values=DocumentDBSnapshotMakePrivate \
--region ap-northeast-1 \
--query 'DocumentIdentifiers[].Name' \
--output json[]既存の EventBridge ルール確認
aws events list-rules \
--name-prefix "documentdb-3-auto-remediation" \
--region ap-northeast-1 \
--query 'Rules[].Name' \
--output json[]既存の IAM ロール確認
aws iam list-roles \
--query "Roles[?starts_with(RoleName, 'documentdb-3-')].RoleName" \
--output json[]2. カスタムランブック作成
DocumentDB クラスタースナップショットをプライベートに戻す SSM Automation ドキュメントを作成する。
cat <<'EOF' > /tmp/documentdb-snapshot-make-private.yaml
schemaVersion: "0.3"
description: "Modify DocumentDB / Neptune cluster snapshot to remove public access"
parameters:
ClusterSnapshotIdentifier:
type: String
description: "(Required) The identifier or ARN of the cluster snapshot to make private."
AutomationAssumeRole:
type: AWS::IAM::Role::Arn
description: "(Required) The IAM role ARN that the runbook assumes."
assumeRole: "{{ AutomationAssumeRole }}"
mainSteps:
- name: ModifyClusterSnapshotAttribute
action: aws:executeAwsApi
inputs:
Service: rds
Api: ModifyDBClusterSnapshotAttribute
DBClusterSnapshotIdentifier: "{{ ClusterSnapshotIdentifier }}"
AttributeName: "restore"
ValuesToRemove:
- "all"
EOF
aws ssm create-document \
--name DocumentDBSnapshotMakePrivate \
--document-type Automation \
--document-format YAML \
--content file:///tmp/documentdb-snapshot-make-private.yaml \
--region ap-northeast-1 \
--query 'DocumentDescription.{Name:Name,Status:Status,DocumentType:DocumentType}' \
--output json{
"Name": "DocumentDBSnapshotMakePrivate",
"Status": "Creating",
"DocumentType": "Automation"
}Active になるまで待機(数秒〜十数秒)。
while true; do
STATUS=$(aws ssm describe-document \
--name DocumentDBSnapshotMakePrivate \
--region ap-northeast-1 \
--query 'Document.Status' \
--output text)
echo "$(date '+%H:%M:%S') status: $STATUS"
case "$STATUS" in
Active) break ;;
Failed) echo "失敗"; break ;;
*) sleep 5 ;;
esac
doneHH:MM:SS status: Active(即座に Active になる場合もある)
3. 修復用 IAM ロール作成
3.1 SSM Automation 実行ロール
cat <<'EOF' > /tmp/ssm-automation-trust.json
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {"Service": "ssm.amazonaws.com"},
"Action": "sts:AssumeRole"
}]
}
EOF
aws iam create-role \
--role-name documentdb-3-automation-role \
--assume-role-policy-document file:///tmp/ssm-automation-trust.json \
--query 'Role.Arn' \
--output textarn:aws:iam::<アカウント ID>:role/documentdb-3-automation-rolecat <<'EOF' > /tmp/documentdb-snapshot-policy.json
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": [
"rds:DescribeDBClusterSnapshots",
"rds:DescribeDBClusterSnapshotAttributes",
"rds:ModifyDBClusterSnapshotAttribute"
],
"Resource": "*"
}]
}
EOF
aws iam put-role-policy \
--role-name documentdb-3-automation-role \
--policy-name documentdb-snapshot-permission \
--policy-document file:///tmp/documentdb-snapshot-policy.json(出力なし)
3.2 EventBridge から SSM Automation 起動するロール
cat <<'EOF' > /tmp/eventbridge-trust.json
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {"Service": "events.amazonaws.com"},
"Action": "sts:AssumeRole"
}]
}
EOF
aws iam create-role \
--role-name documentdb-3-eventbridge-role \
--assume-role-policy-document file:///tmp/eventbridge-trust.json \
--query 'Role.Arn' \
--output textarn:aws:iam::<アカウント ID>:role/documentdb-3-eventbridge-rolecat <<'EOF' > /tmp/eventbridge-policy.json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ssm:StartAutomationExecution",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::<アカウント ID>:role/documentdb-3-automation-role",
"Condition": {
"StringEquals": {
"iam:PassedToService": "ssm.amazonaws.com"
}
}
}
]
}
EOF
aws iam put-role-policy \
--role-name documentdb-3-eventbridge-role \
--policy-name eventbridge-ssm-automation \
--policy-document file:///tmp/eventbridge-policy.json(出力なし)
4. EventBridge ルール作成
4.1 ルール本体作成(DISABLED 状態)
Security Hub finding のうち、DocumentDB.3 で FAILED かつ Workflow.Status が NEW のものをフィルタする。最初は DISABLED 状態で作成し、ステップ 6.5 で有効化する。
cat <<'EOF' > /tmp/eventbridge-pattern.json
{
"source": ["aws.securityhub"],
"detail-type": ["Security Hub Findings - Imported"],
"detail": {
"findings": {
"Compliance": {
"SecurityControlId": ["DocumentDB.3"],
"Status": ["FAILED"]
},
"Workflow": {
"Status": ["NEW"]
},
"Resources": {
"Type": ["AwsRdsDbClusterSnapshot"]
}
}
}
}
EOF
aws events put-rule \
--name documentdb-3-auto-remediation \
--event-pattern file:///tmp/eventbridge-pattern.json \
--state DISABLED \
--region ap-northeast-1 \
--query 'RuleArn' \
--output textarn:aws:events:ap-northeast-1:<アカウント ID>:rule/documentdb-3-auto-remediation4.2 ターゲット設定(Input Transformer 付き)
EVENTBRIDGE_ROLE_ARN=$(aws iam get-role \
--role-name documentdb-3-eventbridge-role \
--query 'Role.Arn' \
--output text)
AUTOMATION_ROLE_ARN=$(aws iam get-role \
--role-name documentdb-3-automation-role \
--query 'Role.Arn' \
--output text)
cat <<EOF > /tmp/eventbridge-target.json
[
{
"Id": "ssm-automation-target",
"Arn": "arn:aws:ssm:ap-northeast-1::automation-definition/DocumentDBSnapshotMakePrivate:\$DEFAULT",
"RoleArn": "$EVENTBRIDGE_ROLE_ARN",
"InputTransformer": {
"InputPathsMap": {
"snapshotArn": "\$.detail.findings[0].Resources[0].Id"
},
"InputTemplate": "{\"ClusterSnapshotIdentifier\": [\"<snapshotArn>\"], \"AutomationAssumeRole\": [\"$AUTOMATION_ROLE_ARN\"]}"
}
}
]
EOF
aws events put-targets \
--rule documentdb-3-auto-remediation \
--targets file:///tmp/eventbridge-target.json \
--region ap-northeast-1{
"FailedEntryCount": 0,
"FailedEntries": []
}5. DocumentDB クラスター・スナップショット作成
5.1 DocumentDB クラスター作成
DocumentDB は MongoDB 互換のフルマネージドドキュメントデータベース。クラスター + 1 つのインスタンスで最小構成を作成する。
aws docdb create-db-cluster \
--db-cluster-identifier documentdb3-remediation-test \
--engine docdb \
--master-username docdbadmin \
--master-user-password '<パスワード>' \
--backup-retention-period 1 \
--region ap-northeast-1 \
--query 'DBCluster.{DBClusterIdentifier:DBClusterIdentifier,Status:Status}' \
--output json{
"DBClusterIdentifier": "documentdb3-remediation-test",
"Status": "creating"
}aws docdb create-db-instance \
--db-instance-identifier documentdb3-remediation-instance \
--db-instance-class db.t3.medium \
--engine docdb \
--db-cluster-identifier documentdb3-remediation-test \
--region ap-northeast-1 \
--query 'DBInstance.{DBInstanceIdentifier:DBInstanceIdentifier,Status:DBInstanceStatus}' \
--output json{
"DBInstanceIdentifier": "documentdb3-remediation-instance",
"Status": "creating"
}クラスター available 待ち(数秒〜数分)。
while true; do
STATUS=$(aws docdb describe-db-clusters \
--db-cluster-identifier documentdb3-remediation-test \
--query 'DBClusters[0].Status' \
--output text \
--region ap-northeast-1)
echo "$(date '+%H:%M:%S') cluster: $STATUS"
case "$STATUS" in
available) break ;;
failed) echo "失敗"; break ;;
*) sleep 60 ;;
esac
doneHH:MM:SS cluster: creating
(数分間 creating を繰り返す)
HH:MM:SS cluster: available5.2 クラスタースナップショット作成
aws docdb create-db-cluster-snapshot \
--db-cluster-identifier documentdb3-remediation-test \
--db-cluster-snapshot-identifier documentdb3-remediation-snapshot \
--region ap-northeast-1 \
--query 'DBClusterSnapshot.{DBClusterSnapshotIdentifier:DBClusterSnapshotIdentifier,Status:Status}' \
--output json{
"DBClusterSnapshotIdentifier": "documentdb3-remediation-snapshot",
"Status": "creating"
}available 待ち(約 5〜15 分)。
while true; do
STATUS=$(aws docdb describe-db-cluster-snapshots \
--db-cluster-snapshot-identifier documentdb3-remediation-snapshot \
--query 'DBClusterSnapshots[0].Status' \
--output text \
--region ap-northeast-1)
echo "$(date '+%H:%M:%S') snapshot: $STATUS"
case "$STATUS" in
available) break ;;
failed) echo "失敗"; break ;;
*) sleep 30 ;;
esac
doneHH:MM:SS snapshot: creating
(数分間 creating を繰り返す)
HH:MM:SS snapshot: available6. パブリック化と FAILED → 状態変化フロー
RDS.1 自動修復 と同様、Config 手動トリガーだけでは Security Hub finding の再 import が発火しないため、「PASSED → FAILED」の状態変化を起こして finding を新規 import させる必要がある。本番運用では EventBridge ルールが常時 ENABLED のため、新規パブリック化時の PASSED → FAILED で自然に発火する(本記事の検証手順は EventBridge を DISABLED で作成しているため、6.3〜6.6 の状態変化を起こす手順が必要となる)。詳細は RDS.1 自動修復の構成 の callout 参照。
6.1 スナップショットをパブリック化
aws docdb modify-db-cluster-snapshot-attribute \
--db-cluster-snapshot-identifier documentdb3-remediation-snapshot \
--attribute-name restore \
--values-to-add all \
--region ap-northeast-1 \
--query 'DBClusterSnapshotAttributesResult.DBClusterSnapshotAttributes' \
--output json[
{
"AttributeName": "restore",
"AttributeValues": [
"all"
]
}
]describe-db-cluster-snapshot-attributes で再確認。
aws docdb describe-db-cluster-snapshot-attributes \
--db-cluster-snapshot-identifier documentdb3-remediation-snapshot \
--region ap-northeast-1 \
--query 'DBClusterSnapshotAttributesResult.DBClusterSnapshotAttributes' \
--output json[
{
"AttributeName": "restore",
"AttributeValues": [
"all"
]
}
]6.2 Security Hub finding が FAILED になることを確認
Security Hub への反映には数分かかる。Compliance.Status と Workflow.Status の両方を確認する。
sleep 300
aws securityhub get-findings \
--filters '{"ComplianceSecurityControlId":[{"Comparison":"EQUALS","Value":"DocumentDB.3"}],"ComplianceStatus":[{"Comparison":"EQUALS","Value":"FAILED"}],"ResourceId":[{"Comparison":"PREFIX","Value":"arn:aws:rds:ap-northeast-1:<アカウント ID>:cluster-snapshot:documentdb3-remediation-snapshot"}]}' \
--region ap-northeast-1 \
--query 'Findings[0].{Compliance:Compliance.Status,Workflow:Workflow.Status,SnapshotArn:Resources[0].Id}' \
--output json{
"Compliance": "FAILED",
"Workflow": "NEW",
"SnapshotArn": "arn:aws:rds:ap-northeast-1:<アカウント ID>:cluster-snapshot:documentdb3-remediation-snapshot"
}6.3 一度プライベートに戻して finding の状態を変化させる
aws docdb modify-db-cluster-snapshot-attribute \
--db-cluster-snapshot-identifier documentdb3-remediation-snapshot \
--attribute-name restore \
--values-to-remove all \
--region ap-northeast-1 \
--query 'DBClusterSnapshotAttributesResult.DBClusterSnapshotAttributes' \
--output json[
{
"AttributeName": "restore",
"AttributeValues": []
}
]6.4 PASSED を観測
sleep 300
aws securityhub get-findings \
--filters '{"ComplianceSecurityControlId":[{"Comparison":"EQUALS","Value":"DocumentDB.3"}],"ResourceId":[{"Comparison":"PREFIX","Value":"arn:aws:rds:ap-northeast-1:<アカウント ID>:cluster-snapshot:documentdb3-remediation-snapshot"}]}' \
--region ap-northeast-1 \
--query 'Findings[0].{Compliance:Compliance.Status,Workflow:Workflow.Status}' \
--output json{
"Compliance": "PASSED",
"Workflow": "RESOLVED"
}6.5 EventBridge ルールを有効化
aws events enable-rule \
--name documentdb-3-auto-remediation \
--region ap-northeast-1
aws events describe-rule \
--name documentdb-3-auto-remediation \
--region ap-northeast-1 \
--query 'State'"ENABLED"6.6 再度パブリック化(自動修復の起動)
aws docdb modify-db-cluster-snapshot-attribute \
--db-cluster-snapshot-identifier documentdb3-remediation-snapshot \
--attribute-name restore \
--values-to-add all \
--region ap-northeast-1 \
--query 'DBClusterSnapshotAttributesResult.DBClusterSnapshotAttributes' \
--output json[
{
"AttributeName": "restore",
"AttributeValues": [
"all"
]
}
]7. 自動修復の実行確認
EventBridge が finding を捕捉してカスタムランブックを起動するはず。SSM Automation の実行履歴を確認する。
sleep 300
aws ssm describe-automation-executions \
--filters Key=DocumentNamePrefix,Values=DocumentDBSnapshotMakePrivate \
--max-results 5 \
--region ap-northeast-1 \
--query 'AutomationExecutionMetadataList[].{Status:AutomationExecutionStatus,ExecutionStartTime:ExecutionStartTime,ExecutionId:AutomationExecutionId}' \
--output json[
{
"Status": "Success",
"ExecutionStartTime": "<開始時刻>",
"ExecutionId": "<実行 ID>"
}
]8. PASSED 復帰確認
8.1 スナップショットがプライベートに戻ったことを確認
aws docdb describe-db-cluster-snapshot-attributes \
--db-cluster-snapshot-identifier documentdb3-remediation-snapshot \
--region ap-northeast-1 \
--query 'DBClusterSnapshotAttributesResult.DBClusterSnapshotAttributes' \
--output json[
{
"AttributeName": "restore",
"AttributeValues": []
}
]8.2 Config / Security Hub finding 確認
sleep 120
aws securityhub get-findings \
--filters '{"ComplianceSecurityControlId":[{"Comparison":"EQUALS","Value":"DocumentDB.3"}],"ResourceId":[{"Comparison":"PREFIX","Value":"arn:aws:rds:ap-northeast-1:<アカウント ID>:cluster-snapshot:documentdb3-remediation-snapshot"}]}' \
--region ap-northeast-1 \
--query 'Findings[0].{Compliance:Compliance.Status,Workflow:Workflow.Status,UpdatedAt:UpdatedAt}' \
--output json{
"Compliance": "PASSED",
"Workflow": "RESOLVED",
"UpdatedAt": "<更新時刻>"
}9. クリーンアップ
DocumentDB クラスタースナップショット削除
aws docdb delete-db-cluster-snapshot \
--db-cluster-snapshot-identifier documentdb3-remediation-snapshot \
--region ap-northeast-1 \
--query 'DBClusterSnapshot.{DBClusterSnapshotIdentifier:DBClusterSnapshotIdentifier,Status:Status}' \
--output json{
"DBClusterSnapshotIdentifier": "documentdb3-remediation-snapshot",
"Status": "available"
}delete-db-cluster-snapshot の応答時の Status は削除実行時点の状態を返すため available が表示されるが、削除リクエストは受理されている。describe-db-cluster-snapshots で確認すると DBClusterSnapshotNotFoundFault が返り、削除完了を確認できる。
DocumentDB インスタンス・クラスター削除
aws docdb delete-db-instance \
--db-instance-identifier documentdb3-remediation-instance \
--region ap-northeast-1 \
--query 'DBInstance.{DBInstanceIdentifier:DBInstanceIdentifier,Status:DBInstanceStatus}' \
--output jsonインスタンス削除完了後、クラスターを削除する。
while true; do
COUNT=$(aws docdb describe-db-instances \
--query "length(DBInstances[?DBInstanceIdentifier=='documentdb3-remediation-instance'])" \
--output text \
--region ap-northeast-1 2>/dev/null || echo 0)
echo "$(date '+%H:%M:%S') 残存インスタンス数: $COUNT"
[ "$COUNT" = "0" ] && echo "削除完了" && break
sleep 60
done
aws docdb delete-db-cluster \
--db-cluster-identifier documentdb3-remediation-test \
--skip-final-snapshot \
--region ap-northeast-1 \
--query 'DBCluster.{DBClusterIdentifier:DBClusterIdentifier,Status:Status}' \
--output jsonEventBridge ルール削除
aws events remove-targets \
--rule documentdb-3-auto-remediation \
--ids ssm-automation-target \
--region ap-northeast-1
aws events delete-rule \
--name documentdb-3-auto-remediation \
--region ap-northeast-1IAM ロール削除
aws iam delete-role-policy \
--role-name documentdb-3-automation-role \
--policy-name documentdb-snapshot-permission
aws iam delete-role \
--role-name documentdb-3-automation-role
aws iam delete-role-policy \
--role-name documentdb-3-eventbridge-role \
--policy-name eventbridge-ssm-automation
aws iam delete-role \
--role-name documentdb-3-eventbridge-roleSSM Automation ドキュメント削除
aws ssm delete-document \
--name DocumentDBSnapshotMakePrivate \
--region ap-northeast-1(出力なし)
参考
- DocumentDB.3 DocumentDB 手動クラスタースナップショットがパブリックでないこと - コントロール自体の検証
- RDS.1 自動修復 - 同じパターン(DB インスタンススナップショット用、マネージドランブック使用)
- Neptune.3 自動修復 - 同じパターン(内容が同一の別ランブック
NeptuneSnapshotMakePrivateを作成、設計の選択肢として 1 つに統合も可能) - 自動修復の概要 - 全コントロールの一覧と方針