Firewall Manager 範例使用 AWS CLI - AWS Command Line Interface

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

Firewall Manager 範例使用 AWS CLI

下列程式碼範例示範如何搭配 AWS Command Line Interface Firewall Manager 使用 來執行動作和實作常見案例。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會示範如何呼叫個別服務函數,但您可以在其相關案例中查看內容中的動作。

每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。

主題

動作

下列程式碼範例示範如何使用 associate-admin-account

AWS CLI

設定 Firewall Manager 管理員帳戶

下列associate-admin-account範例會設定 Firewall Manager 的管理員帳戶。

aws fms associate-admin-account \ --admin-account 123456789012

此命令不會產生輸出。

如需詳細資訊,請參閱 中的設定 AWS Firewall Manager 管理員帳戶AWS WAF、 AWS Firewall Manager 和 AWS Shield 進階開發人員指南

下列程式碼範例示範如何使用 delete-notification-channel

AWS CLI

若要移除 Firewall Manager 日誌SNS的主題資訊

下列delete-notification-channel範例會移除SNS主題資訊。

aws fms delete-notification-channel

此命令不會產生輸出。

如需詳細資訊,請參閱 中的設定 Amazon SNS Notifications 和 Amazon CloudWatch AlarmsAWS WAF、 AWS Firewall Manager 和 AWS Shield Advanced Developer Guide

下列程式碼範例示範如何使用 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 Firewall Manager 政策AWS WAF、 AWS Firewall Manager 和 AWS Shield 進階開發人員指南

  • 如需API詳細資訊,請參閱 命令參考 DeletePolicy中的 。 AWS CLI

下列程式碼範例示範如何使用 disassociate-admin-account

AWS CLI

若要移除 Firewall Manager 管理員帳戶

下列disassociate-admin-account範例會從 Firewall Manager 移除目前的管理員帳戶關聯。

aws fms disassociate-admin-account

此命令不會產生輸出。

如需詳細資訊,請參閱 中的設定 AWS Firewall Manager 管理員帳戶AWS WAF、 AWS Firewall Manager 和 AWS Shield 進階開發人員指南

下列程式碼範例示範如何使用 get-admin-account

AWS CLI

擷取 Firewall Manager 管理員帳戶

下列get-admin-account範例會擷取管理員帳戶。

aws fms get-admin-account

輸出:

{ "AdminAccount": "123456789012", "RoleStatus": "READY" }

如需詳細資訊,請參閱 中的 AWS Firewall Manager 先決條件AWS WAF、 AWS Firewall Manager 和 AWS Shield 進階開發人員指南

  • 如需API詳細資訊,請參閱 命令參考 GetAdminAccount中的 。 AWS CLI

下列程式碼範例示範如何使用 get-compliance-detail

AWS CLI

擷取帳戶的合規資訊

下列get-compliance-detail範例會擷取指定政策和成員帳戶的合規資訊。

aws fms get-compliance-detail \ --policy-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --member-account 123456789012

輸出:

{ "PolicyComplianceDetail": { "EvaluationLimitExceeded": false, "IssueInfoMap": {}, "MemberAccount": "123456789012", "PolicyId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "PolicyOwner": "123456789012", "Violators": [] }

如需詳細資訊,請參閱 中的檢視資源合規與政策AWS WAF, AWS Firewall Manager 和 AWS Shield 進階開發人員指南

下列程式碼範例示範如何使用 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" }

如需詳細資訊,請參閱 中的設定 Amazon SNS Notifications 和 Amazon CloudWatch AlarmsAWS WAF、 AWS Firewall Manager 和 AWS Shield Advanced Developer Guide

下列程式碼範例示範如何使用 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 Firewall Manager 政策AWS WAF、 AWS Firewall Manager 和 AWS Shield 進階開發人員指南

  • 如需API詳細資訊,請參閱 命令參考 GetPolicy中的 。 AWS CLI

下列程式碼範例示範如何使用 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 進階開發人員指南

下列程式碼範例示範如何使用 list-member-accounts

AWS CLI

擷取組織中的成員帳戶

下列list-member-accounts範例列出 Firewall Manager 管理員組織中的所有成員帳戶。

aws fms list-member-accounts

輸出:

{ "MemberAccounts": [ "222222222222", "333333333333", "444444444444" ] }

如需詳細資訊,請參閱 中的 AWS Firewall ManagerAWS WAF、 AWS Firewall Manager 和 AWS Shield 進階開發人員指南

下列程式碼範例示範如何使用 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 Firewall Manager 政策AWS WAF、 AWS Firewall Manager 和 AWS Shield 進階開發人員指南

  • 如需API詳細資訊,請參閱 命令參考 ListPolicies中的 。 AWS CLI

下列程式碼範例示範如何使用 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-name arn:aws:iam::123456789012:role/aws-service-role/fms.amazonaws.com/AWSServiceRoleForFMS

此命令不會產生輸出。

如需詳細資訊,請參閱 中的設定 Amazon SNS Notifications 和 Amazon CloudWatch AlarmsAWS WAF、 AWS Firewall Manager 和 AWS Shield Advanced Developer Guide

下列程式碼範例示範如何使用 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 Firewall Manager 政策AWS WAF、 AWS Firewall Manager 和 AWS Shield 進階開發人員指南

  • 如需API詳細資訊,請參閱 命令參考 PutPolicy中的 。 AWS CLI