You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 19, 2025. It is now read-only.
Copy file name to clipboardExpand all lines: README.md
+26-2Lines changed: 26 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ The solution provides a RESTful interface with CRUD APIs for managing rule bundl
19
19
*Request Orchestration*
20
20
21
21
22
-
1. The API gateway provides the primary interface for the customer to interact with this solution, including endpoints to manage the domain entities include Rule/Object/RuleBundle, as well as list Audit info. Please refer to [implementation guide](https://docs.aws.amazon.com/solutions/latest/dynamic-object-and-rule-extensions-for-aws-network-firewall/welcome.html)for information on updating the Data.
22
+
1. The API gateway provides the primary interface for the customer to interact with this solution, including endpoints to manage the domain entities include Rule/Object/RuleBundle, as well as list Audit info. Please refer to implementation guide Appendix C: API schema and sample requests for information on updating the Metadata.
23
23
2. Request is forwarded to the Lambda function which coordinates the handling of the request.
24
24
3.*Optional* - based on configuration value enableOpa. When enableOpa=ture, Lambda triggers ECS-hosted OPA cluster to exercise validation on the request based on context, e.g, is the requester allowed to perform the Create Object action?
25
25
4. Lambda issues request data from DynamoDB to read from or write to domain entity tables
@@ -91,6 +91,21 @@ Upon successfully cloning the repository into your local development environment
91
91
* cli tools zip tar gzip
92
92
93
93
94
+
## Configuration
95
+
| Configuration | Description | Default value| Value type|
| defaultAggregatorName | AWS Config aggregator name used by this solution, when creating a new rule group. If no aggregator is provided, defaultAggregator will be assigned to the rule group | org-replicator | string |
99
+
|ruleResolutionInterval| The interval rules are resolved and applied into Network Firewall |10 mins | integer, min value 5, max value 60|
100
+
| failureNotificationTargetEmails| The email addresses for sending notifications. Once rule resolution failure happens, customer can add their email to the SNS topic manually later on | [] | list of strings
101
+
| apiGatewayType | The type of API gateway |private | edge \| private
102
+
| enableOpa* | (OPA specific configuration) Enable OPA cluster to validate rule and object mutation requests | false | true \| false
103
+
|certificateArn*| (OPA specific configuration) ACM certification for the ALB used when enableOpa is set to true |
104
+
|crossAccountConfigReadOnlyRole**| AWS IAM read-only role in the account in which the AWS config is activated |NULL, target at solution installation account| string
105
+
|crossAccountNetworkFirewallReadWriteRole**| AWS IAM read/write role account in which the AWS network firewall instance is setup| NULL, target at solution installation account | string|
106
+
|objectExtensionSecOpsAdminRole**| Customer specified AWS IAM role in solution account which to be used to access solution API| arn:aws:iam::<solution-account>:role/ObjectExtensionSecOpsAdminRole-<solution-region> | ARN|
107
+
108
+
94
109
## Running Unit Tests
95
110
96
111
The `/source/run-all-tests.sh` script is the centralized script for running all unit, integration, and snapshot tests for both the CDK project as well as any associated Lambda functions or other source code packages.
@@ -103,6 +118,15 @@ chmod +x ./run-unit-tests.sh
103
118
104
119
***
105
120
121
+
## API schema and examples
122
+
### API schema document
123
+
1. generate api doc `cd source; npm run doc:firewall-config-api`
124
+
2. the api document is located in [source/lambda/firewall-config-api/doc/index.html](source/lambda/firewall-config-api/doc/index.html)
125
+
126
+
### API usage example
127
+
see more in [API-Usage-example.md](source/doc/API-Usage-example.md)
128
+
129
+
106
130
## Building and Deploy the solution
107
131
1. Clone the solution source code from its GitHub repository.
108
132
2. Open the terminal and navigate to the folder created in step 1.
@@ -137,7 +161,7 @@ Notice for data retention and audit purpose the following 2 types of resource wi
137
161
138
162
139
163
## Collection of operational metrics
140
-
This solution collects anonymous operational metrics to help AWS improve the quality and features of the solution. For more information, including how to disable this capability, please see the [implementation guide](https://docs.aws.amazon.com/solutions/latest/dynamic-object-and-rule-extensions-for-aws-network-firewall/collection-of-operational-metrics.html).
164
+
This solution collects anonymous operational metrics to help AWS improve the quality and features of the solution. For more information, including how to disable this capability, please see the [implementation guide](deep link into the documentation with specific information about the metrics and how to opt-out).
description: `(${SOLUTION_ID}) - The AWS CDK template for deployment of the Dynamic Object and Rule Extensions for AWS Network Firewall solution, version: (Version ${VERSION})`,
29
-
solutionId: SOLUTION_ID,
30
-
version: VERSION,
28
+
description: `(${SOLUTION_ID}) - The AWS CDK template for deployment of the Dynamic Object and Rule Extensions for AWS Network Firewall solution, version: (Version ${VERSION})`,
You are using Postman version 9.xx.x or higher, and
5
+
You can access the API gateway endpoint from your host (running Postman)
6
+
7
+
8
+
# Load collection to postman
9
+
1. Using Postman, navigate to Import -> Select file and select `NetworkFirewallObjectExtension-API.postman_collection.json` from /source/doc.
10
+
2. Setup environment variables
11
+
To set up the environment variables, from the left hand panel, navigate to Environments -> Create Environment, and add the following variables:
12
+
13
+
| Variable name| Description |
14
+
| ----------- | ----------- |
15
+
| ff-rest-api | API gateway ID for this solution |
16
+
| access_key | AccessKeyId |
17
+
| secret_key | SecretAccessKey |
18
+
| session_token | SessionToken |
19
+
20
+
For example, the default role to access this solution's API gate, assuming it is in ap-southeast-2, is arn:aws:iam::<region>:role/ObjectExtensionSecOpsAdminRole-ap-southeast-2.
21
+
22
+
To return the new credential values, run the following command (assuming your current credentials have the assume-role access).
0 commit comments