aws iam: mejores prácticas - 2016 aws summit buenos aires

82
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Mauricio Muñoz Enterprise Solutions Architect Abril de 2016 AWS IAM – Mejores prácticas

Upload: amazon-web-services-latam

Post on 20-Jan-2017

490 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Mauricio MuñozEnterprise Solutions Architect

Abril de 2016

AWS IAM – Mejores prácticas

Page 2: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿Qué veremos hoy?

• Definiciones• Mejores prácticas• Dilemas• Demostraciones

Page 3: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Definiciones

Page 4: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿Por qué AWS Identity and Access Management (IAM)?

Para que usted pueda controlar quién puede hacer qué en su cuenta AWS.

Page 5: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿Por qué AWS Identity and Access Management (IAM)?

Para que usted pueda controlar quién puede hacer qué en su cuenta AWS.

Primitivas:- Usuarios, Grupos, Recursos, Acciones- Políticas, Roles

Page 6: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿Por qué AWS Identity and Access Management (IAM)?

Para que usted pueda controlar quién puede hacer qué en su cuenta AWS.

Primitivas:- Usuarios, Grupos, Recursos, Acciones- Políticas, Roles

Control:- Centralizado- Granular (APIs), Recursos, Acceso a AWS Management Console

Page 7: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿Por qué AWS Identity and Access Management (IAM)?

Para que usted pueda controlar quién puede hacer qué en su cuenta AWS.

Primitivas:- Usuarios, Grupos, Recursos, Acciones- Políticas, Roles

Control:- Centralizado- Granular (APIs), Recursos, Acceso a AWS Management Console

Seguridad:- Negación por defecto- Múltiples usuarios: Credenciales y permisos individuales

Page 8: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Mejores Prácticas

Page 9: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Mejores Prácticas• Gestión de usuarios y permisos• Gestión de credenciales• Delegación

Page 10: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Gestión de usuarios y permisos

0. Crear usuarios individuales. Ventajas• Credenciales únicas• Fácil rotación• Permisos individuales• Visibility into your user activity by recording AWS API calls to an

Amazon S3 bucket

Page 11: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Gestión de usuarios y permisos

0. Crear usuarios individuales.1. Menor privilegio (LP and NtK).

Ventajas- Menor probabilidad de error

humano- Abordaje restrictivo ->

permisivo- Control más granular• Visibility into your user activity by

recording AWS calls to an Amazon

Page 12: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Gestión de usuarios y permisos

0. Crear usuarios individuales.1. Menor privilegio (LP and NtK).2. Usar grupos para administrar privilegios.

Ventajas- Asignar los mismos permisos

a varios usuarios- Fácil reasignación de

permisos- Centralización de cambios

para múltiples usuarios

Page 13: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Gestión de usuarios y permisos

0. Crear usuarios individuales.1. Menor privilegio (LP and NtK).2. Usar grupos para administrar privilegios.3. Usar ”Condiciones” para restricciones

adicionales.

Ventajas- Granularidad adicional- Disponible para cualquier

API AWS- Reduce la posibilidad de

ejecutar accidentalmente acciones privilegiadas

Page 14: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Gestión de usuarios y permisos

0. Crear usuarios individuales.1. Menor privilegio (LP and NtK).2. Usar grupos para administrar privilegios.3. Usar ”Condiciones” para restricciones

adicionales.4. Habilitar AWS CloudTrail.

Ventajas- Visibilidad de las actividades- Auditoria

Page 15: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Gestión de Credenciales

5. Definir una política fuerte de contraseñas. Ventajas- Dificulta la explotación de

cuentas

Page 16: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Gestión de Credenciales

5. Definir una política fuerte de contraseñas. 6. Rotar regularmente las credenciales

Ventajas- Dificulta la explotación de

cuentas- Contiene el impacto de

credenciales explotadas

Page 17: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Gestión de Credenciales

5. Definir una política fuerte de contraseñas. 6. Rotar regularmente las credenciales7. Configurar MFA.

Ventajas- Autenticación fuerte- Protección adicional para

acciones privilegiadas

Page 18: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Delegación

8. Usar roles IAM para acceso compartido.Ventajas- No compartir credenciales- No almacenar credenciales

de largo plazo- Varios casos de uso:

- Acceso cross-account- Delegación intra-account- Federación

