View a markdown version of this page

Restricción del acceso a parámetros y rutas específicos - AWS Systems Manager

Restricción del acceso a parámetros y rutas específicos

Utilice el siguiente enfoque para restringir el acceso a un parámetro o conjunto de parámetros. Este enfoque refleja el comportamiento de autorización descrito en Cómo Parameter Store autoriza la recuperación de parámetros.

Restricción del acceso a parámetros o rutas específicos
  1. Prefiera conceder un acceso restringido en lugar de denegar un acceso amplio. Siempre que sea posible, aplique instrucciones Allow al conjunto más pequeño de parámetros que necesite una entidad principal, en lugar de conceder un acceso amplio y luego reducirlo. Una instrucción Allow que nunca concede acceso a un parámetro no depende de que se enumeren todas las acciones correctamente.

  2. Separe los parámetros confidenciales en su propia ruta. Restringir el acceso es más sencillo cuando los parámetros confidenciales no comparten una ruta con parámetros que las entidades principales pueden leer. Por ejemplo, guarde los valores restringidos en /myapp/restricted/ en lugar de junto a la configuración general en /myapp/config/. Para obtener más información sobre la organización de parámetros, consulte Trabajo con jerarquías de parámetros en Parameter Store.

  3. Al denegar el acceso, deniegue todas las acciones que puedan devolver el valor. Incluya ssm:GetParameter, ssm:GetParameters, ssm:GetParameterHistory y ssm:GetParametersByPath, o utilice ssm:GetParameter* para que coincidan los cuatro.

  4. Para GetParametersByPath, deniegue todas las rutas antecesoras. Una denegación en el propio ARN del parámetro no impide que el parámetro sea devuelto por una llamada a una ruta superior a él. Para proteger /myapp/restricted/db-password, deniegue ssm:GetParametersByPath para /myapp/restricted, /myapp y /.

  5. Para los parámetros SecureString, restrinja kms:Decrypt en la clave de KMS. Para recuperar un valor SecureString descifrado se requiere el permiso kms:Decrypt en la clave que lo cifró, independientemente de la operación Parameter Store que se utilice. Por lo tanto, denegar kms:Decrypt impide el descifrado en todas las rutas de recuperación. Consulte Restricción del descifrado de los valores de los parámetros SecureString.

  6. Verifique el resultado. Pruebe cada operación de recuperación como la entidad principal restringida. Incluya una comparación de GetParametersByPath con cada ruta antecesora para confirmar que la política se comporta según lo previsto. También puede utilizar el simulador de políticas de IAM para evaluar una política comparándola con acciones y recursos específicos.

Para obtener más información sobre cómo IAM combina instrucciones Allow y Deny, consulte Lógica de evaluación de políticas en la Guía del usuario de IAM.