Firewall Manager 程式範例 AWS CLI - AWS Command Line Interface

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

Firewall Manager 程式範例 AWS CLI

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

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

Scenarios (案例) 是向您展示如何呼叫相同服務中的多個函數來完成特定任務的程式碼範例。

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

主題

動作

下列程式碼範例會示範如何使用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 進階開發人員指南中的設定 AWS Firewall Manager 員管理員帳戶

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

AWS CLI

移除 Firewall Manager 員記錄檔的 SNS 主題資訊

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

aws fms delete-notification-channel

此命令不會產生輸出。

如需詳細資訊,請參AWS WAF、 AWS Firewall Manager 員和防 AWS Shield 進階開發人員指南中的設定 Amazon SNS 通知和 Amazon CloudWatch 警示

下列程式碼範例會示範如何使用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 進階開發人員指南中的使用 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 進階開發人員指南中的設定 AWS Firewall Manager 員管理員帳戶

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

如需詳細資訊,請參AWS WAF、 AWS Firewall Manager 員和防 AWS Shield 進階開發人員指南中的設定 Amazon SNS 通知和 Amazon CloudWatch 警示

下列程式碼範例會示範如何使用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 進階開發人員指南中的使用 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 進階開發人員指南中的政策檢視資源符合性

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

下列程式碼範例會示範如何使用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 進階開發人員指南中的使用 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-name arn:aws:iam::123456789012:role/aws-service-role/fms.amazonaws.com/AWSServiceRoleForFMS

此命令不會產生輸出。

如需詳細資訊,請參AWS WAF、 AWS Firewall Manager 員和防 AWS Shield 進階開發人員指南中的設定 Amazon SNS 通知和 Amazon CloudWatch 警示

下列程式碼範例會示範如何使用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 進階開發人員指南中的使用 AWS Firewall Manager 員原則

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