Page 19: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Delegación

8. Usar roles IAM para acceso compartido.9. Usar roles IAM para instancias EC2.

Ventajas- Fácil manejo de credenciales

en instancias - Rotación automática- “Least privilege” a nivel de

aplicación- Integrado con SDKs y CLI

Page 20: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Delegación

8. Usar roles IAM para acceso compartido.9. Usar roles IAM para instancias EC2.10. Elimine (o reduzca) el uso de root.

Ventajas- Reduce la probabilidad de

mala utilización de la cuenta- Reduce la probabilidad de

explotación

Page 21: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Top 11 IAM best practices

0. Usuarios – Cree usuarios individuales.1. Permisos – “Least Privilege”.2. Grupos – Administre permisos con grupos.3. Condiciones – Restrinja acceso privilegiado con condiciones.4. Auditoria – Habilite AWS CloudTrail para registrar las llamadas. 5. Contraseñas – Configure una política fuerte. 6. Rotación – Rote regularmente las credenciales de seguridad.7. MFA – Habilite MFA para usuarios privilegiados.8. Accesso compartido– Use roles IAM para compartir accesos.9. Roles – Use roles IAM para instancias Amazon EC2.10. Root – Elimine (o reduzca) el uso de root.

Page 22: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Dilemas(O, ¿Cuándo debo usar <xyz>?

Page 23: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Usuario IAM Usuario Federado

¿ Usuario IAM ó Usuario Federado ?

Page 24: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿ Usuario IAM ó Usuario Federado ?

• Depende del lugar donde está el repositorio de autenticación– On-premises → Usuarios federados (roles IAM)– Cuenta AWS → Usuarios IAM

Page 25: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿ Usuario IAM ó Usuario Federado ?

• Depende del lugar donde está el repositorio de autenticación– On-premises → Usuarios federados (roles IAM)– Cuenta AWS → Usuarios IAM

• Otros casos de uso:– Delegar acceso a su cuenta → Usuarios federados (roles IAM) – Acceso de aplicación móvil → SIEMPRE usuarios federados

Page 26: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿ Usuario IAM ó Usuario Federado ?

• Depende del lugar donde está el repositorio de autenticación– On-premises → Usuarios federados (roles IAM)– Cuenta AWS → Usuarios IAM

• Otros casos de uso:– Delegar acceso a su cuenta → Usuarios federados (roles IAM) – Acceso de aplicación móvil → SIEMPRE usuarios federados

IMPORTANTE: Nunca comparta credenciales.

Page 27: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

[email protected] ID: [email protected]

Acct ID: 111111111111

¿ Cómo funciona el acceso federado ?

Usuario IAM user: mauricio

STS

Page 28: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

[email protected] ID: 999999999999

role-ddb

[email protected] ID: 111111111111

¿ Cómo funciona el acceso federado ?

Usuario IAM user: mauricio

STS

Page 29: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

[email protected] ID: 999999999999

role-ddb

[email protected] ID: 111111111111

{ "Statement": [ { "Effect":"Allow", "Principal":{"AWS":"111111111111"}, "Action":"sts:AssumeRole"}]}

¿ Cómo funciona el acceso federado ?role-ddb confía en los usuarios IAM de la cuenta

[email protected] (111111111111)

Usuario IAM user: mauricio

STS

Page 30: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

[email protected] ID: 999999999999

role-ddb

{ "Statement": [ { "Action": [ "dynamodb:GetItem", "dynamodb:BatchGetItem",

"dynamodb:DescribeTable", "dynamodb:ListTables" ], "Effect": "Allow", "Resource": "*“ }]}

[email protected] ID: 111111111111

{ "Statement": [ { "Effect":"Allow", "Principal":{"AWS":"111111111111"}, "Action":"sts:AssumeRole"}]}

¿ Cómo funciona el acceso federado ?role-ddb confía en los usuarios IAM de la cuenta

[email protected] (111111111111)

Usuario IAM user: mauricio

Permisos definidos para role-ddb

STS

Page 31: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

[email protected] ID: 999999999999

role-ddb

{ "Statement": [ { "Action": [ "dynamodb:GetItem", "dynamodb:BatchGetItem",

"dynamodb:DescribeTable", "dynamodb:ListTables" ], "Effect": "Allow", "Resource": "*“ }]}

[email protected] ID: 111111111111

{ "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource":

"arn:aws:iam::999999999999:role/ddb-role"}]}

{ "Statement": [ { "Effect":"Allow", "Principal":{"AWS":"111111111111"}, "Action":"sts:AssumeRole"}]}

¿ Cómo funciona el acceso federado ?role-ddb confía en los usuarios IAM de la cuenta

[email protected] (111111111111)

Permisos asignados a mauricio, permitiéndole asumir el role-ddb en la cuenta 999999999999

Usuario IAM user: mauricio

Permisos definidos para role-ddb

STS

Page 32: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

[email protected] ID: 999999999999

role-ddb

{ "Statement": [ { "Action": [ "dynamodb:GetItem", "dynamodb:BatchGetItem",

"dynamodb:DescribeTable", "dynamodb:ListTables" ], "Effect": "Allow", "Resource": "*“ }]}

[email protected] ID: 111111111111 Autentica con las

credenciales de mauricio

{ "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource":

"arn:aws:iam::999999999999:role/ddb-role"}]}

{ "Statement": [ { "Effect":"Allow", "Principal":{"AWS":"111111111111"}, "Action":"sts:AssumeRole"}]}

¿ Cómo funciona el acceso federado ?role-ddb confía en los usuarios IAM de la cuenta

[email protected] (111111111111)

Usuario IAM user: mauricio

Permisos definidos para role-ddb

STS

Permisos asignados a mauricio, permitiéndole asumir el role-ddb en la cuenta 999999999999

Page 33: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

[email protected] ID: 999999999999

role-ddb

{ "Statement": [ { "Action": [ "dynamodb:GetItem", "dynamodb:BatchGetItem",

"dynamodb:DescribeTable", "dynamodb:ListTables" ], "Effect": "Allow", "Resource": "*“ }]}

[email protected] ID: 111111111111 Autentica con las

credenciales de mauricio

Obtiene credenciales

temporales para role-ddb

{ "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource":

"arn:aws:iam::999999999999:role/ddb-role"}]}

{ "Statement": [ { "Effect":"Allow", "Principal":{"AWS":"111111111111"}, "Action":"sts:AssumeRole"}]}

¿ Cómo funciona el acceso federado ?role-ddb confía en los usuarios IAM de la cuenta

[email protected] (111111111111)

Usuario IAM user: mauricio

Permisos definidos para role-ddb

STS

Permisos asignados a mauricio, permitiéndole asumir el role-ddb en la cuenta 999999999999

Page 34: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

[email protected] ID: 999999999999

role-ddb

{ "Statement": [ { "Action": [ "dynamodb:GetItem", "dynamodb:BatchGetItem",

"dynamodb:DescribeTable", "dynamodb:ListTables" ], "Effect": "Allow", "Resource": "*“ }]}

[email protected] ID: 111111111111 Autentica con las

credenciales de mauricio

Obtiene credenciales

temporales para role-ddb

Llama la API AWS, usando las

credenciales temporales de role-

ddb

{ "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource":

"arn:aws:iam::999999999999:role/ddb-role"}]}

{ "Statement": [ { "Effect":"Allow", "Principal":{"AWS":"111111111111"}, "Action":"sts:AssumeRole"}]}

¿ Cómo funciona el acceso federado ?role-ddb confía en los usuarios IAM de la cuenta

[email protected] (111111111111)

Usuario IAM user: mauricio

Permisos definidos para role-ddb

STS

Permisos asignados a mauricio, permitiéndole asumir el role-ddb en la cuenta 999999999999

Page 35: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿ Access Keys ó Contraseñas?

AWS Access Keys Contraseñas

Page 36: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿ Access Keys ó Contraseñas?

• Depende de cómo los usuarios accederán a AWS– AWS Management Console → Contraseña– API, CLI, SDK → Access keys

Page 37: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿ Access Keys ó Contraseñas?

• Depende de cómo los usuarios accederán a AWS– AWS Management Console → Contraseña– API, CLI, SDK → Access keys

• En cualquier caso, verifique la rotación periódica de credenciales– Use el reporte “Credential Report” para auditar la rotación.– Configure política de contraseñas.– Configure la política de usuario para permitir la rotación.

Page 38: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Política de ejemplo para permitir la rotación de llaves(Usuario IAM)

Política IAM{ "Version":"2012-10-17", "Statement":[

]}

Page 39: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Política de ejemplo para permitir la rotación de llaves(Usuario IAM)

Política IAM{ "Version":"2012-10-17", "Statement": [{ "Effect": " ", "Action": [

], "Resource":

}]}

Page 40: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Política de ejemplo para permitir la rotación de llaves(Usuario IAM)

Política IAM{ "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [

], "Resource":

}]}

Page 41: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Política de ejemplo para permitir la rotación de llaves(Usuario IAM)

Política IAM{ "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [

"iam:CreateAccessKey","iam:DeleteAccessKey","iam:ListAccessKeys","iam:UpdateAccessKey"],

"Resource":

}]}

Page 42: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Política de ejemplo para permitir la rotación de llaves(Usuario IAM)

Política IAM{ "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [

"iam:CreateAccessKey","iam:DeleteAccessKey","iam:ListAccessKeys","iam:UpdateAccessKey"],

"Resource": "arn:aws:iam::123456789012:

user/${aws:username}"}]}

Page 43: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Política de ejemplo para permitir la rotación de llaves(Usuario IAM)

Política IAM{ "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [

"iam:CreateAccessKey","iam:DeleteAccessKey","iam:ListAccessKeys","iam:UpdateAccessKey"],

"Resource": "arn:aws:iam::123456789012:

user/${aws:username}"}]}

1. Cree un segundo par de credenciales, mientras todavía el primer par está activo.

2. Actualice las aplicaciones con las nuevas credenciales.

3. Cambie el estado de las credenciales originales para Inactive.

4. Verifique que las aplicaciones están funcionando correctamente.

5. Borre las credenciales originales.

Procedimiento para la rotación

Page 44: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Demo

Page 45: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Políticas: ¿ Inline o Managed ?

Políticas Inline Managed Policies

Page 46: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Políticas: ¿ Inline o Managed ? Depende de qué tan “personal” quiera hacerse la política.• Use Políticas Inline cuando necesite:

• Una relación estricta uno-a-uno entre la política y el principal.• Evitar que la política sea asignada de forma errónea.• Eliminar la política cuando se borra el principal.

Page 47: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Políticas: ¿ Inline o Managed ? Depende de qué tan “personal” quiera hacerse la política.• Use Políticas Inline cuando necesite:

• Una relación estricta uno-a-uno entre la política y el principal• Evitar que la política sea asignada de forma errónea• Eliminar la política cuando se borra el principal

• Use Políticas Managed cuando necesite:• Reutilización.• Gestión de cambios centralizada.• Versionamiento y Rollback.• Delegación de gestión de permisos.• Actualizaciones automáticas para políticas AWS.• Tamaños mayores de políticas.

Page 48: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿ Grupos o Managed Policies?

GRUPOS Managed Policies

Page 49: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

• Ofrecen beneficios parecidos– Asignar los mismos permisos a varios usuarios.– Gerenciamiento centralizado de permisos.– Actualizaciones cubren múltiples usuarios.

¿ Grupos o Managed Policies?

Page 50: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

• Ofrecen beneficios parecidos– Asignar los mismos permisos a varios usuarios.– Gerenciamiento centralizado de permisos.– Actualizaciones cubren múltiples usuarios.

• Use grupos cuando necesite:– Gerenciar usuarios ….

¿ Grupos o Managed Policies?

agrupados.

Page 51: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

• Ofrecen beneficios parecidos– Asignar los mismos permisos a varios usuarios.– Gerenciamiento centralizado de permisos.– Actualizaciones cubren múltiples usuarios.

• Use grupos cuando necesite:– Gerenciar usuarios …. agrupados.

• Use Managed Policies cuando necesite:– Asignar la misma política a usuarios, grupos o roles.

¿ Grupos o Managed Policies?

Page 52: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Recomendación: Combine grupos Y Managed Policies

• Use grupos para organizar sus usuarios• Asigne los permisos a los grupos usando Managed Policies

Page 53: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Recomendación: Combine grupos Y Managed Policies

• Use grupos para organizar sus usuarios• Asigne los permisos a los grupos usando Managed Policies

• Sugerencia: Cree Managed Policies separadas, con permisos específicos para una situación, servicio o proyecto y asigne varias políticas a cada grupo.

Page 54: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Demo

Page 55: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Basado en recursos Basado en Tags

Políticas: ¿ Basadas en Recursos o en Tags?

Page 56: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

• Use políticas basadas en recursos cuando necesite:• Controlar acceso a un recurso específico.• Controlar acceso a la mayoría de recursos AWS.

Políticas: ¿ Basadas en Recursos o en Tags?

Page 57: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

• Use políticas basadas en recursos cuando necesite:• Controlar acceso a un recurso específico.• Controlar acceso a la mayoría de recursos AWS.

• Use políticas basadas en Tags cuando necesite:• Tratar recursos como una unidad (p.ej: un proyecto).• Aplicar permisos automáticamente al crear los recursos.

Políticas: ¿ Basadas en Recursos o en Tags?

Page 58: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

• Use políticas basadas en recursos cuando necesite:• Controlar acceso a un recurso específico.• Controlar acceso a la mayoría de recursos AWS.

• Use políticas basadas en Tags cuando necesite:• Tratar recursos como una unidad (p.ej: un proyecto).• Aplicar permisos automáticamente al crear los recursos.Nota: Estos servicios actualmente soportan políticas de control basadas en Tags:

AWS CloudFormation, AWS Elastic Beanstalk, Amazon EC2 (Incluidos EBS), Amazon EMR, Amazon ElastiCache, Amazon Glacier, Amazon Kinesis, Amazon VPC, Amazon RDS, Amazon Redshift, Amazon Route 53 y Amazon S3http://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/supported-resources.html

Políticas: ¿ Basadas en Recursos o en Tags?

Page 59: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿ Cómo funciona el control de acceso basado en Tags?

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:*", "Resource": "*", "Condition": { "StringEquals": { "ec2:ResourceTag/Project" : "Real" } } } ]}

Privilegios asignados a Lionel, dándole permiso de ejecutar cualquier acción EC2 en recursos

marcados con el Tag:Proyecto=Barcelona

IAM user: Lionel

Page 60: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿ Cómo funciona el control de acceso basado en Tags?

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:*", "Resource": "*", "Condition": { "StringEquals": { "ec2:ResourceTag/Project" : ”Real" } } } ]}

