AWS Health ejemplos de políticas basadas en identidad de
De forma predeterminada, los usuarios y los roles de IAM no tienen permiso para crear, ver ni modificar recursos de AWS Health. Tampoco pueden realizar tareas mediante la AWS Management Console, 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 información acerca de cómo crear una política basada en identidad de IAM con estos documentos de políticas JSON de ejemplo, consulte Creación de políticas en la pestaña JSON en la Guía del usuario de IAM.
Temas
Prácticas recomendadas relativas a políticas
Las políticas basadas en identidades determinan si alguien puede crear, acceder o eliminar los recursos de AWS Health de la cuenta. Estas acciones pueden generar costes adicionales para su Cuenta de AWS. Siga estas directrices y recomendaciones al crear o editar políticas basadas en identidades:
-
Comience con las políticas administradas por AWSy continúe con los permisos de privilegio mínimo: a fin de comenzar a conceder permisos a los usuarios y las cargas de trabajo, utilice 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 administradas 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 trabajo 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, puede escribir una condición de políticas para especificar que todas las solicitudes deben enviarse utilizando SSL. También puede usar condiciones para conceder acceso a acciones de servicios si se emplean a través de un Servicio de AWS determinado como, por ejemplo, AWS 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.
-
Utilice 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 obtener más información, consulte Validación de políticas mediante 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 necesita usuarios raíz o de IAM en su Cuenta de AWS, active la MFA para mayor seguridad. Para solicitar la MFA cuando se invocan las operaciones de la API, agregue las condiciones de la MFA a sus políticas. Para obtener 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 las Prácticas recomendadas de seguridad en IAM en la Guía del usuario de IAM.
Mediante la consola de AWS Health
Para acceder a la consola de AWS Health, debe tener un conjunto mínimo de permisos. Estos permisos deben permitirle registrar y consultar los detalles sobre los recursos de AWS Health 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 AWS Health, asocie la política administrada de AWS siguiente, AWSHealthFullAccess
La política de AWSHealthFullAccess
concede a una entidad acceso completo a lo siguiente:
-
Activación o desactivación de la característica de vista organizativa de AWS Health para todas las cuentas de una organización de AWS
-
El AWS Health Dashboard en la consola de AWS Health
-
Operaciones y notificaciones de la API de AWS Health
-
Consulta de información sobre cuentas de su organización de AWS
-
Consulte las unidades organizativas (OU) de la cuenta de administración
ejemplo : AWSHealthFullAccess
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "organizations:EnableAWSServiceAccess", "organizations:DisableAWSServiceAccess" ], "Resource": "*", "Condition": { "StringEquals": { "organizations:ServicePrincipal": "health.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "health:*", "organizations:DescribeAccount", "organizations:ListAccounts", "organizations:ListDelegatedAdministrators", "organizations:ListParents" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "health.amazonaws.com" } } } ] }
nota
También puede utilizar la política Health_OrganizationsServiceRolePolicy
administrada por AWS, de modo que AWS Health pueda ver los eventos de otras cuentas de la organización. Para obtener más información, consulte Uso de roles vinculados a servicios de AWS Health.
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.
Para obtener más información, consulte Adición de permisos a un usuario en la Guía del usuario de IAM.
Cómo 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 llevar a cabo 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": "*" } ] }
Acceso a AWS Health Dashboard y a la API de AWS Health
AWS Health Dashboard está disponible para todas las cuentas de AWS. La API de AWS Health solo está disponible para las cuentas que tienen un plan de soporte Business, Enterprise On-Ramp o Enterprise. Para obtener más información, consulte AWS Support
Puede utilizar IAM para crear entidades (usuarios, grupos o roles) y, después, asignarles permisos para obtener acceso al AWS Health Dashboard y a la API de AWS Health.
De forma predeterminada, los usuarios de IAM no tienen acceso al AWS Health Dashboard ni a la API de AWS Health. Si desea conceder a los usuarios acceso a la información de su cuenta de AWS Health, puede asociar políticas de IAM a un único usuario, a un grupo de usuarios o a un rol. Para obtener más información, consulte Identidades (usuarios, grupos y roles) e Información general sobre las políticas de IAM.
Después de crear los usuarios de IAM, puede asignarles contraseñas. De ese modo, podrán iniciar sesión en la cuenta y ver la información de AWS Health a través de una página de inicio de sesión específica de la cuenta. Para obtener más información, consulte Cómo inician sesión los usuarios en la cuenta.
nota
Un usuario de IAM con permisos para ver AWS Health Dashboard tiene acceso de solo lectura a la información de estado en todos los servicios de AWS de la cuenta. Esto puede incluir, entre otros, ID de recursos de AWS tales como ID de instancia Amazon EC2, direcciones IP de instancia EC2 y notificaciones de seguridad generales.
Por ejemplo, si una política de IAM concede acceso únicamente al AWS Health Dashboard y a la API de AWS Health, entonces el usuario o el rol al que se aplica la política puede obtener acceso a toda la información publicada sobre los servicios de AWS y los recursos relacionados, aunque otras políticas de IAM no permitan ese acceso.
Puede utilizar dos grupos de API para AWS Health.
-
Cuentas individuales: puede usar operaciones como DescribeEvents y DescribeEventDetails para obtener información sobre eventos de AWS Health de su cuenta.
-
Cuenta de organización: puede usar operaciones como DescribeEventsForOrganization y DescribeEventDetailsForOrganization para obtener información sobre los eventos de AWS Health de cuentas que forman parte de su organización.
Para obtener más información sobre las operaciones de la API disponibles, consulte la Referencia de la API de AWS Health.
Acciones individuales
Puede establecer el elemento Action
de una política de IAM en health:Describe*
. Esto permite el acceso al AWS Health Dashboard y AWS Health. AWS Health admite el control de acceso a eventos basado en eventTypeCode
y el servicio.
Describir el acceso
Esta instrucción de política concede acceso a AWS Health Dashboard y a cualquiera de las operaciones Describe*
de la API de AWS Health. Por ejemplo, un usuario de IAM con esta política puede obtener acceso al AWS Health Dashboard en la AWS Management Console y llamar a la operación DescribeEvents
de la API de AWS Health.
ejemplo : describir el acceso
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "health:Describe*" ], "Resource": "*" }] }
Denegar el acceso
Esta instrucción de política deniega el acceso a AWS Health Dashboard y a la API de AWS Health. Un usuario de IAM con esta política no puede ver la instancia de AWS Health Dashboard en la AWS Management Console y no puede llamar a ninguna de las operaciones de API de AWS Health.
ejemplo : denegar el acceso
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "health:*" ], "Resource": "*" }] }
Vista organizativa
Si desea habilitar la vista organizativa para AWS Health, debe permitir el acceso a las acciones de AWS Health y AWS Organizations.
El elemento Action
de una política de IAM debe incluir los siguientes permisos:
-
iam:CreateServiceLinkedRole
-
organizations:EnableAWSServiceAccess
-
organizations:DescribeAccount
-
organizations:DisableAWSServiceAccess
-
organizations:ListAccounts
-
organizations:ListDelegatedAdministrators
-
organizations:ListParents
Para comprender qué permisos exactos son necesarios para cada API, consulte Acciones definidas por las API y las notificaciones de AWS Health en la Guía de usuario de IAM.
nota
Debe utilizar las credenciales de la cuenta de administración para que una organización pueda obtener acceso a las API de AWS Health para AWS Organizations. Para obtener más información, consulte Agregación de eventos de AWS Health de varias cuentas.
Cómo permitir el acceso a la vista organizativa de AWS Health
Esta declaración de política otorga acceso a todas las acciones de AWS Health y AWS Organizations que necesite para la característica de vista organizativa.
ejemplo : permitir el acceso a la vista organizativa de AWS Health
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "organizations:EnableAWSServiceAccess", "organizations:DisableAWSServiceAccess" ], "Resource": "*", "Condition": { "StringEquals": { "organizations:ServicePrincipal": "health.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "health:*", "organizations:DescribeAccount", "organizations:ListAccounts", "organizations:ListDelegatedAdministrators", "organizations:ListParents" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/health.amazonaws.com/AWSServiceRoleForHealth*" } ] }
Cómo restringir el acceso a la vista organizativa de AWS Health
Esta instrucción de política restringe el acceso a las acciones de AWS Organizations, pero permite el acceso a las acciones de AWS Health de una cuenta individual.
ejemplo : denegar el acceso a la vista organizativa de AWS Health
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "health:*" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "organizations:EnableAWSServiceAccess", "organizations:DisableAWSServiceAccess" ], "Resource": "*", "Condition": { "StringEquals": { "organizations:ServicePrincipal": "health.amazonaws.com" } } }, { "Effect": "Deny", "Action": [ "organizations:DescribeAccount", "organizations:ListAccounts", "organizations:ListDelegatedAdministrators", "organizations:ListParents" ], "Resource": "*" }, { "Effect": "Deny", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/health.amazonaws.com/AWSServiceRoleForHealth*" } ] }
nota
Si el usuario o grupo al que desea conceder permisos ya tiene una política de IAM, puede agregar la instrucción de política específica de AWS Health a dicha política.
Condiciones basadas en recursos y en acciones
AWS Health admite las condiciones de IAM para las operaciones de API DescribeAffectedEntities y DescribeEventDetails. Puede usar condiciones basadas en recursos y acciones para restringir los eventos que la API de AWS Health envía a un usuario, grupo o rol.
Para ello, actualice el bloque Condition
de la política de IAM o establezca el elemento Resource
. Puede utilizar condiciones de cadena para restringir el acceso en función de determinados campos de eventos de AWS Health.
Puede usar los siguientes campos al especificar un evento de AWS Health en su política:
-
eventTypeCode
-
service
Notas
-
Las operaciones de API DescribeAffectedEntities y DescribeEventDetails admiten permisos de nivel de recursos. Por ejemplo, puede crear una política para permitir o rechazar eventos específicos de AWS Health.
-
Las operaciones de API DescribeAffectedEntitiesForOrganization y DescribeEventDetailsForOrganization no admiten permisos de nivel de recursos.
-
Para obtener más información, consulte Acciones, recursos y claves de condición para las API y notificaciones de AWS Health en la Referencia de autorizaciones de servicio.
ejemplo : condición basada en acciones
Esta instrucción de política concede acceso a AWS Health Dashboard y a las operaciones Describe*
de la API de AWS Health, pero rechaza el acceso a cualquier evento de AWS Health relacionado con Amazon EC2.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "health:Describe*", "Resource": "*" }, { "Effect": "Deny", "Action": [ "health:DescribeAffectedEntities", "health:DescribeEventDetails" ], "Resource": "*", "Condition": { "StringEquals": { "health:service": "EC2" } } } ] }
ejemplo : condición basada en recursos
La política siguiente tiene el mismo efecto, pero utiliza el elemento Resource
en su lugar.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "health:Describe*" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "health:DescribeEventDetails", "health:DescribeAffectedEntities" ], "Resource": "arn:aws:health:*::event/EC2/*/*" }] }
ejemplo : condición EventTypeCode
Esta instrucción de política concede acceso a AWS Health Dashboard y a las operaciones de la API de AWS Health Describe*
, pero deniega el acceso a cualquier evento de AWS Health con un valor eventTypeCode
que coincida con AWS_EC2_*
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "health:Describe*", "Resource": "*" }, { "Effect": "Deny", "Action": [ "health:DescribeAffectedEntities", "health:DescribeEventDetails" ], "Resource": "*", "Condition": { "StringLike": { "health:eventTypeCode": "AWS_EC2_*" } } } ] }
importante
Si llama a las operaciones DescribeAffectedEntities y DescribeEventDetails y no tiene permiso para obtener acceso al evento AWS Health, aparece el error AccessDeniedException
. Para obtener más información, consulte Solución de problemas de identidades de AWS Health y accesos.