Ejemplos de políticas basadas en identidades de AWS Config
De forma predeterminada, los usuarios y roles no tienen permiso para crear, ver ni modificar recursos de AWS Config. Un administrador de IAM puede crear políticas de IAM para conceder permisos a los usuarios para realizar acciones en los recursos que necesitan.
Para obtener más información sobre cómo crear una política basada en identidades de IAM mediante el uso de estos documentos de políticas JSON de ejemplo, consulte Creación de políticas de IAM (consola) en la Guía del usuario de IAM.
Para obtener más información sobre las acciones y los tipos de recursos definidos por AWS Config, incluido el formato de los ARN para cada tipo de recurso, consulte Acciones, recursos y claves de condición para AWS Config en la Referencia de autorizaciones de servicio.
Temas
Prácticas recomendadas sobre las políticas
Las políticas basadas en identidades determinan si alguien puede crear, acceder o eliminar los recursos de AWS Config 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:
-
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.
Cómo crear una Cuenta de AWS
Si no dispone de una Cuenta de AWS, siga estos pasos para crear una.
Procedimiento para registrarse en Cuenta de AWS
Abra https://portal.aws.amazon.com/billing/signup
. Siga las instrucciones que se le indiquen.
Parte del procedimiento de registro consiste en recibir una llamada telefónica o mensaje de texto e indicar un código de verificación en el teclado del teléfono.
Al registrarse en una Cuenta de AWS, se crea un Usuario raíz de la cuenta de AWS. El usuario raíz tendrá acceso a todos los Servicios de AWS y recursos de esa cuenta. Como práctica recomendada de seguridad, asigne acceso administrativo a un usuario y utilice únicamente el usuario raíz para realizar tareas que requieren acceso de usuario raíz.
AWS le enviará un correo electrónico de confirmación cuando complete el proceso de registro. Puede ver la actividad de la cuenta y administrarla en cualquier momento entrando en https://aws.amazon.com/
Creación de un usuario con acceso administrativo
Después de registrarse para obtener una Cuenta de AWS, proteja su Usuario raíz de la cuenta de AWS, habilite AWS IAM Identity Center y cree un usuario administrativo para no usar el usuario raíz en las tareas cotidianas.
Protección de Usuario raíz de la cuenta de AWS
-
Inicie sesión en Consola de administración de AWS
como propietario de la cuenta; para ello, elija Usuario raíz e introduzca el correo electrónico de su Cuenta de AWS. En la siguiente página, escriba su contraseña. Para obtener ayuda para iniciar sesión con el usuario raíz, consulte Iniciar sesión como usuario raíz en la Guía del usuario de AWS Sign-In.
-
Active la autenticación multifactor (MFA) para el usuario raíz.
Para obtener instrucciones, consulte Habilitación de un dispositivo MFA virtual para su usuario raíz de la Cuenta de AWS (consola) en la Guía del usuario de IAM.
Creación de un usuario con acceso administrativo
-
Activar IAM Identity Center.
Consulte las instrucciones en Activar AWS IAM Identity Center en la Guía del usuario de AWS IAM Identity Center.
-
En IAM Identity Center, conceda acceso administrativo a un usuario.
Para ver un tutorial sobre cómo usar Directorio de IAM Identity Center como origen de identidad, consulte Configuración del acceso de los usuarios con el Directorio de IAM Identity Center predeterminado en la Guía del usuario de AWS IAM Identity Center.
Inicio de sesión como usuario con acceso de administrador
-
Para iniciar sesión con el usuario de IAM Identity Center, use la URL de inicio de sesión que se envió a la dirección de correo electrónico cuando creó el usuario de IAM Identity Center.
Para obtener ayuda para iniciar sesión con un usuario de IAM Identity Center, consulte Inicio de sesión en el portal de acceso de AWS en la Guía del usuario de AWS Sign-In.
Concesión de acceso a usuarios adicionales
-
En IAM Identity Center, cree un conjunto de permisos que siga la práctica recomendada de aplicar permisos de privilegios mínimos.
Para conocer las instrucciones, consulte Create a permission set en la Guía del usuario de AWS IAM Identity Center.
-
Asigne usuarios a un grupo y, a continuación, asigne el acceso de inicio de sesión único al grupo.
Para conocer las instrucciones, consulte Add groups en la Guía del usuario de AWS IAM Identity Center.
Uso de la consola de AWS Config
Para acceder a la consola de AWS Config, debe tener un conjunto mínimo de permisos. Estos permisos deben permitirle enumerar y consultar los detalles sobre los recursos de AWS Config en su Cuenta de AWS. Si crea una política basada en identidades 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) que tengan esa política.
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 el acceso únicamente a las acciones que coincidan con la operación de API que intentan realizar.
Para asegurarse de que los usuarios y los roles puedan seguir utilizando la consola de AWS Config, asocie también a las entidades la política administrada AWS Config AWS. Para obtener más información, consulte Adición de permisos a un usuario en la Guía del usuario de IAM:AWSConfigUserAccess
Debe conceder permiso a sus usuarios para interactuar con AWS Config. Para los usuarios que necesitan acceso total a AWS Config, use la política administrada Acceso total a AWS Config.
Para dar acceso, agregue permisos a los usuarios, grupos o roles:
-
Usuarios y grupos en AWS IAM Identity Center:
Cree un conjunto de permisos. Siga las instrucciones de Creación de un conjunto de permisos en la Guía del usuario de AWS IAM Identity Center.
-
Usuarios gestionados en IAM a través de un proveedor de identidades:
Cree un rol para la federación de identidades. Siga las instrucciones descritas en Creación de un rol para un proveedor de identidad de terceros (federación) en la Guía del usuario de IAM.
-
Usuarios de IAM:
-
Cree un rol que el usuario pueda aceptar. Siga las instrucciones descritas en Creación de un rol para un usuario de IAM en la Guía del usuario de IAM.
-
(No recomendado) Adjunte una política directamente a un usuario o añada un usuario a un grupo de usuarios. Siga las instrucciones descritas en Adición de permisos a un usuario (consola) de 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 de solo lectura a AWS Config
El siguiente ejemplo muestra una política administrada por AWS, AWSConfigUserAccess, que concede acceso de solo lectura a AWS Config.
En las declaraciones de políticas, el elemento Effect especifica si las acciones se permiten o se niegan. El elemento Action enumera las acciones específicas que puede realizar el usuario. El elemento Resource enumera los recursos de AWS en los que el usuario puede realizar estas acciones. Para las políticas que controlan el acceso a las acciones de AWS Config, el elemento Resource siempre está establecido en *, un comodín que significa "todos los recursos".
Los valores en el elemento Action corresponden a las API que admiten los servicios. Las acciones están precedidas por config: para indicar que se refieren a acciones de AWS Config. Puede utilizar el carácter comodín * en el elemento Action, como en los siguientes ejemplos:
-
"Action": ["config:*ConfigurationRecorder"]Esto permite todas las acciones de AWS Config que finalizan con "ConfigurationRecorder" (
StartConfigurationRecorder,StopConfigurationRecorder). -
"Action": ["config:*"]Esto permite todas las acciones de AWS Config, pero no acciones para otros servicios de AWS.
-
"Action": ["*"]Esto permite todas las acciones de AWS. Este permiso es adecuado para un usuario que actúa como administrador de AWS en su cuenta.
La política de solo lectura no concede permiso al usuario para acciones como StartConfigurationRecorder, StopConfigurationRecorder y DeleteConfigurationRecorder. Los usuarios con esta política no pueden comenzar un registro de configuración, detener un registro de configuración o eliminar un registro de configuración. Para ver la lista de acciones de AWS Config, consulte Referencia de la API de AWS Config.
Acceso completo a AWS Config
El siguiente ejemplo muestra una política que concede acceso completo a AWS Config. Se concede a los usuarios el permiso para realizar todas las acciones de AWS Config. También permite a los usuarios administrar archivos en buckets de Amazon S3 y administrar los temas de Amazon SNS en la cuenta a la que está asociado el usuario.
importante
Esta política otorga amplios permisos. Antes de otorgar acceso total, es recomendable empezar con un conjunto mínimo de permisos y otorgar permisos adicionales según sea necesario. Por lo general, es más seguro que comenzar con permisos que son demasiado tolerantes y querer restringirlos más adelante.
Permisos de nivel de recurso admitidos para las acciones de la API de reglas de AWS Config
Los permisos de nivel de recursos se refieren a la posibilidad de especificar en qué recursos pueden realizar acciones los usuarios. AWS Config admite los permisos de nivel de recursos para ciertas acciones de API de reglas de AWS Config. Esto significa que, en algunas acciones de las reglas de AWS Config, puede controlar las condiciones bajo las que se permite que los usuarios las utilicen. Estas condiciones pueden ser acciones que se deben cumplir o recursos específicos que los usuarios pueden utilizar.
La tabla siguiente describe las acciones de la API de AWS Config que actualmente admiten permisos de nivel de recursos. También describe los recursos admitidos y los ARN de cada acción. Cuando especifique un ARN, puede utilizar el carácter comodín * en las rutas; por ejemplo, cuando no pueda o no quiera especificar los ID de recurso exactos.
importante
Si una acción de la API de reglas de AWS Config no aparece en la tabla, significa que no admite los permisos de nivel de recursos. Si una acción de reglas de AWS Config no admite este tipo de permisos de nivel de recursos, puede conceder permisos a los usuarios para que la utilicen, pero tendrá que usar un * (asterisco) para el elemento de recurso de la instrucción de política.
| Acción API | Recursos |
|---|---|
DeleteConfigRule |
Regla de configuración arn:aws:config: |
DeleteEvaluationResults |
Regla de configuración arn:aws:config: |
DescribeComplianceByConfigRule |
Regla de configuración arn:aws:config: |
DescribeConfigRuleEvaluationStatus |
Regla de configuración arn:aws:config: |
GetComplianceDetailsByConfigRule |
Regla de configuración arn:aws:config: |
PutConfigRule |
Regla de configuración arn:aws:config: |
StartConfigRulesEvaluation |
Regla de configuración arn:aws:config: |
PutRemediationConfigurations |
Configuración de la corrección arn:aws:config: |
DescribeRemediationConfigurations |
Configuración de la corrección arn:aws:config: |
DeleteRemediationConfiguration |
Configuración de la corrección arn:aws:config: |
PutRemediationExceptions |
Configuración de la corrección arn:aws:config: |
DescribeRemediationExceptions |
Configuración de la corrección arn:aws:config: |
DeleteRemediationExceptions |
Configuración de la corrección arn:aws:config: |
Por ejemplo, desea permitir a usuarios específicos el acceso de lectura y denegar el acceso de escritura a reglas específicas.
En la primera política, permite las acciones de lectura de reglas de AWS Config como DescribeConfigRuleEvaluationStatus en las reglas especificadas.
En la segunda política, deniega las acciones de escritura de reglas de AWS Config en la regla especificada.
Con permisos de nivel de recursos, puede permitir el acceso de lectura y denegar el acceso de escritura para realizar acciones específicas en las acciones de API de reglas de AWS Config.
Permisos de nivel de recursos para la agregación de datos de varias regiones y varias cuentas
Puede utilizar los permisos de nivel de recursos para controlar la capacidad de un usuario de realizar acciones específicas en la acumulación de datos de varias cuentas y regiones. Las siguientes acciones de la API Aggregator de AWS Config admiten permisos de nivel de recursos:
Por ejemplo, puede restringir el acceso de usuarios específicos a los datos de los recursos mediante la creación de los dos agregadores AccessibleAggregator y InAccessibleAggregator y asociar una política de IAM que permita el acceso a AccessibleAggregator pero deniegue el acceso a InAccessibleAggregator.
Política de IAM para AccessibleAggregator
En esta política, permite el acceso a las acciones del agregador compatibles con el nombre de recurso de Amazon (ARN) de AWS Config que especifique. En este ejemplo, el ARN de AWS Config es arn:aws:config:ap-northeast-1:.AccountID:config-aggregator/config-aggregator-mocpsqhs
Política de IAM para InAccessibleAggregator
En esta política, deniega el acceso a las acciones del agregador compatibles con el ARN de AWS Config que especifique. En este ejemplo, el ARN de AWS Config es arn:aws:config:ap-northeast-1:.AccountID:config-aggregator/config-aggregator-pokxzldx
Si un usuario del grupo de desarrolladores intenta realizar alguna de estas acciones en el ARN de AWS Config que especificó, ese usuario recibirá una excepción de acceso denegado.
Comprobar los permisos de acceso de los usuarios
Para mostrar los agregadores que ha creado, ejecute el siguiente comando de la AWS CLI:
aws configservice describe-configuration-aggregators
Cuando el comando se haya completado correctamente, podrá ver los detalles de todos los agregadores asociados a su cuenta. En este ejemplo, se trata de AccessibleAggregator y InAccessibleAggregator:
{ "ConfigurationAggregators": [ { "ConfigurationAggregatorArn": "arn:aws:config:ap-northeast-1:AccountID:config-aggregator/config-aggregator-mocpsqhs", "CreationTime": 1517942461.442, "ConfigurationAggregatorName": "AccessibleAggregator", "AccountAggregationSources": [ { "AllAwsRegions": true, "AccountIds": [ "AccountID1", "AccountID2", "AccountID3" ] } ], "LastUpdatedTime": 1517942461.455 }, { "ConfigurationAggregatorArn": "arn:aws:config:ap-northeast-1:AccountID:config-aggregator/config-aggregator-pokxzldx", "CreationTime": 1517942461.442, "ConfigurationAggregatorName": "InAccessibleAggregator", "AccountAggregationSources": [ { "AllAwsRegions": true, "AccountIds": [ "AccountID1", "AccountID2", "AccountID3" ] } ], "LastUpdatedTime": 1517942461.455 } ] }
nota
Para account-aggregation-sources, escriba una lista separada por comas de los ID de cuenta de AWS cuyos datos desea agregar. Encierre los ID de cuenta entre corchetes y asegúrese de aplicar escape a las comillas (por ejemplo, "[{\"AccountIds\":
[\").AccountID1\",\"AccountID2\",\"AccountID3\"],\"AllAwsRegions\":
true}]"
Asocie la siguiente política de IAM para denegar el acceso a InAccessibleAggregator o el agregador al que desea denegar el acceso.
A continuación, puede confirmar que la política de IAM funciona para restringir el acceso a las reglas al agregador específico.
aws configservice get-aggregate-compliance-details-by-config-rule --configuration-aggregator-name InAccessibleAggregator --config-rule-namerule name--account-idAccountID--aws-regionAwsRegion
El comando debería devolver una excepción de acceso denegado:
An error occurred (AccessDeniedException) when calling the GetAggregateComplianceDetailsByConfigRule operation: User: arn:aws:iam::AccountID:user/is not authorized to perform: config:GetAggregateComplianceDetailsByConfigRule on resource: arn:aws:config:AwsRegion-1:AccountID:config-aggregator/config-aggregator-pokxzldx