Privilegios asignados a Lionel, dándole permiso de ejecutar cualquier acción EC2 en recursos

marcados con el Tag:Proyecto=Barcelona

IAM user: Lionel

i-a1234r12Proyecto=Barcelona

Page 61: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿ Cómo funciona el control de acceso basado en Tags?

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:*", "Resource": "*", "Condition": { "StringEquals": { "ec2:ResourceTag/Project" : ”Real" } } } ]}

Privilegios asignados a Lionel, dándole permiso de ejecutar cualquier acción EC2 en recursos

marcados con el Tag:Proyecto=Barcelona

IAM user: Lionel

i-a1234r12Proyecto=Barcelona

Page 62: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿ Cómo funciona el control de acceso basado en Tags?

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:*", "Resource": "*", "Condition": { "StringEquals": { "ec2:ResourceTag/Project" : ”Real" } } } ]}

Privilegios asignados a Lionel, dándole permiso de ejecutar cualquier acción EC2 en recursos

marcados con el Tag:Proyecto=Barcelona

IAM user: Lionel

i-a1234r12

i-a4321r12

Proyecto=Barcelona

Proyecto=Barcelona

Page 63: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿ Cómo funciona el control de acceso basado en Tags?

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:*", "Resource": "*", "Condition": { "StringEquals": { "ec2:ResourceTag/Project" : ”Barcelona" } } } ]}

