AWSSupport-EnableVPCFlowLogs - AWS Systems Manager 自動化 Runbook 參考

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWSSupport-EnableVPCFlowLogs

Description

AWSSupport-EnableVPCFlowLogs Runbook 會為 中的子網路、網路介面和 VPCs 建立 Amazon Virtual Private Cloud (Amazon VPC) 流程日誌 AWS 帳戶。如果您為子網路或 VPC 建立流程日誌,則會監控該子網路或 Amazon VPC 中的每個彈性網路介面。流程日誌資料會發佈至您指定的 Amazon CloudWatch Logs 日誌群組或 Amazon Simple Storage Service (Amazon S3) 儲存貯體。如需流程日誌的詳細資訊,請參閱《Amazon VPC 使用者指南》中的 VPC 流程日誌

重要

當您將流程記錄發佈到或發佈到 CloudWatch Logs 或 Amazon S3 時,會套用付費日誌的資料擷取和存檔費用。如需詳細資訊,請參閱流程日誌定價

執行此自動化 (主控台)

注意

選取 s3做為日誌目的地時,請確定儲存貯體政策允許日誌交付服務存取儲存貯體。如需詳細資訊,請參閱流程日誌的 Amazon S3 儲存貯體許可

文件類型

 自動化

擁有者

Amazon

平台

Linux、macOS、 Windows

參數

  • AutomationAssumeRole

    類型:字串

    描述:(選用) 允許 Systems Manager Automation 代表您執行動作的 (IAM) 角色的 AWS Identity and Access Management Amazon Resource Name (ARN)。如果未指定角色,Systems Manager Automation 會使用啟動此 Runbook 的使用者許可。

  • DeliverLogsPermissionArn

    類型:字串

    描述:(選用) 允許 Amazon Elastic Compute Cloud (Amazon EC2) 將流程日誌發佈至您帳戶中 CloudWatch Logs 日誌群組的 IAM 角色 ARN。如果您s3LogDestinationType 參數指定 ,請勿為此參數提供 值。如需詳細資訊,請參閱《Amazon VPC 使用者指南》中的將流程日誌發佈至 CloudWatch Logs

  • LogDestinationARN

    類型:字串

    描述:(選用) 發佈流程日誌資料的資源 ARN。如果 為 LogDestinationType 參數cloud-watch-logs指定 ,請提供您要發佈流程日誌資料的 CloudWatch Logs 日誌群組 ARN。或者,請改用 LogGroupName。如果 s3 已針對 LogDestinationType 參數指定 ,您必須指定您要為此參數發佈流程日誌資料的 Amazon S3 儲存貯體 ARN。您也可以在儲存貯體中指定資料夾。

    重要

    選擇 s3做為 時LogDestinationType,您應確保選取的儲存貯體遵循 Amazon S3 儲存貯體安全最佳實務,並遵循組織和地理區域的資料隱私權法律。

  • LogDestinationType

    類型:字串

    有效值:cloud-watch-logs | s3

    描述:(必要) 決定流程日誌資料的發佈位置。如果您將 指定LogDestinationTypes3 ,請勿指定 DeliverLogsPermissionArnLogGroupName

  • LogFormat

    類型:字串

    描述:(選用) 要包含在流程日誌中的欄位,以及它們應該出現在記錄中的順序。如需可用欄位的清單,請參閱《Amazon VPC 使用者指南》中的流程日誌記錄。如果您未提供此參數的值,則會使用預設格式建立流程日誌。如果您指定此參數,則必須至少指定一個欄位。

  • LogGroupName

    類型:字串

    描述:(選用) 發佈流程日誌資料的 CloudWatch Logs 日誌群組名稱。如果您s3LogDestinationType 參數指定 ,請勿為此參數提供 值。

  • ResourceIds

    類型:StringList

    描述:(必要) 以逗號分隔的清單,列出您要為其建立流量日誌的子網路、彈性網路介面或 VPC IDs。

  • TrafficType

    類型:字串

    有效值:接受 | 拒絕 | ALL

    描述:(必要) 要記錄的流量類型。您可以記錄資源接受或拒絕的流量,或所有流量的日誌。

必要的 IAM 許可

AutomationAssumeRole 參數需要下列動作才能成功使用 Runbook。

  • ssm:StartAutomationExecution

  • ssm:GetAutomationExecution

  • ec2:CreateFlowLogs

  • ec2:DeleteFlowLogs

  • ec2:DescribeFlowLogs

  • iam:AttachRolePolicy

  • iam:CreateRole

  • iam:CreatePolicy

  • iam:DeletePolicy

  • iam:DeleteRole

  • iam:DeleteRolePolicy

  • iam:GetPolicy

  • iam:GetRole

  • iam:TagRole

  • iam:PassRole

  • iam:PutRolePolicy

  • iam:UpdateRole

  • logs:CreateLogDelivery

  • logs:CreateLogGroup

  • logs:DeleteLogDelivery

  • logs:DeleteLogGroup

  • logs:DescribeLogGroups

  • logs:DescribeLogStreams

  • s3:GetBucketLocation

  • s3:GetBucketAcl

  • s3:GetBucketPublicAccessBlock

  • s3:GetBucketPolicyStatus

  • s3:GetBucketAcl

  • s3:ListBucket

  • s3:PutObject

範例政策

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SSM Execution Permissions", "Effect": "Allow", "Action": [ "ssm:StartAutomationExecution", "ssm:GetAutomationExecution" ], "Resource": "*" }, { "Sid": "EC2 FlowLogs Permissions", "Effect": "Allow", "Action": [ "ec2:CreateFlowLogs", "ec2:DeleteFlowLogs", "ec2:DescribeFlowLogs" ], "Resource": "arn:{partition}:ec2:{region}:{account-id}:{instance|subnet|vpc|transit-gateway|transit-gateway-attachment}/{resource ID}" }, { "Sid": "IAM CreateRole Permissions", "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:CreateRole", "iam:CreatePolicy", "iam:DeletePolicy", "iam:DeleteRole", "iam:DeleteRolePolicy", "iam:GetPolicy", "iam:GetRole", "iam:TagRole", "iam:PassRole", "iam:PutRolePolicy", "iam:UpdateRole" ], "Resource": [ "arn:{partition}:iam::{account-id}:role/{role name}", "arn:{partition}:iam::{account-id}:role/AWSSupportCreateFlowLogsRole" ] }, { "Sid": "CloudWatch Logs Permissions", "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:CreateLogGroup", "logs:DeleteLogDelivery", "logs:DeleteLogGroup", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": [ "arn:{partition}:logs:{region}:{account-id}:log-group:{log group name}", "arn:{partition}:logs:{region}:{account-id}:log-group:{log group name}:*" ] }, { "Sid": "S3 Permissions", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetBucketPublicAccessBlock", "s3:GetAccountPublicAccessBlock", "s3:GetBucketPolicyStatus", "s3:GetBucketAcl", "s3:ListBucket", "s3:PutObject" ], "Resource": [ "arn:{partition}:s3:::{bucket name}", "arn:{partition}:s3:::{bucket name}/*" ] } ] }

文件步驟

  • aws:branch - 根據為 LogDestinationType 參數指定的值進行分支。

  • aws:executeScript - 檢查目標 Amazon Simple Storage Service (Amazon S3) 是否可能授予其物件的讀取寫入public存取權。

  • aws:executeScript - 如果未為 LogDestinationARN 參數指定值,且為 LogDestinationType 參數指定值,cloud-watch-logs則建立日誌群組。

  • aws:executeScript - 根據 Runbook 參數中指定的值建立流程日誌。