Ejemplos de políticas basadas en identidades de Amazon WorkMail - Amazon WorkMail

Ejemplos de políticas basadas en identidades de Amazon WorkMail

De forma predeterminada, los usuarios y roles de IAM no tienen permiso para crear ni modificar recursos de Amazon WorkMail. Tampoco pueden realizar tareas mediante la Consola de administración de AWS, la AWS CLI, o la API de AWS. Un administrador de IAM debe crear políticas de IAM que concedan permisos a los usuarios y a los roles para realizar operaciones de la API concretas en los recursos especificados que necesiten. El administrador debe adjuntar esas políticas a los usuarios o grupos de IAM que necesiten esos permisos.

Para obtener más información acerca de cómo crear una política basada en identidad de IAM con estos documentos de políticas de JSON de ejemplo, consulte Creación de políticas en la pestaña JSON en la Guía del usuario de IAM.

Prácticas recomendadas relativas a políticas

Las políticas basadas en identidades determinan si alguien puede crear, eliminar o acceder a los recursos de Amazon WorkMail de su cuenta. Estas acciones pueden generar costos adicionales para su Cuenta de AWS. Siga estas directrices y recomendaciones al crear o editar políticas basadas en identidades:

  • Comienza con las políticas administradas por AWSy continúa con los permisos de privilegio mínimo: a fin de comenzar a conceder permisos a los usuarios y las cargas de tarea, utiliza las políticas administradas por AWS, que conceden permisos para muchos casos de uso comunes. Están disponibles en su Cuenta de AWS. Se recomienda definir políticas gestionadas por el cliente de AWS específicas para sus casos de uso a fin de reducir aún más los permisos. Con el fin de obtener más información, consulte las políticas administradas por AWS o las políticas administradas por AWS para funciones de tarea en la Guía de usuario de IAM.

  • Aplique permisos de privilegio mínimo: cuando establezca permisos con políticas de IAM, conceda solo los permisos necesarios para realizar una tarea. Para ello, debe definir las acciones que se pueden llevar a cabo en determinados recursos en condiciones específicas, también conocidos como permisos de privilegios mínimos. Con el fin de obtener más información sobre el uso de IAM para aplicar permisos, consulte Políticas y permisos en IAM en la Guía del usuario de IAM.

  • Utilice condiciones en las políticas de IAM para restringir aún más el acceso: puede agregar una condición a sus políticas para limitar el acceso a las acciones y los recursos. Por ejemplo, puedes escribir una condición de políticas para especificar que todas las solicitudes deben enviarse utilizando SSL. También puedes usar condiciones para conceder acceso a acciones de servicios si se emplean a través de un Servicio de AWS determinado como, por ejemplo, CloudFormation. Para obtener más información, consulte Elementos de la política de JSON de IAM: Condición en la Guía del usuario de IAM.

  • Utiliza el analizador de acceso de IAM para validar las políticas de IAM con el fin de garantizar la seguridad y funcionalidad de los permisos: el analizador de acceso de IAM valida políticas nuevas y existentes para que respeten el lenguaje (JSON) de las políticas de IAM y las prácticas recomendadas de IAM. El analizador de acceso de IAM proporciona más de 100 verificaciones de políticas y recomendaciones procesables para ayudar a crear políticas seguras y funcionales. Para más información, consulte Validación de políticas con el Analizador de acceso de IAM en la Guía del usuario de IAM.

  • Solicite la autenticación multifactor (MFA): si se encuentra en una situación en la que necesite usuarios raíz o de IAM en su Cuenta de AWS, active la MFA para obtener una mayor seguridad. Para exigir la MFA cuando se invoquen las operaciones de la API, añada condiciones de MFA a sus políticas. Para más información, consulte Acceso seguro a la API con MFA en la Guía del usuario de IAM.

Para obtener más información sobre las prácticas recomendadas de IAM, consulte Prácticas recomendadas de seguridad en IAM en la Guía del usuario de IAM.

Uso de la consola de Amazon WorkMail

Para acceder a la consola de Amazon WorkMail, debe tener un conjunto mínimo de permisos. Estos permisos deben permitirle enumerar y ver los detalles sobre los recursos de Amazon WorkMail en su cuenta de AWS. Si crea una política basada en identidad que sea más restrictiva que el mínimo de permisos necesarios, la consola no funcionará del modo esperado para las entidades (usuarios o roles de IAM) que tengan esa política.

Para asegurarse de que esas entidades puedan seguir usando la consola de Amazon WorkMail, vincule también la siguiente política administrada de AWS, AmazonWorkMailFullAccess, a las entidades. Para obtener más información, consulte Adición de permisos a un usuario en la Guía del usuario de IAM:

