Firewall Manager examples using AWS CLI - AWS Command Line Interface

Firewall Manager examples using AWS CLI

次のコード例は、Firewall Manager で AWS Command Line Interface を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。

トピック

アクション

次のコード例は、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-account 123456789012

出力:

{ "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 の例では、アカウントのポリシーのリストを取得します。この例では、出力はリクエストごとに 2 つの結果に制限されています。各呼び出しは、リストの次の結果セットを取得するために、次の list-policies 呼び出しで --starting-token パラメータの値として使用できる NextToken を返します。

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 Command Reference」の「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 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」を参照してください。