AWS SA(03): Design Security Strategy
In last episode, we have make all the components in the system connected with each other, the next step we need to make sure the resources are accessed securely. In this episode, we gonna talk about the security strategy.
when talking about security in AWS, The shared responsibility model are always mentioned:
AWS provides a comprehensive suite of security mechanisms designed to protect infrastructure, data, and applications. As a solution architect, we need to understand them and know how to use them cover the customer parts.
Identity
In the multi-account strategy episode, we have talked about the organisation, OU and account. also about apply SCP at the OU/Account level to limit permission. Inside each account, AWS provide IAM to group and manage identity. An IAM identity represents a human user or programmatic workload that can be authenticated and then authorized to perform actions in AWS accounts.
account root user
When you first create an Amazon Web Services (AWS) account, the email address and password you provide are the credentials for your root user, which
users
An IAM user is an entity that you create in your AWS account. The IAM user represents the human user or workload who uses the IAM user to interact with AWS resources. An IAM user consists of a name and credentials.
user group
a collection of IAM users.
role
an IAM identity that you can create in your account that has specific permissions
identity providers and federation
manage your user identities outside of AWS and give these external user identities permissions to use AWS resources in your account. eg: Microsoft AD etc
Temporary Security Credentials
use AWS Security Token Service (AWS STS) to create and provide trusted users with temporary security credentials that can control access to your AWS resources
Common scenarios:
Access Management
Identity just give you an unique principal let system know who you are, what you can do (permissions) are defined in the attached policy.
Policy
A policy is an object in AWS(mostly a json document), associated with an identity or resource, defines their permissions. AWS evaluates these policies when an IAM principal (user or role) makes a request. Permissions in the policies determine whether the request is allowed or denied. There are different kinds of policies AWS support:
Organizations SCPs
define the maximum permissions for IAM users and IAM roles within accounts in your organization or organizational unit (OU)
Organizations RCPs
define the maximum permissions for resources within accounts in your organization or organizational unit (OU)
Permission Boundary
Using a managed policy to set the maximum permissions that an identity-based policy can grant to an IAM entity
Identity-based Policies
grant permissions to an identity (user group, user or role)
Resource-based Policies
Attach inline policies to resources, grant permissions to the principal that is specified in the policy
Access control lists
control which principals in other accounts can access the resource to which the ACL is attached. similiar to resource based policy
Policy Evaluation
security features in VPC
security features in S3
Data Security
With the above access control, we can make sure the resources are accessed by the correct principal. Another part for security is keep data safe. For Data security, there are 2 parts need to consider:
encrypt Data at rest
For data encyption at rest, we have 2 options: server-side encryption and client-side encryption:
Both of them can use AWS KMS to mange the encrytion key, and through the access policy in KMS to control who can decrypt the data. AWS KMS has 3 kinds of keys:
KMS doesn't support annonymous requests, so public access S3 object can't use it for encryption. KMS support multi region keys. it's a primary-replica logic not a global one. process for encrypt and decrypt:
领英推荐
CloudHSM
encrypt Data in tansit
To protect data in transit, AWS encourages customers to leverage a multi-level approach.
Infra Security
As AWS is responsible for physical security of the underlying infrastructure (data centers). we just need to secure the OS (AMI), image, software we used in the system.
Patch and update the operating system (OS) and installed software
using AWS Systems Manager Patch Manager, a tool designed to automate the process of patching operating systems and applications on your managed instances (EC2, on-premises, or hybrid environments)
using AWS Systems Manager (SSM) to simplify and automate operational tasks across your AWS resources and hybrid environments:
Secure container images
AWS provide a secure repository(ECR) to store container images.
Tools
Application and Network Security
AWS Firewall Manager
WAF(Web Application Firewall)
AWS Shield
Threat Detection & Monitoring
AWS CloudTrail
Amazon CloudWatch:
AWS X-Ray
Collects data about application requests, including calls to AWS resources, databases, and HTTP Web APIs. X-Ray uses this data to generate a trace map that shows how requests are processed and persisted.
Amazon GuardDuty
monitors for malicious activity and unauthorized behavior. It uses machine learning, anomaly detection, and threat intelligence to identify and prioritize potential threats.
Amazon Detective:
investigate potential security issues across AWS accounts and workloads
Access Monitoring
IAM Access Analyzer
Amazon Macie:
Vulnerability Management
AWS Inspector:
Amazon ECR Image Scanning:
Compliance Reporting
AWS Config:
AWS Audit Manager:
Integration Dashboard
AWS Security Hub:
Conclusion
Based on all the information, after we created the organization structure and designed the network topology. the steps to apply security strategy will be:
Solutions Architect ? Apptrepreneur ? Investor
2 个月Very informative Xianning Liu, thanks for sharing!!