La política AmazonWorkMailFullAccess concede a un usuario de IAM acceso completo a los recursos de Amazon WorkMail. Esta política otorga al usuario acceso a todas las operaciones de Amazon WorkMail, AWS Key Management Service, Amazon Simple Email Service y AWS Directory Service. Esto también incluye varias operaciones de Amazon EC2 que Amazon WorkMail debe realizar en su nombre. Los permisos logs y cloudwatch son necesarios para el registro de eventos de correo electrónico y la visualización de métricas en la consola de Amazon WorkMail. El registro de auditoría utiliza los Registros de CloudWatch, Amazon S3 y Amazon Data FireHose para el almacenamiento de logs. Para obtener más información, consulte Registro y monitoreo en Amazon WorkMail.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "WorkMailAdministration", "Effect": "Allow", "Action": [ "ds:AuthorizeApplication", "ds:CheckAlias", "ds:CreateAlias", "ds:CreateDirectory", "ds:CreateIdentityPoolDirectory", "ds:DeleteDirectory", "ds:DescribeDirectories", "ds:GetDirectoryLimits", "ds:ListAuthorizedApplications", "ds:UnauthorizeApplication", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateNetworkInterface", "ec2:CreateSecurityGroup", "ec2:CreateSubnet", "ec2:CreateTags", "ec2:CreateVpc", "ec2:DeleteSecurityGroup", "ec2:DeleteSubnet", "ec2:DeleteVpc", "ec2:DescribeAvailabilityZones", "ec2:DescribeRouteTables", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:RevokeSecurityGroupEgress", "ec2:RevokeSecurityGroupIngress", "kms:DescribeKey", "kms:ListAliases", "lambda:ListFunctions", "route53:ChangeResourceRecordSets", "route53:ListHostedZones", "route53:ListResourceRecordSets", "route53:GetHostedZone", "route53domains:CheckDomainAvailability", "route53domains:ListDomains", "ses:*", "workmail:*", "iam:ListRoles", "logs:DescribeLogGroups", "logs:CreateLogGroup", "logs:PutRetentionPolicy", "logs:DeleteDeliveryDestination", "logs:DeleteDeliveryDestinationPolicy", "logs:DescribeDeliveryDestinations", "logs:GetDeliveryDestination", "logs:GetDeliveryDestinationPolicy", "logs:PutDeliveryDestination", "logs:PutDeliveryDestinationPolicy", "logs:CreateDelivery", "logs:DeleteDelivery", "logs:DescribeDeliveries", "logs:GetDelivery", "logs:DeleteDeliverySource", "logs:DescribeDeliverySources", "logs:GetDeliverySource", "logs:PutDeliverySource", "logs:DescribeResourcePolicies", "cloudwatch:GetMetricData", "firehose:DescribeDeliveryStream", "firehose:ListDeliveryStreams", "s3:ListAllMyBuckets" ], "Resource": "*" }, { "Sid": "AuditLogDeliveryThroughCWLogs", "Effect": "Allow", "Action": [ "firehose:TagDeliveryStream", "logs:PutResourcePolicy", "s3:GetBucketPolicy", "s3:PutBucketPolicy" ], "Resource": "*", "Condition": { "StringEquals": { "aws:CalledViaLast": "logs.amazonaws.com" } } }, { "Sid": "InboundOutboundEmailEventsLink", "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "events.workmail.amazonaws.com" } } }, { "Sid": "AuditLoggingLink", "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "delivery.logs.amazonaws.com" } } }, { "Sid": "InboundOutboundEmailEventsUnlink", "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "arn:aws:iam::*:role/aws-service-role/events.workmail.amazonaws.com/AWSServiceRoleForAmazonWorkMailEvents*" }, { "Sid": "InboundOutboundEmailEventsAuth", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/*workmail*", "Condition": { "StringLike": { "iam:PassedToService": "events.workmail.amazonaws.com" } } } ] }

No es necesario que conceda permisos mínimos para la consola a los usuarios que solo realizan llamadas a la AWS CLI o a la API de AWS. En su lugar, permite acceso únicamente a las acciones que coincidan con la operación de API que intenta realizar.

Permitir a los usuarios consultar sus propios permisos

En este ejemplo, se muestra cómo podría crear una política que permita a los usuarios de IAM ver las políticas administradas e insertadas que se asocian a la identidad de sus usuarios. Esta política incluye permisos para realizar esta acción en la consola o mediante programación con la AWS CLI o la API de AWS.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Permitir a los usuarios acceso de solo lectura a los recursos de Amazon WorkMail

La siguiente instrucción de política concede a un usuario de IAM acceso de solo lectura a los recursos de Amazon WorkMail. Esta política da el mismo nivel de acceso que la política administrada de AWS AmazonWorkMailReadOnlyAccess. Cualquiera de las políticas concede al usuario acceso a todas las operaciones Describe de Amazon WorkMail. El acceso a la operación AWS Directory Service de DescribeDirectories es necesario para obtener información sobre los directorios de Directory Service. El acceso al servicio Amazon SES es necesario para obtener información sobre los dominios configurados. El acceso a AWS Key Management Service es necesario para obtener información sobre las claves de cifrado utilizadas. Los permisos logs y cloudwatch son necesarios para el registro de eventos de correo electrónico y la visualización de métricas en la consola de Amazon WorkMail. El registro de auditoría utiliza los registros de CloudWatch, Amazon S3 y Amazon Data FireHose para el almacenamiento de logs. Para obtener más información, consulte Registro y monitoreo en Amazon WorkMail.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "WorkMailReadOnly", "Effect": "Allow", "Action": [ "ses:Describe*", "ses:Get*", "workmail:Describe*", "workmail:Get*", "workmail:List*", "workmail:Search*", "lambda:ListFunctions", "iam:ListRoles", "logs:DescribeLogGroups", "logs:DescribeDeliveryDestinations", "logs:GetDeliveryDestination", "logs:GetDeliveryDestinationPolicy", "logs:DescribeDeliveries", "logs:DescribeDeliverySources", "logs:GetDelivery", "logs:GetDeliverySource", "cloudwatch:GetMetricData" ], "Resource": "*" } ] }