ワークフローは特定のアカウントに対して新しいカスタムルールを作成し、既存のスキャンフレームワークに例外を適用するのに役立ちます。
Custom RulesはSUCCESS、FAILURE、ERRORの結果のみを許可し、Cloud Risk Managementの既存のチェックフレームワークの複雑なビジネスロジックを簡素化するように設計されています。(注:
ERRORの結果はリソースデータおよび/またはルールロジックに関する問題を表し、検索によって保存されることはありませんが、開発を支援するために実行エンドポイントによって返されます。)
特定のパラメーターに一致するリソースに対して自動的にSUCCESSを渡す条件を構築することで、例外に相当するものを実装する方法があります。
こちらは、S3暗号化とパブリックアクセスブロックの両方をチェックする設定の例ですが、名前にtestを含むバケットについては自動的に成功します。
{
"accountId": "a0b1c2d3-e4f5-a6b7-c8d9-e0f1a2b3c4d5",
"configuration": {
"name": "S3 encrypted and public access block - with safelist for 'test'",
"description": "Check S3 has encryption AND public access block, but safelist 'test' buckets",
"service": "S3",
"resourceType": "s3-bucket",
"riskLevel": "HIGH",
"enabled": true,
"provider": "aws",
"categories": ["security"],
"remediationNote": "To remediate, follow these steps:\n1. Do as you wish \n2. Step two\n",
"attributes": [
{
"name": "bucketEncryption",
"path": "data.Encryption",
"required": true
},
{
"name": "publicAccessBlockConfiguration",
"path": "data.PublicAccessBlockConfiguration",
"required": true
},
{
"name": "safeList",
"path": "data.resourceId",
"required": true
}
],
"eventRules": [
{
"conditions": {
"any": [
{
"fact": "safeList",
"operator": "pattern",
"value": ".*test.*"
},
{
"all": [
{
"fact": "bucketEncryption",
"operator": "notEqual",
"value": null
},
{
"fact": "publicAccessBlockConfiguration",
"operator": "notEqual",
"value": null
}
]
}
]
},
"description": "Bucket has encryption enabled"
}
]
}
}
