本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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。如果您
s3
為LogDestinationType
參數指定 ,請勿為此參數提供 值。如需詳細資訊,請參閱《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
描述:(必要) 決定流程日誌資料的發佈位置。如果您將 指定
LogDestinationType
為s3
,請勿指定DeliverLogsPermissionArn
或LogGroupName
。 -
LogFormat
類型:字串
描述:(選用) 要包含在流程日誌中的欄位,以及它們應該出現在記錄中的順序。如需可用欄位的清單,請參閱《Amazon VPC 使用者指南》中的流程日誌記錄。如果您未提供此參數的值,則會使用預設格式建立流程日誌。如果您指定此參數,則必須至少指定一個欄位。
-
LogGroupName
類型:字串
描述:(選用) 發佈流程日誌資料的 CloudWatch Logs 日誌群組名稱。如果您
s3
為LogDestinationType
參數指定 ,請勿為此參數提供 值。 -
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 參數中指定的值建立流程日誌。