Meta DPA
Meta社のデータ保護評価の一 環として、Shisho Cloudを使用したクラウドセキュリティポスチャ管理の実装に関する証拠を収集する必要がある場合があります。
このドキュメントでは、Meta社のデータ保護評価のために、クラウドセキュリティ監査の証拠を収集する方法を説明します。
このドキュメントは、Meta社によって公式に承認されたものではありません。Meta社のデータ保護評価の準備をする際には、このドキュメントを参照として使用してください。 これは、クラウドデータ保護のためにShisho Cloudがどのように機能するかを評価者に説明する際に役立つ場合があります。
概要
以下のステップ(A)~(F)に従うことで、Shisho Cloudを使用したクラウドセキュリティポスチャ管理の実装に関する基本的な情報を確認できます。
$ EXPORT ORG_ID=flatt-security
# (A) すべてのリソースレビューが有効になっていることを表示する
####################
$ shishoctl workflow list --org $ORG_ID | jq -r
# (B) ワークフローが適切に実行されていることを示す
####################
$ shishoctl run list --org $ORG_ID | jq -r
# (C) プラットフォームデータを処理するための、Shisho Cloudとクラウドアカウント間の連携が現在利用可能であることを示す
####################
$ shishoctl integration aws list --org $ORG_ID | jq -r
$ shishoctl integration googlecloud list --org $ORG_ID | jq -r
# (D) プラットフォームデータを処理するクラウドアカウントがカバーされていることを示す
####################
$ shishoctl cloud-account list --org $ORG_ID | jq -r
# (E) これまでに確認されたリソースの数とセキュリティの状況を示す
####################
$ shishoctl finding aggregate per-resource-kind --org $ORG_ID | wc -l
# 補足: 特定のフレームワーク/ベンチマーク、例えばCISベンチマークに対するコンプライアンスレポートのみを表示したい場合は、代わりに以下のコマンドを実行できます。
$ shishoctl finding aggregate per-annotation-value "decision.api.shisho.dev:aws/cis-benchmark/v1.5.0" --org $ORG_ID | wc -l
$ shishoctl finding aggregate per-annotation-value "decision.api.shisho.dev:googlecloud/cis-benchmark/v1.3.0" --org $ORG_ID | wc -l
# (F) アクティブなクリティカル重大度の指摘事項がないことを示す。同様のコマンドを実行して、高重大度の指摘事項(SeverityHigh)を収集することもできます。
####################
$ shishoctl finding aggregate per-resource-kind --org $ORG_ID | jq -r '.entries[] | select(.highestSeverity == "SeverityCritical")'
# 補足: 特定のフレームワーク/ベンチマーク、例えばCISベンチマークに対するコンプライアンスレポートのみを表示したい場合は、代わりに以下のコマンドを実行できます。
$ shishoctl finding aggregate per-annotation-value "decision.api.shisho.dev:aws/cis-benchmark/v1.5.0" --org $ORG_ID | jq -r '.entries[] | select(.highestSeverity == "SeverityCritical")'
$ shishoctl finding aggregate per-annotation-value "decision.api.shisho.dev:googlecloud/cis-benchmark/v1.3.0" --org $ORG_ID | jq -r '.entries[] | select(.highestSeverity == "SeverityCritical")'
詳細
(A) 有効化されたワークフローの一覧
以下のコマンドを実行すると、有効化されたワークフローの一覧が表示されます。
# (A) すべてのリソースレビューが有効になっていることを表示する
####################
$ shishoctl workflow list --org $ORG_ID | jq -r
出力例は以下のとおりです。
[
{
"id": "notification-security",
"snapshotID": "WS01H1SGHWKRKCWNPRNMXAQX16BP",
"manifest": {
"id": "notification-security",
"version": "0.1.0",
"name": "Prebundle: Notify important security events"
}
},
// 省略...
flatt-security/shisho-cloud-managed-workflows には、デフォルトで有効になっているワークフローのセットが含まれています。 CIS ベンチマーク、AWS Foundational Security Best Practices、Google Cloud Security Command Center (SCC) の指摘事項などに対応するワークフローが含まれています。
DPA の評価者は、評価の範囲を理解するために、この情報が役立つ場合があります。上記の GitHub リポジトリ内の各ワークフローには、ほとんどの組織のセキュリティ体制で必要とされるワークフローのセットである、プリバンドルワークフローが含まれています。 "prebundle-aws-config" のようなリポジトリ内のすべての manifest ID がコマンド出力に存在する場合、すべてのプリバンドルワークフローが有効になっていることを示す証拠となります。
(B) 最近のワークフローの実行
以下のコマンドを実行すると、最近のワークフローの実行結果が表示されます。
# (B) ワークフローが適切に実行されていることを示す
####################
$ shishoctl run list --org $ORG_ID | jq -r
出力例は以下のとおりです。
[
{
"id": "WH01HCTCWPCPNW318JG0RSJ62PTD",
"workflowId": "new-workflow-2",
"workflowSnapshotId": "WS01HARP70FMPK8DWV32Y1NZ84A1",
"startedAt": "2023-10-15T19:27:01Z",
"runningState": "SCompleted",
"cause": "IScheduled"
},
// 省略...
DPA の評価者は、ワークフローが適切に実行されていることを確認するために、この情報が役立つ場合があります。コマンド出力でワークフローが適切に実行されていることが報告され、その他の連携状況にも問題がない場合、クラウドセキュリティの状況を評価するのに十分なデータが収集され、積極的にレビューされていることを示す証拠となります。
(C) 連携の健全性
以下のコマンドを実行すると、プラットフォームデータを処理するための、Shisho Cloudとクラウドアカウント間の連携の状態が表示されます。
# (C) プラットフォームデータを処理するための、Shisho Cloudとクラウドアカウント間の連携が現在利用可能であることを示す
####################
$ shishoctl integration aws list --org $ORG_ID | jq -r
$ shishoctl integration googlecloud list --org $ORG_ID | jq -r
出力例は以下のとおりです。
[
{
"federationId": "AWSOIDC01GXBAY25BGGK741PTHH66HA9S",
"availability": {
"available": true,
"unavailableReason": null
},
"body": {
"__typename": "AWSRoleOIDCFederationBody",
"roleArn": "arn:aws:iam::065248681517:role/shisho-cloud-integration",
"type": "SINGLE_ACCOUNT"
}
},
// 省略...
DPA の評価者は、availability フィールドを確認することで、プラットフォームデータを処理するための、Shisho Cloud とクラウドアカウント間の連携が適切に機能していることを理解できます。
(D) 連携済みのスコープ
以下のコマンドを実行すると、これまでに確認されたクラウドアカウント(Google Cloud プロジェクト、AWS アカウントなど)が表示されます。
# (D) プラットフォームデータを処理するクラウドアカウントがカバーされていることを示す
####################
$ shishoctl cloud-account list --org $ORG_ID | jq -r
出力例は以下のとおりです。
{
"pageInfo": {
"totalEntries": 240
},
"entries": [
{
"id": "aws-account|779392188153",
"displayName": "779392188153",
"highestSeverity": "SeverityCritical",
"actionNeededDecisions": 124,
"__typename": "AWSAccountResource"
},
// 省略...
DPA の評価者は、評価の範囲を理解するために、この情報が役立つ場合があります。アカウント一覧には、プラットフォームデータを処理するためのアカウントが含まれている必要があります。
(E) リソースタイプごと、またはコンプライアンス項目ごとの指摘事項
以下のコマンドを実行すると、これまでに確認されたリソースの数とセキュリティの状況が表示されます。
# (E) これまでに確認されたリソースの数とセキュリティの状況を示す
####################
$ shishoctl finding aggregate per-resource-kind --org $ORG_ID | wc -l
# 補足: 特定のフレームワーク/ベンチマーク、例えばCISベンチマークに対するコンプライアンスレポートのみを表示したい場合は、代わりに以下のコマンドを実行できます。
$ shishoctl finding aggregate per-annotation-value "decision.api.shisho.dev:aws/cis-benchmark/v1.5.0" --org $ORG_ID | wc -l
$ shishoctl finding aggregate per-annotation-value "decision.api.shisho.dev:googlecloud/cis-benchmark/v1.3.0" --org $ORG_ID | wc -l
最初のコマンド shishoctl finding aggregate per-resource-kind --org $ORG_ID は、これまでに確認されたリソースの数とセキュリティの状況を表示します。例えば、以下のように表示されます。
{
"entries": [
{
"kind": "aws-account",
"count": 4,
"decisions": 123,
"decisionGroups": 31,
"allowedDecisions": 24,
"deniedDecisions": 99,
"neededActions": 85,
"highestSeverity": "SeverityHigh"
},
{
"kind": "aws-cloudfront-distribution",
"count": 6,
"decisions": 36,
"decisionGroups": 6,
"allowedDecisions": 15,
"deniedDecisions": 21,
"neededActions": 20,
"highestSeverity": "SeverityCritical"
},
// 省略...