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
IAM Access Analyzer
- identifies all access paths to a resource from outside of its account
- continuously reviews resource polices and reports findings of public and cross-account access
Least privilege access
- ensures identities are only permitted to perform the most minimal set of functions necessary to fulfill a specific task
- use policies to explicitly grant permissions attached to IAM or resource entities
Scaling permissions management while adhering to least privilege access
- permissions boundaries: allow setting the maximum permissions an administrator can set. Allows delegating ability to create and manage permissions to developers, but limits the permissions they can grant, preventing them from escalating their privileges.
- Attribute based access control (ABAC): enbles granting permissions based on attributes (tags). Facilities creating re-usable policies. For example: creating an IAM policy that grants developers access to AWS resources that match the developer’s project tags. As the devs add resources with the project tags, they inherit the access to them.
Public and cross account access
- granting cross-account access should be intentional, you can grant direct cross-account access or by allowing an identity to assume an IAM role in another account
- granting public access to a resource should be used sparingly