本文档仅适用于 AWS CLI 版本 1。有关 AWS CLI 版本 2 的相关文档,请参阅版本 2 用户指南。
使用 AWS CLI 的 Firewall Manager 示例
以下代码示例演示了如何通过将 AWS Command Line Interface与 Firewall Manager 结合使用,来执行操作和实现常见场景。
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示了如何使用 associate-admin-account
。
- AWS CLI
-
设置 Firewall Manager 管理员账户
以下
associate-admin-account
示例设置 Firewall Manager 的管理员账户。aws fms associate-admin-account \ --admin-account
123456789012
此命令不生成任何输出。
有关更多信息,请参阅《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 开发人员指南》中的设置 AWS Firewall Manager 管理员账户。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 AssociateAdminAccount
。
-
以下代码示例演示了如何使用 delete-notification-channel
。
- AWS CLI
-
删除 Firewall Manager 日志的 SNS 主题信息
以下
delete-notification-channel
示例删除 SNS 主题信息。aws fms delete-notification-channel
此命令不生成任何输出。
有关更多信息,请参阅《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 开发人员指南》中的配置 Amazon SNS 通知和 Amazon CloudWatch 警报。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteNotificationChannel
。
-
以下代码示例演示了如何使用 delete-policy
。
- AWS CLI
-
删除 Firewall Manager 策略
以下
delete-policy
示例删除具有指定 ID 的策略及其所有资源。aws fms delete-policy \ --policy-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
\ --delete-all-policy-resources此命令不生成任何输出。
有关更多信息,请参阅《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 开发人员指南》中的使用 AWS Firewall Manager 策略。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeletePolicy
。
-
以下代码示例演示了如何使用 disassociate-admin-account
。
- AWS CLI
-
删除 Firewall Manager 管理员账户
以下
disassociate-admin-account
示例从 Firewall Manager 中删除当前的管理员账户关联。aws fms disassociate-admin-account
此命令不生成任何输出。
有关更多信息,请参阅《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 开发人员指南》中的设置 AWS Firewall Manager 管理员账户。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DisassociateAdminAccount
。
-
以下代码示例演示了如何使用 get-admin-account
。
- AWS CLI
-
检索 Firewall Manager 管理员账户
以下
get-admin-account
示例检索管理员账户。aws fms get-admin-account
输出:
{ "AdminAccount": "123456789012", "RoleStatus": "READY" }
有关更多信息,请参阅《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 开发人员指南》中的 AWS Firewall Manager 先决条件。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetAdminAccount
。
-
以下代码示例演示了如何使用 get-compliance-detail
。
- AWS CLI
-
检索账户的合规信息
以下
get-compliance-detail
示例检索指定策略和成员账户的合规信息。aws fms get-compliance-detail \ --policy-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
\ --member-account123456789012
输出:
{ "PolicyComplianceDetail": { "EvaluationLimitExceeded": false, "IssueInfoMap": {}, "MemberAccount": "123456789012", "PolicyId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "PolicyOwner": "123456789012", "Violators": [] }
有关更多信息,请参阅《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 开发人员指南》中的查看资源的策略合规性。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetComplianceDetail
。
-
以下代码示例演示了如何使用 get-notification-channel
。
- AWS CLI
-
检索 Firewall Manager 日志的 SNS 主题信息
以下
get-notification-channel
示例检索 SNS 主题信息。aws fms get-notification-channel
输出:
{ "SnsTopicArn": "arn:aws:sns:us-west-2:123456789012:us-west-2-fms", "SnsRoleName": "arn:aws:iam::123456789012:role/aws-service-role/fms.amazonaws.com/AWSServiceRoleForFMS" }
有关更多信息,请参阅《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 开发人员指南》中的配置 Amazon SNS 通知和 Amazon CloudWatch 警报。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetNotificationChannel
。
-
以下代码示例演示了如何使用 get-policy
。
- AWS CLI
-
检索 Firewall Manager 策略
以下
get-policy
示例检索具有指定 ID 的策略。aws fms get-policy \ --policy-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
输出:
{ "Policy": { "PolicyId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "PolicyName": "test", "PolicyUpdateToken": "1:p+2RpKR4wPFx7mcrL1UOQQ==", "SecurityServicePolicyData": { "Type": "SECURITY_GROUPS_COMMON", "ManagedServiceData": "{\"type\":\"SECURITY_GROUPS_COMMON\",\"revertManualSecurityGroupChanges\":true,\"exclusiveResourceSecurityGroupManagement\":false,\"securityGroups\":[{\"id\":\"sg-045c43ccc9724e63e\"}]}" }, "ResourceType": "AWS::EC2::Instance", "ResourceTags": [], "ExcludeResourceTags": false, "RemediationEnabled": false }, "PolicyArn": "arn:aws:fms:us-west-2:123456789012:policy/d1ac59b8-938e-42b3-b2e0-7c620422ddc2" }
有关更多信息,请参阅《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 开发人员指南》中的使用 AWS Firewall Manager 策略。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetPolicy
。
-
以下代码示例演示了如何使用 list-compliance-status
。
- AWS CLI
-
检索成员账户的策略合规信息
以下
list-compliance-status
示例检索指定策略的成员账户合规信息。aws fms list-compliance-status \ --policy-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
输出:
{ "PolicyComplianceStatusList": [ { "PolicyOwner": "123456789012", "PolicyId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "PolicyName": "test", "MemberAccount": "123456789012", "EvaluationResults": [ { "ComplianceStatus": "COMPLIANT", "ViolatorCount": 0, "EvaluationLimitExceeded": false }, { "ComplianceStatus": "NON_COMPLIANT", "ViolatorCount": 2, "EvaluationLimitExceeded": false } ], "LastUpdated": 1576283774.0, "IssueInfoMap": {} } ] }
有关更多信息,请参阅《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 开发人员指南》中的查看资源的策略合规性。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListComplianceStatus
。
-
以下代码示例演示了如何使用 list-member-accounts
。
- AWS CLI
-
检索组织中的成员账户
以下
list-member-accounts
示例列出 Firewall Manager 管理员的组织中的所有成员账户。aws fms list-member-accounts
输出:
{ "MemberAccounts": [ "222222222222", "333333333333", "444444444444" ] }
有关更多信息,请参阅《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 开发人员指南》中的 AWS Firewall Manager。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListMemberAccounts
。
-
以下代码示例演示了如何使用 list-policies
。
- AWS CLI
-
检索所有 Firewall Manager 策略
以下
list-policies
示例检索账户的策略列表。在此示例中,每个请求的输出限制为两个结果。每次调用都会返回一个NextToken
,它可用作下一次list-policies
调用中--starting-token
参数的值,以获取列表的下一组结果。aws fms list-policies \ --max-items
2
输出:
{ "PolicyList": [ { "PolicyArn": "arn:aws:fms:us-west-2:123456789012:policy/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "PolicyId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "PolicyName": "test", "ResourceType": "AWS::EC2::Instance", "SecurityServiceType": "SECURITY_GROUPS_COMMON", "RemediationEnabled": false }, { "PolicyArn": "arn:aws:fms:us-west-2:123456789012:policy/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "PolicyId": "457c9b21-fc94-406c-ae63-21217395ba72", "PolicyName": "test", "ResourceType": "AWS::EC2::Instance", "SecurityServiceType": "SECURITY_GROUPS_COMMON", "RemediationEnabled": false } ], "NextToken": "eyJOZXh0VG9rZW4iOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAyfQ==" }
有关更多信息,请参阅《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 开发人员指南》中的使用 AWS Firewall Manager 策略。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListPolicies
。
-
以下代码示例演示了如何使用 put-notification-channel
。
- AWS CLI
-
设置 Firewall Manager 日志的 SNS 主题信息
以下
put-notification-channel
示例设置 SNS 主题信息。aws fms put-notification-channel \ --sns-topic-arn
arn:aws:sns:us-west-2:123456789012:us-west-2-fms
\ --sns-role-namearn:aws:iam::123456789012:role/aws-service-role/fms.amazonaws.com/AWSServiceRoleForFMS
此命令不生成任何输出。
有关更多信息,请参阅《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 开发人员指南》中的配置 Amazon SNS 通知和 Amazon CloudWatch 警报。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 PutNotificationChannel
。
-
以下代码示例演示了如何使用 put-policy
。
- AWS CLI
-
创建 Firewall Manager 策略
以下
put-policy
示例创建一个 Firewall Manager 安全组策略。aws fms put-policy \ --cli-input-json
file://policy.json
policy.json
的内容:{ "Policy": { "PolicyName": "test", "SecurityServicePolicyData": { "Type": "SECURITY_GROUPS_USAGE_AUDIT", "ManagedServiceData": "{\"type\":\"SECURITY_GROUPS_USAGE_AUDIT\",\"deleteUnusedSecurityGroups\":false,\"coalesceRedundantSecurityGroups\":true}" }, "ResourceType": "AWS::EC2::SecurityGroup", "ResourceTags": [], "ExcludeResourceTags": false, "RemediationEnabled": false }, "TagList": [ { "Key": "foo", "Value": "foo" } ] }
输出:
{ "Policy": { "PolicyId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "PolicyName": "test", "PolicyUpdateToken": "1:X9QGexP7HASDlsFp+G31Iw==", "SecurityServicePolicyData": { "Type": "SECURITY_GROUPS_USAGE_AUDIT", "ManagedServiceData": "{\"type\":\"SECURITY_GROUPS_USAGE_AUDIT\",\"deleteUnusedSecurityGroups\":false,\"coalesceRedundantSecurityGroups\":true,\"optionalDelayForUnusedInMinutes\":null}" }, "ResourceType": "AWS::EC2::SecurityGroup", "ResourceTags": [], "ExcludeResourceTags": false, "RemediationEnabled": false }, "PolicyArn": "arn:aws:fms:us-west-2:123456789012:policy/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }
有关更多信息,请参阅《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 开发人员指南》中的使用 AWS Firewall Manager 策略。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 PutPolicy
。
-