Security
When you build systems on AWS infrastructure, security
responsibilities are shared between you and AWS. This
shared
responsibility model
IAM roles
AWS Identity and Access Management (IAM)
Amazon S3 bucket configuration and policy
By default, all Amazon S3 buckets for the solution have the following configuration:
-
Blocked all public access
-
Versioning enabled
-
Access log enabled
-
Encryption at rest by an AWS KMS customer managed key
Additionally, the Amazon S3 buckets are also configured with a default buckets policy that deny all non-HTTPS requests to ensure data in transit encryption.
AWS Key Management Service (AWS KMS) keys
The Application Pattern Orchestrator on AWS solution allows you
to provide your own
AWS KMS
Amazon CloudFront
This solution deploys a web application hosted in an Amazon S3 bucket. To help reduce latency and improve security, this solution includes an Amazon CloudFront distribution with an Origin Access Identity (OAI), which is a CloudFront user that provides public access to the solution’s website bucket contents. For more information, refer to Restricting access to an Amazon S3 origin section in the Amazon CloudFront Developer Guide.
Network configuration
The Application Pattern Orchestrator on AWS solution is deployed in Amazon VPC, with the Lambda functions in a private subnet. All traffic in and out of the isolated subnet is controlled by security groups.
User authorization
By default, the solution creates two user groups in the Amazon Cognito user pool for user authorization:
-
SYSTEM_ADMIN
: This user group has permissions to access all pages in the web UI. By default, any user created by the solution is automatically added to this group when the solution is deployed. -
PATTERN_PUBLISHER
: This group has permissions to create, update, and view patterns. The group also allows you to view pattern attributes.
Note
To update or delete pattern attributes, you must be in the SYSTEM_ADMIN
group.
Federating solution user groups through an Identity provider (IdP)
You can federate the solution user groups using a third-party identity provider via OpenID Connect (OIDC). To configure this:
-
Deploy the solution using AWS CDK by following the instructions in the solution README
. -
In your IdP settings, add a claim type group and map the roles that will relate to the
SYSTEM_ADMIN
andPATTERN_PUBLISHER
roles in Amazon Cognito user pool. In absence of this mapping, a federated user would only have read-only access to the solution web UI.
Data protection
All data committed to Application Pattern Orchestrator on AWS is encrypted at rest; this includes data stored in:
-
Amazon S3
-
Amazon DynamoDB
-
AWS CodeArtifact
-
Service Catalog
-
Amazon SQS
Communication between the solution’s different components is over HTTPS to ensure data encryption in transit.