Privilegios asignados a Lionel, dándole permiso de ejecutar cualquier acción EC2 en recursos

marcados con el Tag:Proyecto=Barcelona

IAM user: Lionel

i-a1234r12

i-a4321r12

Proyecto=Barcelona

Page 64: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿ Cómo funciona el control de acceso basado en Tags?

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:*", "Resource": "*", "Condition": { "StringEquals": { "ec2:ResourceTag/Project" : ”Barcelona" } } } ]}

Privilegios asignados a Lionel, dándole permiso de ejecutar cualquier acción EC2 en recursos

marcados con el Tag:Proyecto=Barcelona

IAM user: Lionel

i-a1234r12

i-a4321r12

Proyecto=Barcelona

Page 65: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿ Cómo funciona el control de acceso basado en Tags?

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:*", "Resource": "*", "Condition": { "StringEquals": { "ec2:ResourceTag/Project" : ”Barcelona" } } } ]}

Privilegios asignados a Lionel, dándole permiso de ejecutar cualquier acción EC2 en recursos

marcados con el Tag:Proyecto=Barcelona

IAM user: Lionel

i-a1234r12

i-a4321r12

Proyecto=Barcelona

i-a4321b12Proyecto=Real

Page 66: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿ Cómo funciona el control de acceso basado en Tags?

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:*", "Resource": "*", "Condition": { "StringEquals": { "ec2:ResourceTag/Project" : ”Barcelona" } } } ]}

