SlideShare uma empresa Scribd logo
1 de 80
Baixar para ler offline
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Cross-account encryption with AWS
KMS and Slack Enterprise Key
Management
Joe Norman
Partner Solutions Architect
AWS
S D D 3 5 3
Audrei Drummond
Staff Backend Engineer
Slack
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Defense in depth
KMS key
policy
KMS keyRole
IAM policy
Amazon S3
VPC endpoint
VPCe policy
Amazon S3 bucket
Bucket policy
Users Documents
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Encryption in AWS
Audit
Access controls
Encrypting services
Secondary
storage
Client
Corporate data
center
AWS Cloud
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Key Management Service (AWS KMS) custom key
store
Clients
AWS
services
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS KMS keyhierarchy
Two-tiered hierarchy for keys
• Data keys used to encrypt customer data
• Customer master keys (CMKs) protect data keys
• CMK policies control access to data
• All activity associated with CMKs is logged
Benefits
• Envelope encryption avoids managing data keys
• Encrypted data keys stored with encrypted objects
• Well suited to encrypting large data objects
• Enables local key caching for high I/O operations
Customer
master key
S3 bucket Amazon EBS
volume
Amazon
RDS
instance
CMK
Data key Data key Data key
AWS KMS
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Envelope encryption
Example: S3 server-side encryption
Plaintext
data
Encrypt process
Encrypted
data key
3
Data key
Data key
7
Data key
Encrypted
data key
6 Data key
Generate data key request
2
CMK
1
Amazon S3
Encrypt
Encrypted
data and
data key in
S3 bucket
4
Data key
Decrypt process
5
Encrypted
data and
data key in
S3 bucketData key
Decrypt
Amazon S3
Plaintext
data
8
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Key policies
Allow: Grants access
Deny: Revokes access
Which actors get this access
allowed or denied?
API actions allowed or denied
by the policy
Actions are taken against the
CMK this policy is attached to
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "Grant admin access to CMK",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::[myAccount#]:role/KMSAdmin"
]
},
"Action": [
"kms:*",
]
"Resource": "*",
}]
}
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Opening the floodgates
Client
Corporate data
center
AWS Cloud
VPC
Third-Party SaaS
Who controls the keys?
Customer
SaaS provider
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Diving into the SaaS side
AWS Cloud
AWS KMSCustomer
SaaS provider AWS account
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
How can the customer keep more control?
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
How can the customer keep more control?
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
How can the customer keep more control?
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
How can the customer keep more control?
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
How can the customer keep more control?
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
How can the customer keep more control?
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
How can the customer keep more control?
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
How can the customer keep more control?
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Cross-account key policies
Allow: Grants access
Deny: Revokes access
All users in 3rd party AWS
account.
Make data keys to encrypt new
data and decrypt existing data
keys to decrypt previously
encrypted data.
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "Third-party access",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::111111111111:root",
"arn:aws:iam::222222222222:root"
]
},
"Action": [
"kms:Decrypt",
"kms:GenerateDataKey"
]
"Resource": "*",
}]
}
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Key revocation
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "Third-party access",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::111111111111:root",
"arn:aws:iam::222222222222:root"
]
},
"Action": [
"kms:Decrypt",
"kms:GenerateDataKey"
]
"Resource": "*",
},
{
"Sid": "Revoke home folder access",
"Effect": "Deny",
"Principal": {
"AWS": [
"arn:aws:iam::111111111111:root",
"arn:aws:iam::222222222222:root"
]
},
"Action": [
"kms:Decrypt",
"kms:GenerateDataKey"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:EncryptionContext:folder": "home"
}
}
}]}
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Keep an eye on key usage with AWS CloudTrail
"EventName":"DecryptResult", This KMS API action was called…
"EventTime":"2014-08-18T18:13:07Z", …at this time
"RequestParameters":
{"keyId":"2b42x363-1911-4e3a-8321-6b67329024ex"}, …in reference to this key
"EncryptionContext":"volumeid-12345", …with this context
"SourceIPAddress":" 203.0.113.113", …from this IP address
"UserIdentity":
{"arn":"arn:aws:iam:: 111122223333:user/User123"} …by this AWS user in this account
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Some challenges for consideration
• AWS KMS is a regional service
• Multiple regions = multiple CMKs
• Customer must trust that SaaS is deleting plaintext data keys
• Shared responsibility: Customer control over security increased
• Access control, key rotation, auditing
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack is the collaboration hub that moves work forward
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack Enterprise Grid
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
Bring your own keys
Slack EKM integrates with AWS KMS to give our most
security-conscious customers control over their encryption
keys.
Granular key access control
Admins can revoke key access granularly, so teams
experience minimal disruption. Slack keeps working as
usual, and so do they.
Peace of mind for the security-conscious
Helps customers manage the risk of relying on a vendor to
protect sensitive data and the risk of invisible disclosure
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Design objectives
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Design objectives
Maintain all of Slack’s features in their full and unhindered form
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Design objectives
Maintain all of Slack’s features in their full and unhindered form
Inspire a high level of customer trust by:
• Providing a detailed, un-tamperable audit log of key accesses
• Augmenting that with a log generated by Slack
• Restricting employee access to customers’ key material
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Design objectives
Maintain all of Slack’s features in their full and unhindered form
Inspire a high level of customer trust by:
• Providing a detailed, un-tamperable audit log of key accesses
• Augmenting that with a log generated by Slack
• Restricting employee access to customers’ key material
Preserve Slack’s engineers’ ability to deliver features and fixes
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Design objectives
Maintain all of Slack’s features in their full and unhindered form
Inspire a high level of customer trust by:
• Providing a detailed, un-tamperable audit log of key accesses
• Augmenting that with a log generated by Slack
• Restricting employee access to customers’ key material
Preserve Slack’s engineers’ ability to deliver features and fixes
Introduce minimal performance penalties
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM to end users
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM to end users
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM provides ...
Visibility into access to the keys that
can decrypt your messages and files
Control of key access by organization,
workspace, channel, and time
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM high-level design
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM high-level design
• Encrypt every message or file using the customer’s encryption keys
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM high-level design
• Encrypt every message or file using the customer’s encryption keys
• Decrypt every message or file using the same keys
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM high-level design
• Encrypt every message or file using the customer’s encryption keys
• Decrypt every message or file using the same keys
• Use many keys, each covering a small slice of messages or a single file
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM high-level design
• Encrypt every message or file using the customer’s encryption keys
• Decrypt every message or file using the same keys
• Use many keys, each covering a small slice of messages or a single file
• Give customers a log of all accesses to their keys
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM high-level design
• Encrypt every message or file using the customer’s encryption keys
• Decrypt every message or file using the same keys
• Use many keys, each covering a small slice of messages or a single file
• Give customers a log of all accesses to their keys
• Cache data keys for five minutes to preserve performance
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM high-level design
• Encrypt every message or file using the customer’s encryption keys
• Decrypt every message or file using the same keys
• Use many keys, each covering a small slice of messages or a single file
• Give customers a log of all accesses to their keys
• Cache data keys for five minutes to preserve performance
• Enable customers to control access to their keys via policies in AWS KMS
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
High-level design
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
encryption
Log AWS KMS usage and
key scope
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
encryption
Log AWS KMS usage and
key scope
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
encryption
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
encryption
Log AWS KMS usage and
key scope
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
encryption
Log AWS KMS usage and
key scope
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
encryption
Log AWS KMS usage and
key scope
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
encryption
Log AWS KMS usage and
key scope
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
encryption
Log AWS KMS usage and
key scope
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
encryption
Your AWS Account
Log AWS KMS usage and
key scope
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
encryption
Your AWS Account
Enforce Key
Policy
Log AWS KMS usage
and key scope
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
decryption
Your AWS Account
Log AWS KMS usage and
parameters
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
decryption
Your AWS Account
Log AWS KMS usage and
parameters
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
decryption
Your AWS Account
Log AWS KMS usage and
parameters
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
decryption
Your AWS Account
Log AWS KMS usage and
parameters
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
decryption
Your AWS Account
Log AWS KMS usage and
parameters
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
decryption
Your AWS Account
Log AWS KMS usage and
parameters
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
decryption
Your AWS Account
Log AWS KMS usage and
parameters
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
decryption
Your AWS Account
Log AWS KMS usage and
parameters
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
decryption
Your AWS Account
Enforce Key Policy
Log AWS KMS
usage and
parameters
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
decryption
Your AWS Account
Send Logs
Log AWS KMS usage and
parameters
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
EncryptionContext scopes data keys to data
• A message is encrypted with an encryption key that’s scoped to:
• The organization
• The workspace
• The channel
• The hour
• A file is encrypted with an encryption key that’s scoped to:
• The organization
• The file
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Granularly revoke key access
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Example policies: Baseline
{
"Effect": "Allow",
"Principal": {"AWS": "arn:aws:iam::152659312504:root"},
"Action": ["kms:Decrypt", "kms:GenerateDataKey"],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:EncryptionContext:O": "ED14RK2GJ"
}
}
}
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Example policies: Baseline lockdown
{
"Effect": "Deny",
"Principal": {"AWS": "arn:aws:iam::152659312504:root"},
"Action": ["kms:Decrypt", "kms:GenerateDataKey"],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:EncryptionContext:O": "ED14RK2GJ"
}
}
}
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM to end users
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Example policies: Lockdown for a channel
{
"Effect": "Deny",
"Principal": {"AWS": "arn:aws:iam::152659312504:root"},
"Action": ["kms:Decrypt", "kms:GenerateDataKey"],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:EncryptionContext:C": "CD11VKXL3",
"kms:EncryptionContext:O": "ED14RK2GJ"
}
}
}
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Example policies: Lockdown org for a single month
{
"Effect": "Deny",
"Principal": {"AWS": "arn:aws:iam::152659312504:root"},
"Action": ["kms:Decrypt", "kms:GenerateDataKey"],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:EncryptionContext:O": "ED14RK2GJ"
},
"StringLike": {
"kms:EncryptionContext:H": "2019-06-*"
}
}
}
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM to end users
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Example policies: Combining channel and time
{
"Effect": "Deny",
"Principal": {"AWS": "arn:aws:iam::152659312504:root"},
"Action": ["kms:Decrypt", "kms:GenerateDataKey"],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:EncryptionContext:C": "CD11VKXL3",
"kms:EncryptionContext:O": "ED14RK2GJ"
},
"StringLike": {
"kms:EncryptionContext:H": "2019-06-25T06"
}
}
}
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
Decryption
Your AWS Account
Send Logs
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Example logs
{
"eventName": "Decrypt",
"requestParameters": {
"encryptionContext":{
"C": "CD11VKXL3",
"T": "TD2FCEBLN",
"H": "2018-10-24T21",
"O": "ED14RK2GJ"
}
},
// ...
}
{
"Action": "Decrypt",
"KeyScope": {
"C": "CD11VKXL3",
"H": "2018-10-24T21",
"O": "ED14RK2GJ",
"T": "TD2FCEBLN"
},
"Reason": "history"
}
AWS CloudTrail Amazon CloudWatch Logs
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Slack EKM
Most importantly, when you’re enrolled in
EKM, Slack remains Slack
You gain control of and visibility into how your
encryption keys are being used
And AWS KMS makes it fast and highly
available
Thank you!
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Joe Norman
Audrei Drummond

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Fundamentals of AWS Security
Fundamentals of AWS SecurityFundamentals of AWS Security
Fundamentals of AWS Security
 
