コンテンツにスキップ

カスタム SCP

AWS Organizations のサービスコントロールポリシー(SCP)のうち、Control Tower の予防コントロールでカバーされていないチェック項目を補完するために独自に作成するポリシーをカスタム SCP と呼ぶ。本セクションでは、Security Hub CSPM のコントロールに対応する予防手段として、各サービスごとのカスタム SCP の実装と検証結果をまとめる。

カスタム SCP で予防できるコントロール

Security Hub CSPM のページで本サイトのスコープとして整理している 35 件(FSBP の CRITICAL / HIGH のうちパブリックアクセス防止に関わるコントロール)のうち、サービス独自の条件キーまたは特定 API の Deny でカスタム SCP による予防が可能なものを以下に整理する。

コントロール該当 APIDeny の方式検証記事
SSM.7ssm:UpdateServiceSettingAPI + リソース ARN 単位の Deny(/ssm/documents/console/public-sharing-permission 設定の変更を拒否)SSM Block Public Sharing
EMR.2elasticmapreduce:PutBlockPublicAccessConfigurationAPI 単位の Deny(BPA 設定変更操作そのものを拒否)EMR Block Public Access
MSK.4kafka:UpdateConnectivityAPI + 条件キー kafka:publicAccessEnabled で DenyMSK Public Access
RDS.2rds:CreateDBInstance / rds:ModifyDBInstanceAPI + 条件キー rds:PubliclyAccessible で DenyRDS Publicly Accessible
EKS.1eks:CreateCluster / eks:UpdateClusterConfigAPI + 条件キー eks:endpointPublicAccess で DenyEKS Public Endpoint

カスタム SCP で予防できないコントロール

本サイトのスコープ 35 件のうち、対応するサービスの API に必要な条件キーが提供されていないため、カスタム SCP では予防できないコントロールを以下に整理する。これらは Config 検知 + 自動修復で対応する。

コントロール該当 APIカスタム SCP で予防できない理由
RDS.1rds:ModifyDBSnapshotAttributeパブリック共有を判定する条件キーが提供されていない
DocumentDB.3rds:ModifyDBClusterSnapshotAttribute
(DocumentDB の IAM アクションは rds: プレフィックスを使用)
パブリック共有を判定する条件キーが提供されていない
Neptune.3rds:ModifyDBClusterSnapshotAttribute
(Neptune の IAM アクションは rds: プレフィックスを使用)
パブリック共有を判定する条件キーが提供されていない
SNS.4sns:SetTopicAttributesアクセスポリシー内容を評価する条件キーが提供されていない
Redshift.1redshift:CreateCluster / redshift:ModifyClusterパブリックアクセスを制御する条件キーが提供されていない
RedshiftServerless.3redshift-serverless:UpdateWorkgroupパブリックアクセスを制御する条件キーが提供されていない
ES.2es:CreateElasticsearchDomainVPC アクセスを制御する条件キーが提供されていない
Opensearch.2opensearch:CreateDomainVPC アクセスを制御する条件キーが提供されていない
DMS.1dms:CreateReplicationInstanceパブリックアクセスを制御する条件キーが提供されていない

これらのコントロールの対応方針は以下の通り:

  • インターネット到達性カテゴリ(Redshift.1 / RedshiftServerless.3 / ES.2 / Opensearch.2 / DMS.1): VPC BPA(宣言型ポリシー) を主軸とし、VPC BPA が組織として採用できない場合のフォールバック策として Config 検知 + 自動修復を採用する
  • それ以外(RDS.1 / DocumentDB.3 / Neptune.3 / SNS.4): Config マネージドルールによる検知と SSM Automation による自動修復が主軸となる