Privilegios asignados a Lionel, dándole permiso de ejecutar cualquier acción EC2 en recursos

marcados con el Tag:Proyecto=Barcelona

IAM user: Lionel

i-a1234r12

i-a4321r12

Proyecto=Barcelona

i-a4321b12Proyecto=Real

Page 67: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Demo

Page 68: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Única cuenta Varias cuentas

¿ Una única cuenta AWS o varias?

Page 69: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿ Una única cuenta AWS o varias?

Use una única cuenta AWS cuando:• Quiera simplificar el control de quién hace qué en su ambiente AWS.• No haya necesidad de aislar proyectos/productos/equipos.• No tenga necesidad de separar costos.

Page 70: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿ Una única cuenta AWS o varias?

Use una única cuenta AWS cuando:• Quiera simplificar el control de quién hace qué en su ambiente AWS.• No haya necesidad de aislar proyectos/productos/equipos.• No tenga necesidad de separar costos.

Use múltiples cuentas AWS cuando: • Necesite aislar completamente proyectos/equipos/ambientes.• Requiera aislar información de auditoria o de recuperación (p. ej:

enviar logs de auditoria (CloudTrail) a una cuenta diferente).• Requiera una cuenta única, pero con costos y utilización discriminada.

Page 71: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Acceso Cross-Account usando roles IAM

