AWS Security Pillar Flashcards
Four principles of a strong Identity foundation
- implement least privilege
- enforce separation of duties
- centralize identity management
- aim to eliminate long-term static credentails
Design principles which instituting traceability
- monitor, alert and audit changes in real time
- integrate log and metric collection with systems to automatically take action
Define the principle of security in depth
- apply security at all layers, for example: edge of network, VPC (Virtual Private Cloud), load balancing, every instance of compute, OS, application and code
Design practices that facilitate automating security best practices
- create secure architectures that are defined and maintained as code to improve your ability to securely scale
Design principles for protecting data
- classify data into sensitivity levels and use encryption, tokenization, masking and access controls where appropriate
Design Principle: Keep people away from data
- use tools to reduce the need for direct access or manual processing of data
Steps to prepare for security events
- create incident management and investigation processes.
- run response simulations and use tools to automate the detection, investigation and recovery
Five areas of cloud security
- Identity and access management
- Detection
- Infrastructure protection
- Data protection
- Incident response
Workload security best practices
- use a threat model to identify and prioritize risks
- identify control objectives based on risks identified from the threat model
- keep up to date with security threats and recommendations
- evaluate and implement new security services and features
- automate testing of security controls in your CI/CD pipeline.
AWS Accounts
- in AWS accounts are a hard boundary for resources.
- AWS recommends you organize accounts by workload and not your orgs reporting structure
- account level separation is recommended for isolating production from dev and test or isolating different sensitivity levels like PCI or HIPAA
AWS Organizations
- allows centralized management of accounts.
- provides automated AWS account creation and management
- allows you to set controls and configure services across your accounts, for example: enabling AWS CloudTrail across your org for centralized logging
- can group accounts into OUs
Service Control Policy (SCP)
- used to apply permissions guardrails at the org, OU or account level which apply to all AWS Identity and Access Management (IAM) users and; roles
- for example: you can apply an SCP that restricts users from launching resources in cert Regions
- uses the IAM policy language to enable controls that all IAM principles (users and; roles) adhere to
AWS Control Tower
- offers a simplified, automated way to setup and; govern multiple accounts and apply guardrails
- provides a dashboard for visibility
Identity Management: Types
- human identities: admins, devs, operators, and; consumers of your applications
- machine identities: your applications, tools and; components running in AWS and external parties or machines outside of AWS that need access to your AWS environment
Identity Management: Federation
- AWS IAM supports federation with SAML 2.0 based providers for federation with individual accounts
- AWS SSO - allows federation to multiple accounts
AWS SSO
- allows your identity provider to be your source of truth and identities can be synchronized with the System for Cross-domain Identity Management (SCIM) v2.0 protocol
- integrates with AWS Organizations, which allows you to configure an identity manager once and then grant access to existing and; new accounts.
AWS Directory Service
- allows connecting to your SAML 2.0 external identity provider or Microsoft Active Directory
- allows authentication to the AWS Management console, command line or AWS mobile app
Amazon Cognito
- manages end-users or consumers of your workloads
- provides authentication, authorization and; user management for web and; mobile apps
- users can sign in directly or with Amazon, Apple, Facebook or Google accounts
IAM Best Practices
- leverage user groups and attributes
- manage access by assigning permission sets
- enforce min password requirements and; MFA
- use temporary credentials, for example: for workforce identities use AWS SSO, for machine identities use IAM roles instead of IAM users with long term access keys
IAM management access best practices
- for human identities access to the AWS management console, require SSO
- for human identities access to the AWS CLI, enforce CLI v2 that supports AWS SSO, which supports the CLI automatically retrieving the AWS credential on the user’s behalf
- for SDK, users should use use AWS STS (security token service) to assume roles to retrieve temporary credentials
IAM consumer access best practices
- use Amazon Cognito identity pools
- assign a set of temporary, limited privileged credentials
- permissions for each user are controlled through IAM roles
- define rules to choose the role for each user based on claims in the user’s ID token
- define a default role for authenticated users
- define a separate limited IAM role for guests who are not authenticated
IAM roles for Amazon EC2
- attach an IAM role to your EC2 instance to enable applications running on EC2 to use temporary security credentials that AWS creates, distributes and; rotates automatically.
AWS Systems Manager
- provides a more secure method of accessing EC2 instances using keys or passwords by utilizing a pre-installed agent
Permissions best practices
- define guardrails for your organization, separating workloads using accounts and manage accounts using AWS Organizations
- restrict the access to identities in your org by defining SCPs
- if necessary, define exceptions to your guardrails