A company is reviewing the security posture of an internal corporate portal hosted on Amazon EC2 instances in a private subnet. The portal is currently accessed by employees on-premises via an AWS Direct Connect connection and an internal Application Load Balancer (ALB). The business now requires that external strategic partners also access the portal securely over the public internet. These partners authenticate using a third-party SAML 2.0 Identity Provider (IdP). The company must protect the portal against web-based attacks, block malicious traffic at the edge, and enforce SAML-based authentication for external partners, while maintaining direct internal access for employees without sending employee traffic over the internet. Which two actions should the solutions architect take to meet these requirements?
- Create an internet-facing ALB in the public subnets. Configure an HTTPS listener on the internet-facing ALB with an authentication action using Amazon Cognito. Configure an Amazon Cognito user pool federated with the partner's SAML 2.0 IdP to authenticate external users before forwarding requests to the target group.Answer
- Associate an AWS WAF WebACL containing custom rules and AWS Managed Rules with the internet-facing ALB. Configure the WebACL rule priority to evaluate specific block and rate-limiting rules first, followed by general allow rules.Answer
- CAssociate an AWS WAF WebACL with the internet-facing ALB. Configure the WebACL rule priorities such that general IP-based allow rules are evaluated first to speed up processing of legitimate traffic, followed by specific SQL injection and cross-site scripting (XSS) inspection rules.
- DConfigure an IAM role for partner access with a trust relationship that specifies the SAML IdP as the principal, using the sts:AssumeRole action in the trust policy to allow partner users to federate directly and access the internal application servers.
- EConfigure the Amazon Cognito user pool to encrypt partner profile data using the AWS-managed KMS key for Cognito Identity Pools, and update the policy of this AWS-managed key to grant the partner's external AWS account access to decrypt the data.