[email protected] ID: 111111111111

[email protected] ID: 333333333333

[email protected] ID: 222222222222

IAM user: Armando

Page 72: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Acceso Cross-Account usando roles IAM

[email protected] ID: 111111111111

[email protected] ID: 333333333333

[email protected] ID: 222222222222

IAM user: Armando

Page 73: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Acceso Cross-Account usando roles IAM

[email protected] ID: 111111111111

[email protected] ID: 333333333333

[email protected] ID: 222222222222

IAM user: Armando

Page 74: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Acceso Cross-Account usando roles IAM

[email protected] ID: 111111111111

[email protected] ID: 333333333333

[email protected] ID: 222222222222

IAM user: Armando

Page 75: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Acceso Cross-Account usando roles IAM

[email protected] ID: 111111111111

[email protected] ID: 333333333333

[email protected] ID: 222222222222

IAM user: Armando

Page 76: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Acceso Cross-Account usando roles IAM

[email protected] ID: 111111111111

[email protected] ID: 333333333333

[email protected] ID: 222222222222

IAM user: Armando

Page 77: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Acceso Cross-Account usando roles IAM

[email protected] ID: 111111111111

[email protected] ID: 333333333333

[email protected] ID: 222222222222

IAM user: Armando

Page 78: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Acceso Cross-Account usando roles IAM

External identity provider

[email protected] ID: 444444444444

[email protected] ID: 111111111111

[email protected] ID: 333333333333

[email protected] ID: 222222222222

IAM user: ArmandoIAM user: Betty

Page 79: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Acceso Cross-Account usando roles IAM

External identity provider

[email protected] ID: 444444444444

[email protected] ID: 111111111111

[email protected] ID: 333333333333

[email protected] ID: 222222222222

IAM user: ArmandoIAM user: Betty

Page 80: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

Demo

Page 81: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¿ Qué vimos hoy?

1. Top 10 de mejores prácticas.2. Usuario IAM vs. Usuario Federado.3. Access keys vs. Contraseñas.4. Políticas Inline vs. managed policies.5. Grupos vs. managed policies.6. Políticas basadas en recursos vs. Políticas basadas en Tags.7. Una única cuenta AWS vs. varias cuentas AWS.

X11

Page 82: AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires

¡Gracias!