SlideShare a Scribd company logo
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Permissions Boundary Workshop
Greg McConnel
Solutions Architect
AWS
S E C 3 0 1
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Letting your teenager drive
• Car keys give a lot of power: drive fast, drive
anywhere, etc
• You can set rules: don’t speed, don’t go beyond 20
mile range, etc
• …but, you can only verify that they followed your
rules (check odometer, see if they got a speeding
ticket, or got into an accident)
Once they have the car keys,
they can drive however they
want
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Letting your teenager drive
• Some car brands have programmable keys so you
can restrict certain parameters
• Ability (permission) in the car is the intersection
between their desire and the settings you
program
Key programming sets
maximum ability of the key
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Letting your developer create roles
• Permission to create users or roles is like giving car
keys to developers. It provides a lot of power
• Developer attaches policies (what they want a role
to be able to do), but you can also require a
permissions boundary (like the programming on the
car key)
• Effective permission of the role is the intersection of
the two
Permissions boundary sets
maximum permissions of the
role they create.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Agenda
Basics
Demo
Mechanism
Resource Restrictions
Hands On
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Controls the maximum permissions that a user or role, created by a
delegated admin, can have
Used to delegate the permission to create users and roles by
preventing privilege escalation or unnecessarily broad permissions
What are permissions boundaries?
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
The challenge…
There is no way to
restrict the
permissions of the
policies she creates
You grant Alice
permission to create
policies and roles
Even if Alice’s permissions
don’t allow actions like
ec2:RunInstances…
she could
create a role
that does
Or she may give a Lambda
function more permissions
than needed
"Effect": "Allow",
"Action": “*”,
"Resource": “*”
Amazon EC2
Amazon EC2
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
…the solution
Require that another policy
(permissions boundary) is
also attached to the role
The effective permission of the
role is the intersection of the
two policies
Go ahead and grant Alice
the permission to create
policies and roles
In this way, you can set the
maximum permission of the
roles Alice creates
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
• Developers that need to create roles for Lambda functions
• Application owners that need to create roles for EC2 instances
• Admins that need to be able to create users for particular situations
• Any others?
Use cases
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
It’s just a condition …
"Condition": {"StringEquals":
{"iam:PermissionsBoundary":
"arn:aws:iam::ACCOUNT_ID:policy/permissionboundary"
}
}
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
…applied to principal actions
"Effect": "Allow",
"Action": ["iam:CreateRole"],
"Resource": ["arn:aws:iam::ACCOUNT_ID:role/path/*"],
"Condition": {"StringEquals":
{"iam:PermissionsBoundary":
"arn:aws:iam::ACCOUNT_ID:policy/permissionboundary"
}
}
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
IAM Delegated Administration – User side
# Step 1: Create role and attach permissions boundary
$ aws iam create-role –role-name Some_Role –path /Some_Path/
–assume-role-policy-document file://Some_Trust_Policy.json
# Step 2: Create identity-based policy
No change
# Step 3: Attach identity-based policy
No change
Create role for a Lambda function
End user experience
–permissions-boundary arn:aws:iam::<ACCOUNT_NUMBER>:policy/Permissions_Boundary
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
IAM Delegated Administration – User sideDemo
• Admin requirements:
• Roles must not allow privilege escalation or grant unneeded permissions
• Don’t get in the way of the developer
• Delegated admin (developer) requirements:
• IAM policy to allow access to an S3 bucket
• IAM role to attach to a Lambda function
• Lambda function that reads from an S3 bucket
Admin Delegated
admin
Lambda function
Lambda function
Role
Policy
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Policy evaluation – Venn diagrams
Effective
permission
Permissions
boundary
Identity-based
policy
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Policy evaluation – the archery analogy
API
Request
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
API request trying to hit the target
API
Request
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Two types of obstacles
Explicit
deny
Explicit
deny
Allow
Everything
else
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Allow example
API
Request
Allow Allow
Request
allowed
Identity-based
policy
Explicit
deny
Permissions
boundary
Request:
s3:GetObject
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Effective permissions – scenario 1
Identity-based policyPermissions boundary
Request: s3:GetObject / bucket name: example1
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream”,
"logs:PutLogEvents”
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
”Action": ["s3:GetObject"],
"Resource”:"arn:aws:s3:::example1/*"
}
}
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
],
"Resource": "*"
}
]
}
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Effective permissions – scenario 1
API
Request
Allow Allow
Identity-based
policy
Explicit
deny
Permissions
boundary
Request:
s3:GetObject
Request
denied
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Effective permissions – scenario 2
Identity-based policyPermissions boundary
Request: s3:GetObject / bucket name: example1
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream”,
"logs:PutLogEvents”
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
"Action": ["s3:GetObject"],
"Resource”:"arn:aws:s3:::example1/*"
}
}
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"s3:*"
],
"Resource": "*"
}
]
}
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Effective permissions – scenario 2
API
Request
Allow Allow
Identity-based
policy
Explicit
deny
Permissions
boundary
Request:
s3:GetObject
Request
allowed
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Resource restrictions
Goal: create a “walled garden” for a team of delegated admins to be able to
do their job without impacting resources of other teams
Paths are preferred but require the CLI
Naming can also be used
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Resource restrictions - paths
Role: arn:aws:iam::123456789012:role/webadmins
Role with a path: arn:aws:iam::123456789012:role/namer/webadmins
Role with paths: arn:aws:iam::123456789012:role/namer/dept1/webadmins
--path /namer/dept1/
Permission:
"Effect": "Allow",
"Action": "iam:DeleteRole”,
"Resource": "arn:aws:iam::123456789012:/namer/dept1/*”
or "Resource": "arn:aws:iam::123456789012:/namer/*”
Command:
aws iam create-role --role-name webadmin --
assume-role-policy-document file://policydoc
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Pathing walled garden
AWS Account
Web Admins
Create policies
and roles:
/namer/dep1/webadmins/*
Webadmins
Role
Policies: /namer/dep1/webadmins/test-policy
Roles: /namer/dep1/webadmins/test-role
App Admins
Create policies
and roles:
/namer/dep1/appadmins/*
Appadmins
Role
Policies: /namer/dep1/appadmins/test-policy
Roles: /namer/dep1/appadmins/test-role
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Resource restrictions - paths
Basic path example:
arn:aws:iam::123456789012:role/webadmins/????
Naming example:
arn:aws:iam::123456789012:role/webadmins*
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
End of presentation questions
• What is the condition context key used for permissions boundaries?
• What are some of the advantages of using pathing for policies, users and
roles?
• What are some permissions boundaries use cases?
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Workshop setup
AWS Account
Web Admins
Lambda function Lambda Role
Shared Resources
Application Admins
Webadmins Role
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Permissions boundaries – workflow reminder
Requirement: users and roles created by
delegated admins must have a
permissions boundary
Ability: can create users and roles
that have permissions boundaries
attached
Admins
(Build phase)
Delegated admins
(Verify phase)
“Bound” IAM
roles
Create delegated admins Create “bound” users & roles Role restricted by
permissions boundaries
Result: Permissions boundary
restrict the permissions of the role
Restricted resources
Permissions for resources
restricted
Permissions of the roles attached to
resources like Lambda functions are
limited by the permissions
boundary
Lambda
Function Role
Permissions
Role
Permissions
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
End of workshop questions
• What is the risk of implementing permissions boundaries without
resource restrictions?
• What do you attach the permissions boundary to?
• How does a permissions boundary differ from an IAM policy?
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Thank you!
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Greg McConnel
Solutions Architect
AWS

More Related Content

What's hot

Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
Amazon Web Services
 
AWS IoT services - Extract value for industrial applications - SVC205 - Santa...
AWS IoT services - Extract value for industrial applications - SVC205 - Santa...AWS IoT services - Extract value for industrial applications - SVC205 - Santa...
AWS IoT services - Extract value for industrial applications - SVC205 - Santa...
Amazon Web Services
 
Building Enterprise Solutions with Blockchain and Ledger Technology - SVC202 ...
Building Enterprise Solutions with Blockchain and Ledger Technology - SVC202 ...Building Enterprise Solutions with Blockchain and Ledger Technology - SVC202 ...
Building Enterprise Solutions with Blockchain and Ledger Technology - SVC202 ...
Amazon Web Services
 
Using automation to drive continuous-compliance best practices - SVC309 - Chi...
Using automation to drive continuous-compliance best practices - SVC309 - Chi...Using automation to drive continuous-compliance best practices - SVC309 - Chi...
Using automation to drive continuous-compliance best practices - SVC309 - Chi...
Amazon Web Services
 
Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...
Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...
Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...
Amazon Web Services
 
Find All the Threats: AWS Threat Detection and Remediation - SEC303 - Anaheim...
Find All the Threats: AWS Threat Detection and Remediation - SEC303 - Anaheim...Find All the Threats: AWS Threat Detection and Remediation - SEC303 - Anaheim...
Find All the Threats: AWS Threat Detection and Remediation - SEC303 - Anaheim...
Amazon Web Services
 
Building with AWS Databases: Match Your Workload to the Right Database | AWS ...
Building with AWS Databases: Match Your Workload to the Right Database | AWS ...Building with AWS Databases: Match Your Workload to the Right Database | AWS ...
Building with AWS Databases: Match Your Workload to the Right Database | AWS ...
AWS Summits
 
The Zen of governance - Establish guardrails and empower builders - SVC201 - ...
The Zen of governance - Establish guardrails and empower builders - SVC201 - ...The Zen of governance - Establish guardrails and empower builders - SVC201 - ...
The Zen of governance - Establish guardrails and empower builders - SVC201 - ...
Amazon Web Services
 
Migration to AWS: The foundation for enterprise transformation - SVC210 - New...
Migration to AWS: The foundation for enterprise transformation - SVC210 - New...Migration to AWS: The foundation for enterprise transformation - SVC210 - New...
Migration to AWS: The foundation for enterprise transformation - SVC210 - New...
Amazon Web Services
 
Control and Monitor Microservices on AWS Using AWS App Mesh - AWS Summit Sydney
Control and Monitor Microservices on AWS Using AWS App Mesh - AWS Summit SydneyControl and Monitor Microservices on AWS Using AWS App Mesh - AWS Summit Sydney
Control and Monitor Microservices on AWS Using AWS App Mesh - AWS Summit Sydney
Amazon Web Services
 
Developing intelligent robots with AWS RoboMaker - SVC207 - Santa Clara AWS S...
Developing intelligent robots with AWS RoboMaker - SVC207 - Santa Clara AWS S...Developing intelligent robots with AWS RoboMaker - SVC207 - Santa Clara AWS S...
Developing intelligent robots with AWS RoboMaker - SVC207 - Santa Clara AWS S...
Amazon Web Services
 
Add intelligence to applications - AIM205 - Santa Clara AWS Summit.pdf
Add intelligence to applications - AIM205 - Santa Clara AWS Summit.pdfAdd intelligence to applications - AIM205 - Santa Clara AWS Summit.pdf
Add intelligence to applications - AIM205 - Santa Clara AWS Summit.pdf
Amazon Web Services
 
Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019
 Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019 Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019
Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019
AWS Summits
 
Creare e gestire Data Lake e Data Warehouses
Creare e gestire Data Lake e Data WarehousesCreare e gestire Data Lake e Data Warehouses
Creare e gestire Data Lake e Data Warehouses
Amazon Web Services
 
Move desktops & applications to AWS with end user computing - SVC301 - New Yo...
Move desktops & applications to AWS with end user computing - SVC301 - New Yo...Move desktops & applications to AWS with end user computing - SVC301 - New Yo...
Move desktops & applications to AWS with end user computing - SVC301 - New Yo...
Amazon Web Services
 
Deep-Dive-with-Cloud-Monitoring-with-Amazon-EKS-and-Prometheus
Deep-Dive-with-Cloud-Monitoring-with-Amazon-EKS-and-PrometheusDeep-Dive-with-Cloud-Monitoring-with-Amazon-EKS-and-Prometheus
Deep-Dive-with-Cloud-Monitoring-with-Amazon-EKS-and-Prometheus
Amazon Web Services
 
Introduzione a blockchain e registri digitali
Introduzione a blockchain e registri digitaliIntroduzione a blockchain e registri digitali
Introduzione a blockchain e registri digitali
Amazon Web Services
 
Amazon EC2 Strategie per l'ottimizzazione dei costi
Amazon EC2 Strategie per l'ottimizzazione dei costiAmazon EC2 Strategie per l'ottimizzazione dei costi
Amazon EC2 Strategie per l'ottimizzazione dei costi
Amazon Web Services
 
Building intelligent applications using AI services
Building intelligent applications using AI servicesBuilding intelligent applications using AI services
Building intelligent applications using AI services
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
Cobus Bernard
 

What's hot (20)

Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
 
AWS IoT services - Extract value for industrial applications - SVC205 - Santa...
AWS IoT services - Extract value for industrial applications - SVC205 - Santa...AWS IoT services - Extract value for industrial applications - SVC205 - Santa...
AWS IoT services - Extract value for industrial applications - SVC205 - Santa...
 
Building Enterprise Solutions with Blockchain and Ledger Technology - SVC202 ...
Building Enterprise Solutions with Blockchain and Ledger Technology - SVC202 ...Building Enterprise Solutions with Blockchain and Ledger Technology - SVC202 ...
Building Enterprise Solutions with Blockchain and Ledger Technology - SVC202 ...
 
Using automation to drive continuous-compliance best practices - SVC309 - Chi...
Using automation to drive continuous-compliance best practices - SVC309 - Chi...Using automation to drive continuous-compliance best practices - SVC309 - Chi...
Using automation to drive continuous-compliance best practices - SVC309 - Chi...
 
Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...
Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...
Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...
 
Find All the Threats: AWS Threat Detection and Remediation - SEC303 - Anaheim...
Find All the Threats: AWS Threat Detection and Remediation - SEC303 - Anaheim...Find All the Threats: AWS Threat Detection and Remediation - SEC303 - Anaheim...
Find All the Threats: AWS Threat Detection and Remediation - SEC303 - Anaheim...
 
Building with AWS Databases: Match Your Workload to the Right Database | AWS ...
Building with AWS Databases: Match Your Workload to the Right Database | AWS ...Building with AWS Databases: Match Your Workload to the Right Database | AWS ...
Building with AWS Databases: Match Your Workload to the Right Database | AWS ...
 
The Zen of governance - Establish guardrails and empower builders - SVC201 - ...
The Zen of governance - Establish guardrails and empower builders - SVC201 - ...The Zen of governance - Establish guardrails and empower builders - SVC201 - ...
The Zen of governance - Establish guardrails and empower builders - SVC201 - ...
 
Migration to AWS: The foundation for enterprise transformation - SVC210 - New...
Migration to AWS: The foundation for enterprise transformation - SVC210 - New...Migration to AWS: The foundation for enterprise transformation - SVC210 - New...
Migration to AWS: The foundation for enterprise transformation - SVC210 - New...
 
Control and Monitor Microservices on AWS Using AWS App Mesh - AWS Summit Sydney
Control and Monitor Microservices on AWS Using AWS App Mesh - AWS Summit SydneyControl and Monitor Microservices on AWS Using AWS App Mesh - AWS Summit Sydney
Control and Monitor Microservices on AWS Using AWS App Mesh - AWS Summit Sydney
 
Developing intelligent robots with AWS RoboMaker - SVC207 - Santa Clara AWS S...
Developing intelligent robots with AWS RoboMaker - SVC207 - Santa Clara AWS S...Developing intelligent robots with AWS RoboMaker - SVC207 - Santa Clara AWS S...
Developing intelligent robots with AWS RoboMaker - SVC207 - Santa Clara AWS S...
 
Add intelligence to applications - AIM205 - Santa Clara AWS Summit.pdf
Add intelligence to applications - AIM205 - Santa Clara AWS Summit.pdfAdd intelligence to applications - AIM205 - Santa Clara AWS Summit.pdf
Add intelligence to applications - AIM205 - Santa Clara AWS Summit.pdf
 
Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019
 Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019 Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019
Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019
 
Creare e gestire Data Lake e Data Warehouses
Creare e gestire Data Lake e Data WarehousesCreare e gestire Data Lake e Data Warehouses
Creare e gestire Data Lake e Data Warehouses
 
Move desktops & applications to AWS with end user computing - SVC301 - New Yo...
Move desktops & applications to AWS with end user computing - SVC301 - New Yo...Move desktops & applications to AWS with end user computing - SVC301 - New Yo...
Move desktops & applications to AWS with end user computing - SVC301 - New Yo...
 
Deep-Dive-with-Cloud-Monitoring-with-Amazon-EKS-and-Prometheus
Deep-Dive-with-Cloud-Monitoring-with-Amazon-EKS-and-PrometheusDeep-Dive-with-Cloud-Monitoring-with-Amazon-EKS-and-Prometheus
Deep-Dive-with-Cloud-Monitoring-with-Amazon-EKS-and-Prometheus
 
Introduzione a blockchain e registri digitali
Introduzione a blockchain e registri digitaliIntroduzione a blockchain e registri digitali
Introduzione a blockchain e registri digitali
 
Amazon EC2 Strategie per l'ottimizzazione dei costi
Amazon EC2 Strategie per l'ottimizzazione dei costiAmazon EC2 Strategie per l'ottimizzazione dei costi
Amazon EC2 Strategie per l'ottimizzazione dei costi
 
Building intelligent applications using AI services
Building intelligent applications using AI servicesBuilding intelligent applications using AI services
Building intelligent applications using AI 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
 

Similar to How to truly delegate within an account with permission boundaries - SEC301 - Atlanta AWS Summit

Permissions boundaries: how to truly delegate permissions on AWS - SDD406-R -...
Permissions boundaries: how to truly delegate permissions on AWS - SDD406-R -...Permissions boundaries: how to truly delegate permissions on AWS - SDD406-R -...
Permissions boundaries: how to truly delegate permissions on AWS - SDD406-R -...
Amazon Web Services
 
AWS Security Deep Dive
AWS Security Deep DiveAWS Security Deep Dive
AWS Security Deep Dive
Amazon Web Services
 
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 -...
Amazon Web Services
 
Mastering Identity at Every Layer of the Cake (SEC401-R1) - AWS re:Invent 2018
Mastering Identity at Every Layer of the Cake (SEC401-R1) - AWS re:Invent 2018Mastering Identity at Every Layer of the Cake (SEC401-R1) - AWS re:Invent 2018
Mastering Identity at Every Layer of the Cake (SEC401-R1) - AWS re:Invent 2018
Amazon Web Services
 
Security framework shakedown_-_chart_your_journey_with_aws_best_practices_ini...
Security framework shakedown_-_chart_your_journey_with_aws_best_practices_ini...Security framework shakedown_-_chart_your_journey_with_aws_best_practices_ini...
Security framework shakedown_-_chart_your_journey_with_aws_best_practices_ini...
Amazon Web Services LATAM
 
Security Framework Shakedown- Mapeie sua jornada com as melhores práticas da AWS
Security Framework Shakedown- Mapeie sua jornada com as melhores práticas da AWSSecurity Framework Shakedown- Mapeie sua jornada com as melhores práticas da AWS
Security Framework Shakedown- Mapeie sua jornada com as melhores práticas da AWS
Amazon Web Services LATAM
 
Enforcing security invariants with AWS Organizations - SDD314 - AWS re:Inforc...
Enforcing security invariants with AWS Organizations - SDD314 - AWS re:Inforc...Enforcing security invariants with AWS Organizations - SDD314 - AWS re:Inforc...
Enforcing security invariants with AWS Organizations - SDD314 - AWS re:Inforc...
Amazon Web Services
 
Websites go Serverless - AWS Summit Berlin
Websites go Serverless - AWS Summit BerlinWebsites go Serverless - AWS Summit Berlin
Websites go Serverless - AWS Summit Berlin
Boaz Ziniman
 
Permission Boundary Round: AWS Security Week at the San Francisco Loft
Permission Boundary Round: AWS Security Week at the San Francisco LoftPermission Boundary Round: AWS Security Week at the San Francisco Loft
Permission Boundary Round: AWS Security Week at the San Francisco Loft
Amazon Web Services
 
London Microservices Meetup: Lessons learnt adopting microservices
London Microservices  Meetup: Lessons learnt adopting microservicesLondon Microservices  Meetup: Lessons learnt adopting microservices
London Microservices Meetup: Lessons learnt adopting microservices
Cobus Bernard
 
Security best practices the well-architected way - SDD318 - AWS re:Inforce 2019
Security best practices the well-architected way - SDD318 - AWS re:Inforce 2019 Security best practices the well-architected way - SDD318 - AWS re:Inforce 2019
Security best practices the well-architected way - SDD318 - AWS re:Inforce 2019
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
 
Creating resiliency through destruction
Creating resiliency through destructionCreating resiliency through destruction
Creating resiliency through destruction
Amazon Web Services
 
Federation & Access Management
Federation & Access ManagementFederation & Access Management
Federation & Access Management
Amazon Web Services
 
Threat detection and mitigation at AWS - SEC201 - Atlanta AWS Summit
Threat detection and mitigation at AWS - SEC201 - Atlanta AWS SummitThreat detection and mitigation at AWS - SEC201 - Atlanta AWS Summit
Threat detection and mitigation at AWS - SEC201 - Atlanta AWS Summit
Amazon Web Services
 
Securing SaaS Applications Built on Serverless Microservices - AWS Summit Sydney
Securing SaaS Applications Built on Serverless Microservices - AWS Summit SydneySecuring SaaS Applications Built on Serverless Microservices - AWS Summit Sydney
Securing SaaS Applications Built on Serverless Microservices - AWS Summit Sydney
Amazon Web Services
 
利用 AWS Step Functions 建構穩健的資料處理流程
利用 AWS Step Functions 建構穩健的資料處理流程利用 AWS Step Functions 建構穩健的資料處理流程
利用 AWS Step Functions 建構穩健的資料處理流程
Amazon Web Services
 
利用 AWS Step Functions 建構穩定的資料處理流程.pdf
利用 AWS Step Functions 建構穩定的資料處理流程.pdf利用 AWS Step Functions 建構穩定的資料處理流程.pdf
利用 AWS Step Functions 建構穩定的資料處理流程.pdf
Amazon Web Services
 
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...
Amazon Web Services
 

Similar to How to truly delegate within an account with permission boundaries - SEC301 - Atlanta AWS Summit (20)

Permissions boundaries: how to truly delegate permissions on AWS - SDD406-R -...
Permissions boundaries: how to truly delegate permissions on AWS - SDD406-R -...Permissions boundaries: how to truly delegate permissions on AWS - SDD406-R -...
Permissions boundaries: how to truly delegate permissions on AWS - SDD406-R -...
 
AWS Security Deep Dive
AWS Security Deep DiveAWS Security Deep Dive
AWS Security Deep Dive
 
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 -...
 
AWS Security Deep Dive
AWS Security Deep DiveAWS Security Deep Dive
AWS Security Deep Dive
 
Mastering Identity at Every Layer of the Cake (SEC401-R1) - AWS re:Invent 2018
Mastering Identity at Every Layer of the Cake (SEC401-R1) - AWS re:Invent 2018Mastering Identity at Every Layer of the Cake (SEC401-R1) - AWS re:Invent 2018
Mastering Identity at Every Layer of the Cake (SEC401-R1) - AWS re:Invent 2018
 
Security framework shakedown_-_chart_your_journey_with_aws_best_practices_ini...
Security framework shakedown_-_chart_your_journey_with_aws_best_practices_ini...Security framework shakedown_-_chart_your_journey_with_aws_best_practices_ini...
Security framework shakedown_-_chart_your_journey_with_aws_best_practices_ini...
 
Security Framework Shakedown- Mapeie sua jornada com as melhores práticas da AWS
Security Framework Shakedown- Mapeie sua jornada com as melhores práticas da AWSSecurity Framework Shakedown- Mapeie sua jornada com as melhores práticas da AWS
Security Framework Shakedown- Mapeie sua jornada com as melhores práticas da AWS
 
Enforcing security invariants with AWS Organizations - SDD314 - AWS re:Inforc...
Enforcing security invariants with AWS Organizations - SDD314 - AWS re:Inforc...Enforcing security invariants with AWS Organizations - SDD314 - AWS re:Inforc...
Enforcing security invariants with AWS Organizations - SDD314 - AWS re:Inforc...
 
Websites go Serverless - AWS Summit Berlin
Websites go Serverless - AWS Summit BerlinWebsites go Serverless - AWS Summit Berlin
Websites go Serverless - AWS Summit Berlin
 
Permission Boundary Round: AWS Security Week at the San Francisco Loft
Permission Boundary Round: AWS Security Week at the San Francisco LoftPermission Boundary Round: AWS Security Week at the San Francisco Loft
Permission Boundary Round: AWS Security Week at the San Francisco Loft
 
London Microservices Meetup: Lessons learnt adopting microservices
London Microservices  Meetup: Lessons learnt adopting microservicesLondon Microservices  Meetup: Lessons learnt adopting microservices
London Microservices Meetup: Lessons learnt adopting microservices
 
Security best practices the well-architected way - SDD318 - AWS re:Inforce 2019
Security best practices the well-architected way - SDD318 - AWS re:Inforce 2019 Security best practices the well-architected way - SDD318 - AWS re:Inforce 2019
Security best practices the well-architected way - SDD318 - AWS re:Inforce 2019
 
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 ...
 
Creating resiliency through destruction
Creating resiliency through destructionCreating resiliency through destruction
Creating resiliency through destruction
 
Federation & Access Management
Federation & Access ManagementFederation & Access Management
Federation & Access Management
 
Threat detection and mitigation at AWS - SEC201 - Atlanta AWS Summit
Threat detection and mitigation at AWS - SEC201 - Atlanta AWS SummitThreat detection and mitigation at AWS - SEC201 - Atlanta AWS Summit
Threat detection and mitigation at AWS - SEC201 - Atlanta AWS Summit
 
Securing SaaS Applications Built on Serverless Microservices - AWS Summit Sydney
Securing SaaS Applications Built on Serverless Microservices - AWS Summit SydneySecuring SaaS Applications Built on Serverless Microservices - AWS Summit Sydney
Securing SaaS Applications Built on Serverless Microservices - AWS Summit Sydney
 
利用 AWS Step Functions 建構穩健的資料處理流程
利用 AWS Step Functions 建構穩健的資料處理流程利用 AWS Step Functions 建構穩健的資料處理流程
利用 AWS Step Functions 建構穩健的資料處理流程
 
利用 AWS Step Functions 建構穩定的資料處理流程.pdf
利用 AWS Step Functions 建構穩定的資料處理流程.pdf利用 AWS Step Functions 建構穩定的資料處理流程.pdf
利用 AWS Step Functions 建構穩定的資料處理流程.pdf
 
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...
 

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 AWSAmazon 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 DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon 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
 

How to truly delegate within an account with permission boundaries - SEC301 - Atlanta AWS Summit

  • 1. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Permissions Boundary Workshop Greg McConnel Solutions Architect AWS S E C 3 0 1
  • 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Letting your teenager drive • Car keys give a lot of power: drive fast, drive anywhere, etc • You can set rules: don’t speed, don’t go beyond 20 mile range, etc • …but, you can only verify that they followed your rules (check odometer, see if they got a speeding ticket, or got into an accident) Once they have the car keys, they can drive however they want
  • 3. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Letting your teenager drive • Some car brands have programmable keys so you can restrict certain parameters • Ability (permission) in the car is the intersection between their desire and the settings you program Key programming sets maximum ability of the key
  • 4. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Letting your developer create roles • Permission to create users or roles is like giving car keys to developers. It provides a lot of power • Developer attaches policies (what they want a role to be able to do), but you can also require a permissions boundary (like the programming on the car key) • Effective permission of the role is the intersection of the two Permissions boundary sets maximum permissions of the role they create.
  • 5. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Agenda Basics Demo Mechanism Resource Restrictions Hands On
  • 6. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 7. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Controls the maximum permissions that a user or role, created by a delegated admin, can have Used to delegate the permission to create users and roles by preventing privilege escalation or unnecessarily broad permissions What are permissions boundaries?
  • 8. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T The challenge… There is no way to restrict the permissions of the policies she creates You grant Alice permission to create policies and roles Even if Alice’s permissions don’t allow actions like ec2:RunInstances… she could create a role that does Or she may give a Lambda function more permissions than needed "Effect": "Allow", "Action": “*”, "Resource": “*” Amazon EC2 Amazon EC2
  • 9. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T …the solution Require that another policy (permissions boundary) is also attached to the role The effective permission of the role is the intersection of the two policies Go ahead and grant Alice the permission to create policies and roles In this way, you can set the maximum permission of the roles Alice creates
  • 10. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T • Developers that need to create roles for Lambda functions • Application owners that need to create roles for EC2 instances • Admins that need to be able to create users for particular situations • Any others? Use cases
  • 11. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T It’s just a condition … "Condition": {"StringEquals": {"iam:PermissionsBoundary": "arn:aws:iam::ACCOUNT_ID:policy/permissionboundary" } }
  • 12. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T …applied to principal actions "Effect": "Allow", "Action": ["iam:CreateRole"], "Resource": ["arn:aws:iam::ACCOUNT_ID:role/path/*"], "Condition": {"StringEquals": {"iam:PermissionsBoundary": "arn:aws:iam::ACCOUNT_ID:policy/permissionboundary" } }
  • 13. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T IAM Delegated Administration – User side # Step 1: Create role and attach permissions boundary $ aws iam create-role –role-name Some_Role –path /Some_Path/ –assume-role-policy-document file://Some_Trust_Policy.json # Step 2: Create identity-based policy No change # Step 3: Attach identity-based policy No change Create role for a Lambda function End user experience –permissions-boundary arn:aws:iam::<ACCOUNT_NUMBER>:policy/Permissions_Boundary
  • 14. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 15. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T IAM Delegated Administration – User sideDemo • Admin requirements: • Roles must not allow privilege escalation or grant unneeded permissions • Don’t get in the way of the developer • Delegated admin (developer) requirements: • IAM policy to allow access to an S3 bucket • IAM role to attach to a Lambda function • Lambda function that reads from an S3 bucket Admin Delegated admin Lambda function Lambda function Role Policy
  • 16. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 17. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Policy evaluation – Venn diagrams Effective permission Permissions boundary Identity-based policy
  • 18. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Policy evaluation – the archery analogy API Request
  • 19. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T API request trying to hit the target API Request
  • 20. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Two types of obstacles Explicit deny Explicit deny Allow Everything else
  • 21. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Allow example API Request Allow Allow Request allowed Identity-based policy Explicit deny Permissions boundary Request: s3:GetObject
  • 22. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Effective permissions – scenario 1 Identity-based policyPermissions boundary Request: s3:GetObject / bucket name: example1 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream”, "logs:PutLogEvents” ], "Resource": "arn:aws:logs:*:*:*" }, { "Effect": "Allow", ”Action": ["s3:GetObject"], "Resource”:"arn:aws:s3:::example1/*" } } { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", ], "Resource": "*" } ] }
  • 23. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Effective permissions – scenario 1 API Request Allow Allow Identity-based policy Explicit deny Permissions boundary Request: s3:GetObject Request denied
  • 24. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Effective permissions – scenario 2 Identity-based policyPermissions boundary Request: s3:GetObject / bucket name: example1 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream”, "logs:PutLogEvents” ], "Resource": "arn:aws:logs:*:*:*" }, { "Effect": "Allow", "Action": ["s3:GetObject"], "Resource”:"arn:aws:s3:::example1/*" } } { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "s3:*" ], "Resource": "*" } ] }
  • 25. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Effective permissions – scenario 2 API Request Allow Allow Identity-based policy Explicit deny Permissions boundary Request: s3:GetObject Request allowed
  • 26. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 27. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Resource restrictions Goal: create a “walled garden” for a team of delegated admins to be able to do their job without impacting resources of other teams Paths are preferred but require the CLI Naming can also be used
  • 28. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Resource restrictions - paths Role: arn:aws:iam::123456789012:role/webadmins Role with a path: arn:aws:iam::123456789012:role/namer/webadmins Role with paths: arn:aws:iam::123456789012:role/namer/dept1/webadmins --path /namer/dept1/ Permission: "Effect": "Allow", "Action": "iam:DeleteRole”, "Resource": "arn:aws:iam::123456789012:/namer/dept1/*” or "Resource": "arn:aws:iam::123456789012:/namer/*” Command: aws iam create-role --role-name webadmin -- assume-role-policy-document file://policydoc
  • 29. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Pathing walled garden AWS Account Web Admins Create policies and roles: /namer/dep1/webadmins/* Webadmins Role Policies: /namer/dep1/webadmins/test-policy Roles: /namer/dep1/webadmins/test-role App Admins Create policies and roles: /namer/dep1/appadmins/* Appadmins Role Policies: /namer/dep1/appadmins/test-policy Roles: /namer/dep1/appadmins/test-role
  • 30. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Resource restrictions - paths Basic path example: arn:aws:iam::123456789012:role/webadmins/???? Naming example: arn:aws:iam::123456789012:role/webadmins*
  • 31. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 32. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T End of presentation questions • What is the condition context key used for permissions boundaries? • What are some of the advantages of using pathing for policies, users and roles? • What are some permissions boundaries use cases?
  • 33. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 34. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Workshop setup AWS Account Web Admins Lambda function Lambda Role Shared Resources Application Admins Webadmins Role
  • 35. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Permissions boundaries – workflow reminder Requirement: users and roles created by delegated admins must have a permissions boundary Ability: can create users and roles that have permissions boundaries attached Admins (Build phase) Delegated admins (Verify phase) “Bound” IAM roles Create delegated admins Create “bound” users & roles Role restricted by permissions boundaries Result: Permissions boundary restrict the permissions of the role Restricted resources Permissions for resources restricted Permissions of the roles attached to resources like Lambda functions are limited by the permissions boundary Lambda Function Role Permissions Role Permissions
  • 36. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 37. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T End of workshop questions • What is the risk of implementing permissions boundaries without resource restrictions? • What do you attach the permissions boundary to? • How does a permissions boundary differ from an IAM policy?
  • 38. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Thank you! S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Greg McConnel Solutions Architect AWS