SlideShare a Scribd company logo
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Configuration Management and
Service Discovery with AWS Lambda
Alex Casalboni
Technical Evangelist
Amazon Web Services
S R V 3 3 8 - R
Ben Kehoe
Cloud Robotics Research Scientist @ iRobot
AWS Serverless Hero
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Agenda
Introduction
Serverless security background
Serverless service mesh at iRobot
Whiteboard discussion
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Chalk Talk repeats
Friday, Nov 28th
9.15 – 10:15 | Mirage
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Related breakouts
Thursday, November 29
Leadership Session: Using DevOps, Microservices, and Serverless
to Accelerate Innovation (SRV325)
12:15 – 1:15 PM | Venetian Theatre (Level 2)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Lambda permission model
Fine-grained security controls for both execution and invocation
Execution policies
Define what AWS resources/API calls can this function access via AWS Identity and Access
Management (IAM)
Used in streaming invocations
For example, “Lambda function A can read from DynamoDB table users”
Function policies
Used for sync and async invocations
For example, “Actions on bucket X can invoke Lambda function Z"
Resource policies allow for cross account access
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Action: “s3:*”
… make puppies cry!Action: “dynamodb:*"
Action: “sns:*“
Photo by Matthew Henry on Unsplash
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Fine-grained IAM policy with AWS SAM
MyFunction:
Type: AWS::Serverless::Function
Properties:
Handler: index.handler
Runtime: python2.7
Policies:
- AWSLambdaExecute # Managed Policy
- Version: '2012-10-17'
Statement:
- Effect: Allow
Action:
- dynamodb:GetItem
Resource: !GetAtt MyDynamoDBTable.Arn
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Hardcoded secrets make fish cry!
Photo by Julieann Ragojo on Unsplash
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Lambda environment variables
Key-value pairs that you can dynamically pass to your function
Available via standard environment variable APIs (based on runtime)
Can optionally be encrypted via AWS Key Management Service (AWS KMS)
Allows you to specify in IAM what roles have access to the keys to decrypt the information
Useful for creating environments per stage (such as dev, test, prod)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Systems Manager―Parameter Store
Centralized store to manage your configuration data
Supports hierarchies
Plaintext or encrypted with AWS KMS
Can send notifications of changes to Amazon Simple Notification Service (Amazon SNS) or Lambda
Can be secured with IAM
Calls recorded in AWS CloudTrail
Can be tagged
Available via API/SDK
Useful for centralized environment variables, secrets control, feature flags
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Parameter Store access via SDK
import json, boto3
ssm = boto3.client('ssm')
def get_parameter():
response = ssm.get_parameter(
Name='LambdaSecureString’,
WithDecryption=True
)
return response['Parameter']['Value']
def lambda_handler(event, context):
value = get_parameter()
print(”value = %s" % value)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Parameter Store access via SDK with ssm_cache
import json, boto3
ssm = boto3.client('ssm')
def get_parameter():
response = ssm.get_parameter(
Name='LambdaSecureString’,
WithDecryption=True
)
return response['Parameter']['Value']
def lambda_handler(event, context):
value = get_parameter()
print(”value = %s" % value)
from ssm_cache import SSMParameter
param = SSMParameter(‘LambdaSecureString’)
def lambda_handler(event, context):
value = param.value
print(”value = %s" % value)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Secrets Manager
Allows you to manage, retrieve, and rotate credentials
Helps you rotate secrets regularly without breaking stuff
Keeps track of different password versions
Implements security controls associated with credential management
Built-in support for Amazon Relational Database Service (Amazon RDS)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Secrets Manager + Parameter Store
Uniform and consistent access to both services
You can reference Secrets Manager secrets with PS APIs
Rotation & Refresh delegated to the client
As simple as using a prefix: /aws/reference/secretsmanager/
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Secrets access via Parameter Store
import json, boto3
ssm = boto3.client('ssm’)
prefix = ‘/aws/reference/secretsmanager’
def get_secret():
response = ssm.get_parameter(
Names=[‘%s/my_secret’ % prefix],
WithDecryption=True
)
return response['Parameter']['Value']
def lambda_handler(event, context):
value = get_secret()
print(”value = %s" % value)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Secrets access via Parameter Store with ssm_cache
import json, boto3
ssm = boto3.client('ssm’)
prefix = ‘/aws/reference/secretsmanager’
def get_secret():
response = ssm.get_parameter(
Names=[‘%s/my_secret’ % prefix],
WithDecryption=True
)
return response['Parameter']['Value']
def lambda_handler(event, context):
value = get_secret()
print(”value = %s" % value)
from ssm_cache import SecretsManagerParameter
secret = SecretsManagerParameter(‘my_secret’)
def lambda_handler(event, context):
value = secret.value
print(”value = %s" % value)
github.com/alexcasalboni/ssm-cache-python
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Parameters & secrets grouping with ssm_cache
from ssm_cache import SSMParameterGroup
group1 = SSMParameterGroup(max_age=300) # 5min cache
param1 = group.parameter('param_1’)
param2 = group.parameter('param_2’)
group2 = SSMParameterGroup(base_path="/Foo") # common prefix
foo_bar = group2.parameter('/Bar') # will fetch /Foo/Bar
baz_params = group2.parameters('/Baz') # will fetch /Foo/Baz/1 and /Foo/Baz/2
secret = group2.secret(‘my_secret’) # will fetch /aws/reference/secretsmanager/my_secret
group1.refresh()
group2.refresh()
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deployment
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deployment: Blue-green or red-black?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Red/black deployments
• An entirely new copy of the
whole system
• Including a new endpoint
• Pay-per-use means this has little cost
• No platform support required
• Clients must use some
mechanism to switch over
• DNS
• HTTP service
• Challenge: obstinate clients
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Blue-green deployments
• Keep the same endpoint, roll
out behind
• Requires platform support
• Does not involve clients
• Challenge: blue-green
deployments of complete
infrastructure graphs, not
just individual components
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Authentication and authorization
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Policy
Resource
Authorization: A role links a principal to a resource
Different directions are possible
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Policy
Resource
Challenges:
• Cross-account
• # of policies attached
Traditional:
Attach policy to principal
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Policy
Resource
Challenges:
• Deployment to add
permission
• Limit on # of callers
Resource policies:
Attached to resource
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Policy
Resource
Challenges:
• Coarse, or
• 1-1 service-group
Group/OU
Resource policies
with AWS Organizations
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Policy
Resource
Challenges:
• Push the problem
to AssumeRole
permissions
Role
Provide a role to assume
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What are our desired characteristics?
Caller defines desired permissions
Service could provide standard polices
Checked against organizational rules
Attached to caller
Assuming cross-account and policy-number-limit concerns don’t matter
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Auto-generated policies
Deriving policies from code can be troublesome
Permissions should help stop malicious code
But you’d derive malicious permissions from malicious code
Need explicit declarations
Then check against code for mismatch
For either too broad or narrow
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Alex Casalboni
@alex_casalboni
Ben Kehoe
@ben11kehoe
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

More Related Content

What's hot

Industrialize Machine Learning Using CI/CD Techniques (FSV304-i) - AWS re:Inv...
Industrialize Machine Learning Using CI/CD Techniques (FSV304-i) - AWS re:Inv...Industrialize Machine Learning Using CI/CD Techniques (FSV304-i) - AWS re:Inv...
Industrialize Machine Learning Using CI/CD Techniques (FSV304-i) - AWS re:Inv...
Amazon Web Services
 
Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...
Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...
Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...
Amazon Web Services
 
[NEW LAUNCH!] Introducing Amazon EC2 A1 Instances Based on the Arm Architectu...
[NEW LAUNCH!] Introducing Amazon EC2 A1 Instances Based on the Arm Architectu...[NEW LAUNCH!] Introducing Amazon EC2 A1 Instances Based on the Arm Architectu...
[NEW LAUNCH!] Introducing Amazon EC2 A1 Instances Based on the Arm Architectu...
Amazon Web Services
 
How to Use Predictive Scaling (API331-R1) - AWS re:Invent 2018
How to Use Predictive Scaling (API331-R1) - AWS re:Invent 2018How to Use Predictive Scaling (API331-R1) - AWS re:Invent 2018
How to Use Predictive Scaling (API331-R1) - AWS re:Invent 2018
Amazon Web Services
 
Building High-Scale Web Apps on Amazon EC2 Fleet (CMP409-R1) - AWS re:Invent ...
Building High-Scale Web Apps on Amazon EC2 Fleet (CMP409-R1) - AWS re:Invent ...Building High-Scale Web Apps on Amazon EC2 Fleet (CMP409-R1) - AWS re:Invent ...
Building High-Scale Web Apps on Amazon EC2 Fleet (CMP409-R1) - AWS re:Invent ...
Amazon Web Services
 
[NEW LAUNCH!] How-to: Amazon RDS on VMware and Hybrid Database Architecture (...
[NEW LAUNCH!] How-to: Amazon RDS on VMware and Hybrid Database Architecture (...[NEW LAUNCH!] How-to: Amazon RDS on VMware and Hybrid Database Architecture (...
[NEW LAUNCH!] How-to: Amazon RDS on VMware and Hybrid Database Architecture (...
Amazon Web Services
 
Drive Customer Value with Data-Driven Decisions (GPSBUS206) - AWS re:Invent 2018
Drive Customer Value with Data-Driven Decisions (GPSBUS206) - AWS re:Invent 2018Drive Customer Value with Data-Driven Decisions (GPSBUS206) - AWS re:Invent 2018
Drive Customer Value with Data-Driven Decisions (GPSBUS206) - AWS re:Invent 2018
Amazon Web Services
 
Building Your Own ML Application with AWS Lambda and Amazon SageMaker (SRV404...
Building Your Own ML Application with AWS Lambda and Amazon SageMaker (SRV404...Building Your Own ML Application with AWS Lambda and Amazon SageMaker (SRV404...
Building Your Own ML Application with AWS Lambda and Amazon SageMaker (SRV404...
Amazon Web Services
 
Update Microcontroller Devices Over-the-Air with Amazon FreeRTOS (IOT304-R1) ...
Update Microcontroller Devices Over-the-Air with Amazon FreeRTOS (IOT304-R1) ...Update Microcontroller Devices Over-the-Air with Amazon FreeRTOS (IOT304-R1) ...
Update Microcontroller Devices Over-the-Air with Amazon FreeRTOS (IOT304-R1) ...
Amazon Web Services
 
Building a Serverless Space Invaders Game on AWS (GPSCT302) - AWS re:Invent 2018
Building a Serverless Space Invaders Game on AWS (GPSCT302) - AWS re:Invent 2018Building a Serverless Space Invaders Game on AWS (GPSCT302) - AWS re:Invent 2018
Building a Serverless Space Invaders Game on AWS (GPSCT302) - AWS re:Invent 2018
Amazon Web Services
 
Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018
Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018
Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018
Amazon Web Services
 
How Verizon is Accelerating Cloud Adoption and Migration with the AWS Service...
How Verizon is Accelerating Cloud Adoption and Migration with the AWS Service...How Verizon is Accelerating Cloud Adoption and Migration with the AWS Service...
How Verizon is Accelerating Cloud Adoption and Migration with the AWS Service...
Amazon Web Services
 
Save up to 90% on Big Data and Machine Learning Workloads with Spot Instances...
Save up to 90% on Big Data and Machine Learning Workloads with Spot Instances...Save up to 90% on Big Data and Machine Learning Workloads with Spot Instances...
Save up to 90% on Big Data and Machine Learning Workloads with Spot Instances...
Amazon Web Services
 
Build Deep Learning Applications Using Apache MXNet - Featuring Chick-fil-A (...
Build Deep Learning Applications Using Apache MXNet - Featuring Chick-fil-A (...Build Deep Learning Applications Using Apache MXNet - Featuring Chick-fil-A (...
Build Deep Learning Applications Using Apache MXNet - Featuring Chick-fil-A (...
Amazon Web Services
 
Manage, Control, and Optimize Your AWS Costs with Native AWS Products (ENT305...
Manage, Control, and Optimize Your AWS Costs with Native AWS Products (ENT305...Manage, Control, and Optimize Your AWS Costs with Native AWS Products (ENT305...
Manage, Control, and Optimize Your AWS Costs with Native AWS Products (ENT305...
Amazon Web Services
 
Broadcasting the World's Largest Sporting Events: AWS Media Services When It ...
Broadcasting the World's Largest Sporting Events: AWS Media Services When It ...Broadcasting the World's Largest Sporting Events: AWS Media Services When It ...
Broadcasting the World's Largest Sporting Events: AWS Media Services When It ...
Amazon Web Services
 
SaaS Jumpstart: A Primer for Launching Your SaaS Journey (ARC210-R2) - AWS re...
SaaS Jumpstart: A Primer for Launching Your SaaS Journey (ARC210-R2) - AWS re...SaaS Jumpstart: A Primer for Launching Your SaaS Journey (ARC210-R2) - AWS re...
SaaS Jumpstart: A Primer for Launching Your SaaS Journey (ARC210-R2) - AWS re...
Amazon Web Services
 
Build and Deploy Robot Applications Easily (ROB302-R) - AWS re:Invent 2018
Build and Deploy Robot Applications Easily  (ROB302-R) - AWS re:Invent 2018Build and Deploy Robot Applications Easily  (ROB302-R) - AWS re:Invent 2018
Build and Deploy Robot Applications Easily (ROB302-R) - AWS re:Invent 2018
Amazon Web Services
 
Build a "Who's Who" App for Your Media Content (AIM409) - AWS re:Invent 2018
Build a "Who's Who" App for Your Media Content (AIM409) - AWS re:Invent 2018Build a "Who's Who" App for Your Media Content (AIM409) - AWS re:Invent 2018
Build a "Who's Who" App for Your Media Content (AIM409) - AWS re:Invent 2018
Amazon Web Services
 
Tailor Your Alexa Skill Responses to Deliver Truly Personal Experiences (ALX3...
Tailor Your Alexa Skill Responses to Deliver Truly Personal Experiences (ALX3...Tailor Your Alexa Skill Responses to Deliver Truly Personal Experiences (ALX3...
Tailor Your Alexa Skill Responses to Deliver Truly Personal Experiences (ALX3...
Amazon Web Services
 

What's hot (20)

Industrialize Machine Learning Using CI/CD Techniques (FSV304-i) - AWS re:Inv...
Industrialize Machine Learning Using CI/CD Techniques (FSV304-i) - AWS re:Inv...Industrialize Machine Learning Using CI/CD Techniques (FSV304-i) - AWS re:Inv...
Industrialize Machine Learning Using CI/CD Techniques (FSV304-i) - AWS re:Inv...
 
Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...
Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...
Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...
 
[NEW LAUNCH!] Introducing Amazon EC2 A1 Instances Based on the Arm Architectu...
[NEW LAUNCH!] Introducing Amazon EC2 A1 Instances Based on the Arm Architectu...[NEW LAUNCH!] Introducing Amazon EC2 A1 Instances Based on the Arm Architectu...
[NEW LAUNCH!] Introducing Amazon EC2 A1 Instances Based on the Arm Architectu...
 
How to Use Predictive Scaling (API331-R1) - AWS re:Invent 2018
How to Use Predictive Scaling (API331-R1) - AWS re:Invent 2018How to Use Predictive Scaling (API331-R1) - AWS re:Invent 2018
How to Use Predictive Scaling (API331-R1) - AWS re:Invent 2018
 
Building High-Scale Web Apps on Amazon EC2 Fleet (CMP409-R1) - AWS re:Invent ...
Building High-Scale Web Apps on Amazon EC2 Fleet (CMP409-R1) - AWS re:Invent ...Building High-Scale Web Apps on Amazon EC2 Fleet (CMP409-R1) - AWS re:Invent ...
Building High-Scale Web Apps on Amazon EC2 Fleet (CMP409-R1) - AWS re:Invent ...
 
[NEW LAUNCH!] How-to: Amazon RDS on VMware and Hybrid Database Architecture (...
[NEW LAUNCH!] How-to: Amazon RDS on VMware and Hybrid Database Architecture (...[NEW LAUNCH!] How-to: Amazon RDS on VMware and Hybrid Database Architecture (...
[NEW LAUNCH!] How-to: Amazon RDS on VMware and Hybrid Database Architecture (...
 
Drive Customer Value with Data-Driven Decisions (GPSBUS206) - AWS re:Invent 2018
Drive Customer Value with Data-Driven Decisions (GPSBUS206) - AWS re:Invent 2018Drive Customer Value with Data-Driven Decisions (GPSBUS206) - AWS re:Invent 2018
Drive Customer Value with Data-Driven Decisions (GPSBUS206) - AWS re:Invent 2018
 
Building Your Own ML Application with AWS Lambda and Amazon SageMaker (SRV404...
Building Your Own ML Application with AWS Lambda and Amazon SageMaker (SRV404...Building Your Own ML Application with AWS Lambda and Amazon SageMaker (SRV404...
Building Your Own ML Application with AWS Lambda and Amazon SageMaker (SRV404...
 
Update Microcontroller Devices Over-the-Air with Amazon FreeRTOS (IOT304-R1) ...
Update Microcontroller Devices Over-the-Air with Amazon FreeRTOS (IOT304-R1) ...Update Microcontroller Devices Over-the-Air with Amazon FreeRTOS (IOT304-R1) ...
Update Microcontroller Devices Over-the-Air with Amazon FreeRTOS (IOT304-R1) ...
 
Building a Serverless Space Invaders Game on AWS (GPSCT302) - AWS re:Invent 2018
Building a Serverless Space Invaders Game on AWS (GPSCT302) - AWS re:Invent 2018Building a Serverless Space Invaders Game on AWS (GPSCT302) - AWS re:Invent 2018
Building a Serverless Space Invaders Game on AWS (GPSCT302) - AWS re:Invent 2018
 
Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018
Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018
Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018
 
How Verizon is Accelerating Cloud Adoption and Migration with the AWS Service...
How Verizon is Accelerating Cloud Adoption and Migration with the AWS Service...How Verizon is Accelerating Cloud Adoption and Migration with the AWS Service...
How Verizon is Accelerating Cloud Adoption and Migration with the AWS Service...
 
Save up to 90% on Big Data and Machine Learning Workloads with Spot Instances...
Save up to 90% on Big Data and Machine Learning Workloads with Spot Instances...Save up to 90% on Big Data and Machine Learning Workloads with Spot Instances...
Save up to 90% on Big Data and Machine Learning Workloads with Spot Instances...
 
Build Deep Learning Applications Using Apache MXNet - Featuring Chick-fil-A (...
Build Deep Learning Applications Using Apache MXNet - Featuring Chick-fil-A (...Build Deep Learning Applications Using Apache MXNet - Featuring Chick-fil-A (...
Build Deep Learning Applications Using Apache MXNet - Featuring Chick-fil-A (...
 
Manage, Control, and Optimize Your AWS Costs with Native AWS Products (ENT305...
Manage, Control, and Optimize Your AWS Costs with Native AWS Products (ENT305...Manage, Control, and Optimize Your AWS Costs with Native AWS Products (ENT305...
Manage, Control, and Optimize Your AWS Costs with Native AWS Products (ENT305...
 
Broadcasting the World's Largest Sporting Events: AWS Media Services When It ...
Broadcasting the World's Largest Sporting Events: AWS Media Services When It ...Broadcasting the World's Largest Sporting Events: AWS Media Services When It ...
Broadcasting the World's Largest Sporting Events: AWS Media Services When It ...
 
SaaS Jumpstart: A Primer for Launching Your SaaS Journey (ARC210-R2) - AWS re...
SaaS Jumpstart: A Primer for Launching Your SaaS Journey (ARC210-R2) - AWS re...SaaS Jumpstart: A Primer for Launching Your SaaS Journey (ARC210-R2) - AWS re...
SaaS Jumpstart: A Primer for Launching Your SaaS Journey (ARC210-R2) - AWS re...
 
Build and Deploy Robot Applications Easily (ROB302-R) - AWS re:Invent 2018
Build and Deploy Robot Applications Easily  (ROB302-R) - AWS re:Invent 2018Build and Deploy Robot Applications Easily  (ROB302-R) - AWS re:Invent 2018
Build and Deploy Robot Applications Easily (ROB302-R) - AWS re:Invent 2018
 
Build a "Who's Who" App for Your Media Content (AIM409) - AWS re:Invent 2018
Build a "Who's Who" App for Your Media Content (AIM409) - AWS re:Invent 2018Build a "Who's Who" App for Your Media Content (AIM409) - AWS re:Invent 2018
Build a "Who's Who" App for Your Media Content (AIM409) - AWS re:Invent 2018
 
Tailor Your Alexa Skill Responses to Deliver Truly Personal Experiences (ALX3...
Tailor Your Alexa Skill Responses to Deliver Truly Personal Experiences (ALX3...Tailor Your Alexa Skill Responses to Deliver Truly Personal Experiences (ALX3...
Tailor Your Alexa Skill Responses to Deliver Truly Personal Experiences (ALX3...
 

Similar to Configuration Management and Service Discovery with AWS Lambda (SRV338-R1) - AWS re:Invent 2018

Red Team vs. Blue Team on AWS ~ re:Invent 2018
Red Team vs. Blue Team on AWS ~ re:Invent 2018Red Team vs. Blue Team on AWS ~ re:Invent 2018
Red Team vs. Blue Team on AWS ~ re:Invent 2018
Teri Radichel
 
Meeting Enterprise Security Requirements with AWS Native Security Services (S...
Meeting Enterprise Security Requirements with AWS Native Security Services (S...Meeting Enterprise Security Requirements with AWS Native Security Services (S...
Meeting Enterprise Security Requirements with AWS Native Security Services (S...
Amazon Web Services
 
Red Team vs. Blue Team on AWS (DVC304) - AWS re:Invent 2018
Red Team vs. Blue Team on AWS (DVC304) - AWS re:Invent 2018Red Team vs. Blue Team on AWS (DVC304) - AWS re:Invent 2018
Red Team vs. Blue Team on AWS (DVC304) - AWS re:Invent 2018
Amazon Web Services
 
How LogMeIn Automates Governance and Empowers Developers at Scale (SEC302) - ...
How LogMeIn Automates Governance and Empowers Developers at Scale (SEC302) - ...How LogMeIn Automates Governance and Empowers Developers at Scale (SEC302) - ...
How LogMeIn Automates Governance and Empowers Developers at Scale (SEC302) - ...
Amazon Web Services
 
Configure Your Cloud to Make It Rain on Threats (SEC335-R1) - AWS re:Invent 2018
Configure Your Cloud to Make It Rain on Threats (SEC335-R1) - AWS re:Invent 2018Configure Your Cloud to Make It Rain on Threats (SEC335-R1) - AWS re:Invent 2018
Configure Your Cloud to Make It Rain on Threats (SEC335-R1) - AWS re:Invent 2018
Amazon Web Services
 
AWS Lambda use cases and best practices - Builders Day Israel
AWS Lambda use cases and best practices - Builders Day IsraelAWS Lambda use cases and best practices - Builders Day Israel
AWS Lambda use cases and best practices - Builders Day Israel
Amazon Web Services
 
Module 3 - AWSome Day Online Conference 2018
Module 3 - AWSome Day Online Conference 2018Module 3 - AWSome Day Online Conference 2018
Module 3 - AWSome Day Online Conference 2018
Amazon Web Services
 
Lock It Down: Configure End-to-End Security & Access Control on Amazon EMR (A...
Lock It Down: Configure End-to-End Security & Access Control on Amazon EMR (A...Lock It Down: Configure End-to-End Security & Access Control on Amazon EMR (A...
Lock It Down: Configure End-to-End Security & Access Control on Amazon EMR (A...
Amazon Web Services
 
Bridgewater's Model-Based Verification of AWS Security Controls
Bridgewater's Model-Based Verification of AWS Security Controls Bridgewater's Model-Based Verification of AWS Security Controls
Bridgewater's Model-Based Verification of AWS Security Controls
Amazon Web Services
 
Easily Transform Compliance to Code using AWS Config, Config Rules, and the R...
Easily Transform Compliance to Code using AWS Config, Config Rules, and the R...Easily Transform Compliance to Code using AWS Config, Config Rules, and the R...
Easily Transform Compliance to Code using AWS Config, Config Rules, and the R...
Amazon Web Services
 
Deep Dive - AWS Security by Design
Deep Dive - AWS Security by DesignDeep Dive - AWS Security by Design
Deep Dive - AWS Security by Design
Amazon Web Services
 
The Theory and Math Behind Data Privacy and Security Assurance (SEC301) - AWS...
The Theory and Math Behind Data Privacy and Security Assurance (SEC301) - AWS...The Theory and Math Behind Data Privacy and Security Assurance (SEC301) - AWS...
The Theory and Math Behind Data Privacy and Security Assurance (SEC301) - AWS...
Amazon Web Services
 
Securing Data in Serverless Applications and Messaging Services (API317-R2) -...
Securing Data in Serverless Applications and Messaging Services (API317-R2) -...Securing Data in Serverless Applications and Messaging Services (API317-R2) -...
Securing Data in Serverless Applications and Messaging Services (API317-R2) -...
Amazon Web Services
 
Practical Guidance for Increasing your Serverless Application's Security
Practical Guidance for Increasing your Serverless Application's SecurityPractical Guidance for Increasing your Serverless Application's Security
Practical Guidance for Increasing your Serverless Application's Security
Chris Munns
 
Easily transform compliance to code using AWS Config, Config Rules, and the R...
Easily transform compliance to code using AWS Config, Config Rules, and the R...Easily transform compliance to code using AWS Config, Config Rules, and the R...
Easily transform compliance to code using AWS Config, Config Rules, and the R...
Amazon Web Services
 
Become an IAM Policy Master in 60 Minutes or Less (SEC316-R1) - AWS reInvent ...
Become an IAM Policy Master in 60 Minutes or Less (SEC316-R1) - AWS reInvent ...Become an IAM Policy Master in 60 Minutes or Less (SEC316-R1) - AWS reInvent ...
Become an IAM Policy Master in 60 Minutes or Less (SEC316-R1) - AWS reInvent ...
Amazon Web Services
 
CloudFormation techniques from the Dutch trenches (DVC07) - AWS re:Invent 2018
CloudFormation techniques from the Dutch trenches (DVC07) - AWS re:Invent 2018CloudFormation techniques from the Dutch trenches (DVC07) - AWS re:Invent 2018
CloudFormation techniques from the Dutch trenches (DVC07) - AWS re:Invent 2018
Martijn van Dongen
 
Threat Detection & Remediation Workshop - Module 2
Threat Detection & Remediation Workshop - Module 2Threat Detection & Remediation Workshop - Module 2
Threat Detection & Remediation Workshop - Module 2
Amazon Web Services
 
Lock it Down: How to Secure your AWS Account and your Organization's Accounts
Lock it Down: How to Secure your AWS Account and your Organization's AccountsLock it Down: How to Secure your AWS Account and your Organization's Accounts
Lock it Down: How to Secure your AWS Account and your Organization's Accounts
Amazon Web Services
 
Crash Course in Security Best Practices, AWS Startup Day Cape Town 2018
Crash Course in Security Best Practices, AWS Startup Day Cape Town 2018Crash Course in Security Best Practices, AWS Startup Day Cape Town 2018
Crash Course in Security Best Practices, AWS Startup Day Cape Town 2018
Amazon Web Services
 

Similar to Configuration Management and Service Discovery with AWS Lambda (SRV338-R1) - AWS re:Invent 2018 (20)

Red Team vs. Blue Team on AWS ~ re:Invent 2018
Red Team vs. Blue Team on AWS ~ re:Invent 2018Red Team vs. Blue Team on AWS ~ re:Invent 2018
Red Team vs. Blue Team on AWS ~ re:Invent 2018
 
Meeting Enterprise Security Requirements with AWS Native Security Services (S...
Meeting Enterprise Security Requirements with AWS Native Security Services (S...Meeting Enterprise Security Requirements with AWS Native Security Services (S...
Meeting Enterprise Security Requirements with AWS Native Security Services (S...
 
Red Team vs. Blue Team on AWS (DVC304) - AWS re:Invent 2018
Red Team vs. Blue Team on AWS (DVC304) - AWS re:Invent 2018Red Team vs. Blue Team on AWS (DVC304) - AWS re:Invent 2018
Red Team vs. Blue Team on AWS (DVC304) - AWS re:Invent 2018
 
How LogMeIn Automates Governance and Empowers Developers at Scale (SEC302) - ...
How LogMeIn Automates Governance and Empowers Developers at Scale (SEC302) - ...How LogMeIn Automates Governance and Empowers Developers at Scale (SEC302) - ...
How LogMeIn Automates Governance and Empowers Developers at Scale (SEC302) - ...
 
Configure Your Cloud to Make It Rain on Threats (SEC335-R1) - AWS re:Invent 2018
Configure Your Cloud to Make It Rain on Threats (SEC335-R1) - AWS re:Invent 2018Configure Your Cloud to Make It Rain on Threats (SEC335-R1) - AWS re:Invent 2018
Configure Your Cloud to Make It Rain on Threats (SEC335-R1) - AWS re:Invent 2018
 
AWS Lambda use cases and best practices - Builders Day Israel
AWS Lambda use cases and best practices - Builders Day IsraelAWS Lambda use cases and best practices - Builders Day Israel
AWS Lambda use cases and best practices - Builders Day Israel
 
Module 3 - AWSome Day Online Conference 2018
Module 3 - AWSome Day Online Conference 2018Module 3 - AWSome Day Online Conference 2018
Module 3 - AWSome Day Online Conference 2018
 
Lock It Down: Configure End-to-End Security & Access Control on Amazon EMR (A...
Lock It Down: Configure End-to-End Security & Access Control on Amazon EMR (A...Lock It Down: Configure End-to-End Security & Access Control on Amazon EMR (A...
Lock It Down: Configure End-to-End Security & Access Control on Amazon EMR (A...
 
Bridgewater's Model-Based Verification of AWS Security Controls
Bridgewater's Model-Based Verification of AWS Security Controls Bridgewater's Model-Based Verification of AWS Security Controls
Bridgewater's Model-Based Verification of AWS Security Controls
 
Easily Transform Compliance to Code using AWS Config, Config Rules, and the R...
Easily Transform Compliance to Code using AWS Config, Config Rules, and the R...Easily Transform Compliance to Code using AWS Config, Config Rules, and the R...
Easily Transform Compliance to Code using AWS Config, Config Rules, and the R...
 
Deep Dive - AWS Security by Design
Deep Dive - AWS Security by DesignDeep Dive - AWS Security by Design
Deep Dive - AWS Security by Design
 
The Theory and Math Behind Data Privacy and Security Assurance (SEC301) - AWS...
The Theory and Math Behind Data Privacy and Security Assurance (SEC301) - AWS...The Theory and Math Behind Data Privacy and Security Assurance (SEC301) - AWS...
The Theory and Math Behind Data Privacy and Security Assurance (SEC301) - AWS...
 
Securing Data in Serverless Applications and Messaging Services (API317-R2) -...
Securing Data in Serverless Applications and Messaging Services (API317-R2) -...Securing Data in Serverless Applications and Messaging Services (API317-R2) -...
Securing Data in Serverless Applications and Messaging Services (API317-R2) -...
 
Practical Guidance for Increasing your Serverless Application's Security
Practical Guidance for Increasing your Serverless Application's SecurityPractical Guidance for Increasing your Serverless Application's Security
Practical Guidance for Increasing your Serverless Application's Security
 
Easily transform compliance to code using AWS Config, Config Rules, and the R...
Easily transform compliance to code using AWS Config, Config Rules, and the R...Easily transform compliance to code using AWS Config, Config Rules, and the R...
Easily transform compliance to code using AWS Config, Config Rules, and the R...
 
Become an IAM Policy Master in 60 Minutes or Less (SEC316-R1) - AWS reInvent ...
Become an IAM Policy Master in 60 Minutes or Less (SEC316-R1) - AWS reInvent ...Become an IAM Policy Master in 60 Minutes or Less (SEC316-R1) - AWS reInvent ...
Become an IAM Policy Master in 60 Minutes or Less (SEC316-R1) - AWS reInvent ...
 
CloudFormation techniques from the Dutch trenches (DVC07) - AWS re:Invent 2018
CloudFormation techniques from the Dutch trenches (DVC07) - AWS re:Invent 2018CloudFormation techniques from the Dutch trenches (DVC07) - AWS re:Invent 2018
CloudFormation techniques from the Dutch trenches (DVC07) - AWS re:Invent 2018
 
Threat Detection & Remediation Workshop - Module 2
Threat Detection & Remediation Workshop - Module 2Threat Detection & Remediation Workshop - Module 2
Threat Detection & Remediation Workshop - Module 2
 
Lock it Down: How to Secure your AWS Account and your Organization's Accounts
Lock it Down: How to Secure your AWS Account and your Organization's AccountsLock it Down: How to Secure your AWS Account and your Organization's Accounts
Lock it Down: How to Secure your AWS Account and your Organization's Accounts
 
Crash Course in Security Best Practices, AWS Startup Day Cape Town 2018
Crash Course in Security Best Practices, AWS Startup Day Cape Town 2018Crash Course in Security Best Practices, AWS Startup Day Cape Town 2018
Crash Course in Security Best Practices, AWS Startup Day Cape Town 2018
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
Amazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
Amazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
Amazon Web Services
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Amazon Web Services
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
Amazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
Amazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Amazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
Amazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Amazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
Amazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Configuration Management and Service Discovery with AWS Lambda (SRV338-R1) - AWS re:Invent 2018

  • 1.
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Configuration Management and Service Discovery with AWS Lambda Alex Casalboni Technical Evangelist Amazon Web Services S R V 3 3 8 - R Ben Kehoe Cloud Robotics Research Scientist @ iRobot AWS Serverless Hero
  • 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Agenda Introduction Serverless security background Serverless service mesh at iRobot Whiteboard discussion
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Chalk Talk repeats Friday, Nov 28th 9.15 – 10:15 | Mirage
  • 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Related breakouts Thursday, November 29 Leadership Session: Using DevOps, Microservices, and Serverless to Accelerate Innovation (SRV325) 12:15 – 1:15 PM | Venetian Theatre (Level 2)
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Lambda permission model Fine-grained security controls for both execution and invocation Execution policies Define what AWS resources/API calls can this function access via AWS Identity and Access Management (IAM) Used in streaming invocations For example, “Lambda function A can read from DynamoDB table users” Function policies Used for sync and async invocations For example, “Actions on bucket X can invoke Lambda function Z" Resource policies allow for cross account access
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Action: “s3:*” … make puppies cry!Action: “dynamodb:*" Action: “sns:*“ Photo by Matthew Henry on Unsplash
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Fine-grained IAM policy with AWS SAM MyFunction: Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: python2.7 Policies: - AWSLambdaExecute # Managed Policy - Version: '2012-10-17' Statement: - Effect: Allow Action: - dynamodb:GetItem Resource: !GetAtt MyDynamoDBTable.Arn
  • 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Hardcoded secrets make fish cry! Photo by Julieann Ragojo on Unsplash
  • 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Lambda environment variables Key-value pairs that you can dynamically pass to your function Available via standard environment variable APIs (based on runtime) Can optionally be encrypted via AWS Key Management Service (AWS KMS) Allows you to specify in IAM what roles have access to the keys to decrypt the information Useful for creating environments per stage (such as dev, test, prod)
  • 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Systems Manager―Parameter Store Centralized store to manage your configuration data Supports hierarchies Plaintext or encrypted with AWS KMS Can send notifications of changes to Amazon Simple Notification Service (Amazon SNS) or Lambda Can be secured with IAM Calls recorded in AWS CloudTrail Can be tagged Available via API/SDK Useful for centralized environment variables, secrets control, feature flags
  • 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Parameter Store access via SDK import json, boto3 ssm = boto3.client('ssm') def get_parameter(): response = ssm.get_parameter( Name='LambdaSecureString’, WithDecryption=True ) return response['Parameter']['Value'] def lambda_handler(event, context): value = get_parameter() print(”value = %s" % value)
  • 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Parameter Store access via SDK with ssm_cache import json, boto3 ssm = boto3.client('ssm') def get_parameter(): response = ssm.get_parameter( Name='LambdaSecureString’, WithDecryption=True ) return response['Parameter']['Value'] def lambda_handler(event, context): value = get_parameter() print(”value = %s" % value) from ssm_cache import SSMParameter param = SSMParameter(‘LambdaSecureString’) def lambda_handler(event, context): value = param.value print(”value = %s" % value)
  • 15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Secrets Manager Allows you to manage, retrieve, and rotate credentials Helps you rotate secrets regularly without breaking stuff Keeps track of different password versions Implements security controls associated with credential management Built-in support for Amazon Relational Database Service (Amazon RDS)
  • 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Secrets Manager + Parameter Store Uniform and consistent access to both services You can reference Secrets Manager secrets with PS APIs Rotation & Refresh delegated to the client As simple as using a prefix: /aws/reference/secretsmanager/
  • 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Secrets access via Parameter Store import json, boto3 ssm = boto3.client('ssm’) prefix = ‘/aws/reference/secretsmanager’ def get_secret(): response = ssm.get_parameter( Names=[‘%s/my_secret’ % prefix], WithDecryption=True ) return response['Parameter']['Value'] def lambda_handler(event, context): value = get_secret() print(”value = %s" % value)
  • 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Secrets access via Parameter Store with ssm_cache import json, boto3 ssm = boto3.client('ssm’) prefix = ‘/aws/reference/secretsmanager’ def get_secret(): response = ssm.get_parameter( Names=[‘%s/my_secret’ % prefix], WithDecryption=True ) return response['Parameter']['Value'] def lambda_handler(event, context): value = get_secret() print(”value = %s" % value) from ssm_cache import SecretsManagerParameter secret = SecretsManagerParameter(‘my_secret’) def lambda_handler(event, context): value = secret.value print(”value = %s" % value) github.com/alexcasalboni/ssm-cache-python
  • 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Parameters & secrets grouping with ssm_cache from ssm_cache import SSMParameterGroup group1 = SSMParameterGroup(max_age=300) # 5min cache param1 = group.parameter('param_1’) param2 = group.parameter('param_2’) group2 = SSMParameterGroup(base_path="/Foo") # common prefix foo_bar = group2.parameter('/Bar') # will fetch /Foo/Bar baz_params = group2.parameters('/Baz') # will fetch /Foo/Baz/1 and /Foo/Baz/2 secret = group2.secret(‘my_secret’) # will fetch /aws/reference/secretsmanager/my_secret group1.refresh() group2.refresh()
  • 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deployment
  • 22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deployment: Blue-green or red-black?
  • 23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Red/black deployments • An entirely new copy of the whole system • Including a new endpoint • Pay-per-use means this has little cost • No platform support required • Clients must use some mechanism to switch over • DNS • HTTP service • Challenge: obstinate clients
  • 24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Blue-green deployments • Keep the same endpoint, roll out behind • Requires platform support • Does not involve clients • Challenge: blue-green deployments of complete infrastructure graphs, not just individual components
  • 25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Authentication and authorization
  • 26. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Policy Resource Authorization: A role links a principal to a resource Different directions are possible
  • 27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Policy Resource Challenges: • Cross-account • # of policies attached Traditional: Attach policy to principal
  • 28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Policy Resource Challenges: • Deployment to add permission • Limit on # of callers Resource policies: Attached to resource
  • 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Policy Resource Challenges: • Coarse, or • 1-1 service-group Group/OU Resource policies with AWS Organizations
  • 30. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Policy Resource Challenges: • Push the problem to AssumeRole permissions Role Provide a role to assume
  • 31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What are our desired characteristics? Caller defines desired permissions Service could provide standard polices Checked against organizational rules Attached to caller Assuming cross-account and policy-number-limit concerns don’t matter
  • 32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Auto-generated policies Deriving policies from code can be troublesome Permissions should help stop malicious code But you’d derive malicious permissions from malicious code Need explicit declarations Then check against code for mismatch For either too broad or narrow
  • 33. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 34. Thank you! © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Alex Casalboni @alex_casalboni Ben Kehoe @ben11kehoe
  • 35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.