Govern your Azure environment through Azure Policy
Govern your Azure environment through Azure PolicyGovern your Azure environment through Azure Policy
Govern your Azure environment through Azure Policy
 
Deep dive into AWS IAM
Deep dive into AWS IAMDeep dive into AWS IAM
Deep dive into AWS IAM
 
AWS Security Best Practices
AWS Security Best PracticesAWS Security Best Practices
AWS Security Best Practices
 
Azure Identity and access management
Azure   Identity and access managementAzure   Identity and access management
Azure Identity and access management
 
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
 
Too Many Tools - How AWS Systems Manager Bridges Operational Models
Too Many Tools - How AWS Systems Manager Bridges Operational ModelsToo Many Tools - How AWS Systems Manager Bridges Operational Models
Too Many Tools - How AWS Systems Manager Bridges Operational Models
 
[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트
[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트
[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트
 
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar SeriesImproving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
 
Amazon GuardDuty - Let's Attack My Account! - AWS Online Tech Talks
Amazon GuardDuty - Let's Attack My Account! - AWS Online Tech TalksAmazon GuardDuty - Let's Attack My Account! - AWS Online Tech Talks
Amazon GuardDuty - Let's Attack My Account! - AWS Online Tech Talks
 
Introduction to AWS Security
Introduction to AWS SecurityIntroduction to AWS Security
Introduction to AWS Security
 
Introduction to AWS Organizations
Introduction to AWS OrganizationsIntroduction to AWS Organizations
Introduction to AWS Organizations
 
Introduction to Incident Response on AWS
Introduction to Incident Response on AWSIntroduction to Incident Response on AWS
Introduction to Incident Response on AWS
 
Azure Just in Time Privileged Identity Management
Azure Just in Time Privileged Identity ManagementAzure Just in Time Privileged Identity Management
Azure Just in Time Privileged Identity Management
 
AWS Networking Fundamentals - SVC304 - Anaheim AWS Summit
AWS Networking Fundamentals - SVC304 - Anaheim AWS SummitAWS Networking Fundamentals - SVC304 - Anaheim AWS Summit
AWS Networking Fundamentals - SVC304 - Anaheim AWS Summit
 
Deep Dive on AWS CloudFormation
Deep Dive on AWS CloudFormationDeep Dive on AWS CloudFormation
Deep Dive on AWS CloudFormation
 
AWS 환경에서의 위협 탐지 및 사냥 - 신은수, AWS 솔루션즈 아키텍트:: AWS Summit Online Korea 2020
AWS 환경에서의 위협 탐지 및 사냥 - 신은수, AWS  솔루션즈 아키텍트::  AWS Summit Online Korea 2020AWS 환경에서의 위협 탐지 및 사냥 - 신은수, AWS  솔루션즈 아키텍트::  AWS Summit Online Korea 2020
AWS 환경에서의 위협 탐지 및 사냥 - 신은수, AWS 솔루션즈 아키텍트:: AWS Summit Online Korea 2020
 
AWS Web Application Firewall and AWS Shield - Webinar
AWS Web Application Firewall and AWS Shield - Webinar AWS Web Application Firewall and AWS Shield - Webinar
AWS Web Application Firewall and AWS Shield - Webinar
 
Introduction to Vault
Introduction to VaultIntroduction to Vault
Introduction to Vault
 
Microsoft Azure Security Overview
Microsoft Azure Security OverviewMicrosoft Azure Security Overview
Microsoft Azure Security Overview
 

Semelhante a Cross-account encryption with AWS KMS and Slack Enterprise Key Management - SDD353 - AWS re:Inforce 2019

Semelhante a Cross-account encryption with AWS KMS and Slack Enterprise Key Management - SDD353 - AWS re:Inforce 2019 (20)

Securing enterprise-grade serverless applications - SDD401 - AWS re:Inforce 2...
Securing enterprise-grade serverless applications - SDD401 - AWS re:Inforce 2...Securing enterprise-grade serverless applications - SDD401 - AWS re:Inforce 2...
Securing enterprise-grade serverless applications - SDD401 - AWS re:Inforce 2...
 
How encryption works in AWS: What assurances do you have that unauthorized us...
How encryption works in AWS: What assurances do you have that unauthorized us...How encryption works in AWS: What assurances do you have that unauthorized us...
How encryption works in AWS: What assurances do you have that unauthorized us...
 
The fundamentals of AWS cloud security - FND209-R - AWS re:Inforce 2019
The fundamentals of AWS cloud security - FND209-R - AWS re:Inforce 2019 The fundamentals of AWS cloud security - FND209-R - AWS re:Inforce 2019
The fundamentals of AWS cloud security - FND209-R - AWS re:Inforce 2019
 
Security in Amazon Elasticsearch Service (ANT392) - AWS re:Invent 2018
Security in Amazon Elasticsearch Service (ANT392) - AWS re:Invent 2018Security in Amazon Elasticsearch Service (ANT392) - AWS re:Invent 2018
Security in Amazon Elasticsearch Service (ANT392) - AWS re:Invent 2018
 
Pitt Immersion Day Module 5 - security overview
Pitt Immersion Day Module 5 - security overviewPitt Immersion Day Module 5 - security overview
Pitt Immersion Day Module 5 - security overview
 
Data encryption concepts in AWS - FND302 - AWS re:Inforce 2019
Data encryption concepts in AWS - FND302 - AWS re:Inforce 2019 Data encryption concepts in AWS - FND302 - AWS re:Inforce 2019
Data encryption concepts in AWS - FND302 - AWS re:Inforce 2019
 
AWS Identity Access Management
AWS Identity Access ManagementAWS Identity Access Management
AWS Identity Access Management
 
Identity and Access Management and Directory Services
Identity and Access Management and Directory ServicesIdentity and Access Management and Directory Services
Identity and Access Management and Directory Services
 
AWS Security Deep Dive
AWS Security Deep DiveAWS Security Deep Dive
AWS Security Deep Dive
 
Best practices for choosing identity solutions for applications + workloads -...
Best practices for choosing identity solutions for applications + workloads -...Best practices for choosing identity solutions for applications + workloads -...
Best practices for choosing identity solutions for applications + workloads -...
 
Evolving perimeters with guardrails, not gates: Improving developer agility -...
Evolving perimeters with guardrails, not gates: Improving developer agility -...Evolving perimeters with guardrails, not gates: Improving developer agility -...
Evolving perimeters with guardrails, not gates: Improving developer agility -...
 
Your first compliance-as-code - GRC305-R - AWS re:Inforce 2019
 Your first compliance-as-code - GRC305-R - AWS re:Inforce 2019  Your first compliance-as-code - GRC305-R - AWS re:Inforce 2019
Your first compliance-as-code - GRC305-R - AWS re:Inforce 2019
 
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
 
AWS Security Deep Dive
AWS Security Deep DiveAWS Security Deep Dive
AWS Security Deep Dive
 
AWS Technical Day Riyadh Nov 2019 - The art of mastering data protection on aws
AWS Technical Day Riyadh Nov 2019 - The art of mastering data protection on awsAWS Technical Day Riyadh Nov 2019 - The art of mastering data protection on aws
AWS Technical Day Riyadh Nov 2019 - The art of mastering data protection on aws
 
Getting Started with AWS Security
Getting Started with AWS SecurityGetting Started with AWS Security
Getting Started with AWS Security
 
A security-first approach to delivering end-user computing services - FND327 ...
A security-first approach to delivering end-user computing services - FND327 ...A security-first approach to delivering end-user computing services - FND327 ...
A security-first approach to delivering end-user computing services - FND327 ...
 
Security at the speed of cloud: How to think about it & how you can do it now...
Security at the speed of cloud: How to think about it & how you can do it now...Security at the speed of cloud: How to think about it & how you can do it now...
Security at the speed of cloud: How to think about it & how you can do it now...
 
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) -...
 
Achieving security goals with AWS CloudHSM - SDD333 - AWS re:Inforce 2019
Achieving security goals with AWS CloudHSM - SDD333 - AWS re:Inforce 2019 Achieving security goals with AWS CloudHSM - SDD333 - AWS re:Inforce 2019
Achieving security goals with AWS CloudHSM - SDD333 - AWS re:Inforce 2019
 

Mais de 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
 
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
 

Mais de 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
 

Cross-account encryption with AWS KMS and Slack Enterprise Key Management - SDD353 - AWS re:Inforce 2019

  • 1. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Cross-account encryption with AWS KMS and Slack Enterprise Key Management Joe Norman Partner Solutions Architect AWS S D D 3 5 3 Audrei Drummond Staff Backend Engineer Slack
  • 2. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Defense in depth KMS key policy KMS keyRole IAM policy Amazon S3 VPC endpoint VPCe policy Amazon S3 bucket Bucket policy Users Documents
  • 3. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Encryption in AWS Audit Access controls Encrypting services Secondary storage Client Corporate data center AWS Cloud
  • 4. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Key Management Service (AWS KMS) custom key store Clients AWS services
  • 5. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS KMS keyhierarchy Two-tiered hierarchy for keys • Data keys used to encrypt customer data • Customer master keys (CMKs) protect data keys • CMK policies control access to data • All activity associated with CMKs is logged Benefits • Envelope encryption avoids managing data keys • Encrypted data keys stored with encrypted objects • Well suited to encrypting large data objects • Enables local key caching for high I/O operations Customer master key S3 bucket Amazon EBS volume Amazon RDS instance CMK Data key Data key Data key AWS KMS
  • 6. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Envelope encryption Example: S3 server-side encryption Plaintext data Encrypt process Encrypted data key 3 Data key Data key 7 Data key Encrypted data key 6 Data key Generate data key request 2 CMK 1 Amazon S3 Encrypt Encrypted data and data key in S3 bucket 4 Data key Decrypt process 5 Encrypted data and data key in S3 bucketData key Decrypt Amazon S3 Plaintext data 8
  • 7. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Key policies Allow: Grants access Deny: Revokes access Which actors get this access allowed or denied? API actions allowed or denied by the policy Actions are taken against the CMK this policy is attached to { "Version": "2012-10-17", "Statement": [{ "Sid": "Grant admin access to CMK", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::[myAccount#]:role/KMSAdmin" ] }, "Action": [ "kms:*", ] "Resource": "*", }] }
  • 8. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Opening the floodgates Client Corporate data center AWS Cloud VPC Third-Party SaaS Who controls the keys? Customer SaaS provider
  • 9. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Diving into the SaaS side AWS Cloud AWS KMSCustomer SaaS provider AWS account
  • 10. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. How can the customer keep more control?
  • 11. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. How can the customer keep more control?
  • 12. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. How can the customer keep more control?
  • 13. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. How can the customer keep more control?
  • 14. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. How can the customer keep more control?
  • 15. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. How can the customer keep more control?
  • 16. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. How can the customer keep more control?
  • 17. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. How can the customer keep more control?
  • 18. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Cross-account key policies Allow: Grants access Deny: Revokes access All users in 3rd party AWS account. Make data keys to encrypt new data and decrypt existing data keys to decrypt previously encrypted data. { "Version": "2012-10-17", "Statement": [{ "Sid": "Third-party access", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111111111111:root", "arn:aws:iam::222222222222:root" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ] "Resource": "*", }] }
  • 19. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Key revocation { "Version": "2012-10-17", "Statement": [{ "Sid": "Third-party access", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111111111111:root", "arn:aws:iam::222222222222:root" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ] "Resource": "*", }, { "Sid": "Revoke home folder access", "Effect": "Deny", "Principal": { "AWS": [ "arn:aws:iam::111111111111:root", "arn:aws:iam::222222222222:root" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:folder": "home" } } }]}
  • 20. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Keep an eye on key usage with AWS CloudTrail "EventName":"DecryptResult", This KMS API action was called… "EventTime":"2014-08-18T18:13:07Z", …at this time "RequestParameters": {"keyId":"2b42x363-1911-4e3a-8321-6b67329024ex"}, …in reference to this key "EncryptionContext":"volumeid-12345", …with this context "SourceIPAddress":" 203.0.113.113", …from this IP address "UserIdentity": {"arn":"arn:aws:iam:: 111122223333:user/User123"} …by this AWS user in this account
  • 21. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Some challenges for consideration • AWS KMS is a regional service • Multiple regions = multiple CMKs • Customer must trust that SaaS is deleting plaintext data keys • Shared responsibility: Customer control over security increased • Access control, key rotation, auditing
  • 22. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 23. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 24. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack is the collaboration hub that moves work forward
  • 25. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack Enterprise Grid
  • 26. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 27. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM Bring your own keys Slack EKM integrates with AWS KMS to give our most security-conscious customers control over their encryption keys. Granular key access control Admins can revoke key access granularly, so teams experience minimal disruption. Slack keeps working as usual, and so do they. Peace of mind for the security-conscious Helps customers manage the risk of relying on a vendor to protect sensitive data and the risk of invisible disclosure
  • 28. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Design objectives
  • 29. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Design objectives Maintain all of Slack’s features in their full and unhindered form
  • 30. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Design objectives Maintain all of Slack’s features in their full and unhindered form Inspire a high level of customer trust by: • Providing a detailed, un-tamperable audit log of key accesses • Augmenting that with a log generated by Slack • Restricting employee access to customers’ key material
  • 31. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Design objectives Maintain all of Slack’s features in their full and unhindered form Inspire a high level of customer trust by: • Providing a detailed, un-tamperable audit log of key accesses • Augmenting that with a log generated by Slack • Restricting employee access to customers’ key material Preserve Slack’s engineers’ ability to deliver features and fixes
  • 32. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Design objectives Maintain all of Slack’s features in their full and unhindered form Inspire a high level of customer trust by: • Providing a detailed, un-tamperable audit log of key accesses • Augmenting that with a log generated by Slack • Restricting employee access to customers’ key material Preserve Slack’s engineers’ ability to deliver features and fixes Introduce minimal performance penalties
  • 33. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 34. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM to end users
  • 35. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM to end users
  • 36. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM provides ... Visibility into access to the keys that can decrypt your messages and files Control of key access by organization, workspace, channel, and time
  • 37. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 38. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM high-level design
  • 39. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM high-level design • Encrypt every message or file using the customer’s encryption keys
  • 40. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM high-level design • Encrypt every message or file using the customer’s encryption keys • Decrypt every message or file using the same keys
  • 41. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM high-level design • Encrypt every message or file using the customer’s encryption keys • Decrypt every message or file using the same keys • Use many keys, each covering a small slice of messages or a single file
  • 42. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM high-level design • Encrypt every message or file using the customer’s encryption keys • Decrypt every message or file using the same keys • Use many keys, each covering a small slice of messages or a single file • Give customers a log of all accesses to their keys
  • 43. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM high-level design • Encrypt every message or file using the customer’s encryption keys • Decrypt every message or file using the same keys • Use many keys, each covering a small slice of messages or a single file • Give customers a log of all accesses to their keys • Cache data keys for five minutes to preserve performance
  • 44. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM high-level design • Encrypt every message or file using the customer’s encryption keys • Decrypt every message or file using the same keys • Use many keys, each covering a small slice of messages or a single file • Give customers a log of all accesses to their keys • Cache data keys for five minutes to preserve performance • Enable customers to control access to their keys via policies in AWS KMS
  • 45. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. High-level design
  • 46. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM encryption Log AWS KMS usage and key scope
  • 47. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM encryption Log AWS KMS usage and key scope
  • 48. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM encryption
  • 49. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM encryption Log AWS KMS usage and key scope
  • 50. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM encryption Log AWS KMS usage and key scope
  • 51. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM encryption Log AWS KMS usage and key scope
  • 52. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM encryption Log AWS KMS usage and key scope
  • 53. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM encryption Log AWS KMS usage and key scope
  • 54. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM encryption Your AWS Account Log AWS KMS usage and key scope
  • 55. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM encryption Your AWS Account Enforce Key Policy Log AWS KMS usage and key scope
  • 56. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM decryption Your AWS Account Log AWS KMS usage and parameters
  • 57. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM decryption Your AWS Account Log AWS KMS usage and parameters
  • 58. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM decryption Your AWS Account Log AWS KMS usage and parameters
  • 59. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM decryption Your AWS Account Log AWS KMS usage and parameters
  • 60. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM decryption Your AWS Account Log AWS KMS usage and parameters
  • 61. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM decryption Your AWS Account Log AWS KMS usage and parameters
  • 62. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM decryption Your AWS Account Log AWS KMS usage and parameters
  • 63. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM decryption Your AWS Account Log AWS KMS usage and parameters
  • 64. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM decryption Your AWS Account Enforce Key Policy Log AWS KMS usage and parameters
  • 65. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM decryption Your AWS Account Send Logs Log AWS KMS usage and parameters
  • 66. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 67. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. EncryptionContext scopes data keys to data • A message is encrypted with an encryption key that’s scoped to: • The organization • The workspace • The channel • The hour • A file is encrypted with an encryption key that’s scoped to: • The organization • The file
  • 68. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Granularly revoke key access
  • 69. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Example policies: Baseline { "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::152659312504:root"}, "Action": ["kms:Decrypt", "kms:GenerateDataKey"], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:O": "ED14RK2GJ" } } }
  • 70. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Example policies: Baseline lockdown { "Effect": "Deny", "Principal": {"AWS": "arn:aws:iam::152659312504:root"}, "Action": ["kms:Decrypt", "kms:GenerateDataKey"], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:O": "ED14RK2GJ" } } }
  • 71. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM to end users
  • 72. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Example policies: Lockdown for a channel { "Effect": "Deny", "Principal": {"AWS": "arn:aws:iam::152659312504:root"}, "Action": ["kms:Decrypt", "kms:GenerateDataKey"], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:C": "CD11VKXL3", "kms:EncryptionContext:O": "ED14RK2GJ" } } }
  • 73. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Example policies: Lockdown org for a single month { "Effect": "Deny", "Principal": {"AWS": "arn:aws:iam::152659312504:root"}, "Action": ["kms:Decrypt", "kms:GenerateDataKey"], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:O": "ED14RK2GJ" }, "StringLike": { "kms:EncryptionContext:H": "2019-06-*" } } }
  • 74. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM to end users
  • 75. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Example policies: Combining channel and time { "Effect": "Deny", "Principal": {"AWS": "arn:aws:iam::152659312504:root"}, "Action": ["kms:Decrypt", "kms:GenerateDataKey"], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:C": "CD11VKXL3", "kms:EncryptionContext:O": "ED14RK2GJ" }, "StringLike": { "kms:EncryptionContext:H": "2019-06-25T06" } } }
  • 76. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 77. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM Decryption Your AWS Account Send Logs
  • 78. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Example logs { "eventName": "Decrypt", "requestParameters": { "encryptionContext":{ "C": "CD11VKXL3", "T": "TD2FCEBLN", "H": "2018-10-24T21", "O": "ED14RK2GJ" } }, // ... } { "Action": "Decrypt", "KeyScope": { "C": "CD11VKXL3", "H": "2018-10-24T21", "O": "ED14RK2GJ", "T": "TD2FCEBLN" }, "Reason": "history" } AWS CloudTrail Amazon CloudWatch Logs
  • 79. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Slack EKM Most importantly, when you’re enrolled in EKM, Slack remains Slack You gain control of and visibility into how your encryption keys are being used And AWS KMS makes it fast and highly available
  • 80. Thank you! © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Joe Norman Audrei Drummond