in

Presentamos políticas de control de recursos (RCP), un nuevo tipo de política de autorización en AWS Organizations | Servicios web de Amazon

Hoy, me complace presentarles las políticas de control de recursos (RCP): una nueva política de autorización administrada en AWS Organizations que se puede utilizar para establecer los permisos máximos disponibles en los recursos dentro de toda su organización. Son un tipo de control preventivo que le ayuda a establecer un perímetro de datos en su entorno de AWS y restringir el acceso externo a los recursos a escala. Los RCP, que se aplican de manera centralizada dentro de las organizaciones, brindan confianza a los equipos centrales de gobierno y seguridad de que el acceso a los recursos dentro de sus cuentas de AWS se ajusta a las pautas de control de acceso de su organización.

Los RCP están disponibles en todas las regiones comerciales de AWS y, en el momento del lanzamiento, se admiten los siguientes servicios: Amazon Simple Storage Service (Amazon S3), AWS Security Token Service (AWS STS), AWS Key Management Service (AWS KMS), Amazon Simple Queue Service. (Amazon SQS) y AWS Secrets Manager.

No hay cargos adicionales por habilitar y utilizar RCP.

¿En qué se diferencian de las políticas de control de servicios (SCP)?
Si bien son similares en naturaleza, los RCP complementan las políticas de control de servicios (SCP), pero funcionan de forma independiente.

Las políticas de control de servicios (SCP) le permiten limitar los permisos otorgados a las entidades principales dentro de su organización, como los roles de AWS Identity and Access Management (IAM). Al restringir estos permisos de forma centralizada dentro de las organizaciones, puede restringir el acceso a los servicios de AWS, a recursos específicos e incluso bajo qué condiciones los directores pueden realizar solicitudes en múltiples cuentas de AWS.

Los RCP, por otro lado, le permiten limitar los permisos otorgados a los recursos de su organización. Debido a que implementa RCP de manera centralizada dentro de las organizaciones, puede aplicar controles de acceso consistentes a los recursos en múltiples cuentas de AWS. Por ejemplo, puede restringir el acceso a los depósitos de S3 en sus cuentas para que solo puedan acceder a ellos los principales que pertenecen a su organización. Los RCP se evalúan cuando se accede a sus recursos, independientemente de quién realiza la solicitud de API.

Tenga en cuenta que ni los SCP ni los RCP otorgan ningún permiso. Solo establecen los permisos máximos disponibles para los principales y recursos de su organización. Aún debe otorgar permisos con políticas de IAM adecuadas, como políticas basadas en identidad o basadas en recursos.

Las cuotas para los PCC y los RCP son completamente independientes entre sí. Cada RCP puede contener hasta 5120 caracteres. Puede tener hasta cinco RCP adjuntos a la raíz de la organización, cada unidad organizativa y cuenta, y puede crear y almacenar hasta 1000 RCP en una organización.

Cómo empezar
Para comenzar a utilizar RCP, primero debe habilitarlos. Puede hacerlo mediante la consola de Organizations, un SDK de AWS o mediante la interfaz de línea de comandos de AWS (AWS CLI). Asegúrese de estar utilizando la cuenta de administración de Organizaciones o un administrador delegado porque esas son las únicas cuentas que pueden habilitar o deshabilitar tipos de políticas.

Asegúrate de estar utilizando Organizaciones con el «todas las características» opción. Si está utilizando el «Funciones de facturación consolidada”, entonces deberá migrar para usar todas las funciones antes de poder habilitar los RCP.

Para usuarios de consola, primero diríjase a la consola de Organizaciones. Elegir Políticas y deberías ver la opción para habilitar Políticas de control de recursos.

habilitar RCP en la consola de AWS Organizations

Después de habilitar los RCP, notará en el Políticas de control de recursos página que una nueva política llamó RCPFullAWSAccess ya está disponible. Esta es una política administrada por AWS que se crea y adjunta automáticamente a cada entidad de su organización, incluida la raíz, cada unidad organizativa y la cuenta de AWS.

RCPFullAWSAccessPolicy se puede ver en la consola una vez que los RCP están habilitados

Esta política permite que todos los principales realicen cualquier acción contra los recursos de la organización, lo que significa que hasta que comience a crear y adjuntar sus propios RCP, todos sus permisos de IAM existentes seguirán funcionando como lo hacían.

Así es como se ve:

{
  "Version": "2012-10-17",
  "Statement": [
    { 
        "Effect": "Allow", 
        "Principal": "*", 
        "Action": "*", 
        "Resource": "*" 
    }
  ]
}

Creando un RCP

¡Ahora estamos listos para crear nuestro primer RCP! Veamos un ejemplo.

De forma predeterminada, los recursos de AWS no permiten el acceso a entidades principales externas; los propietarios de recursos deben otorgar explícitamente dicho acceso mediante la configuración de sus políticas. Si bien los desarrolladores tienen la flexibilidad de establecer políticas basadas en recursos de acuerdo con las necesidades de sus aplicaciones, los RCP permiten a los equipos de TI centrales mantener el control sobre los permisos efectivos en todos los recursos de su organización. Esto garantiza que incluso si los desarrolladores conceden un acceso amplio, las identidades externas seguirán teniendo acceso restringido de acuerdo con los requisitos de seguridad de la organización.

Creemos un RCP para restringir el acceso a nuestros depósitos de S3 para que solo los directores de nuestra organización puedan acceder a ellos.

en el Políticas de control de recursos página, elija Crear política que lo llevará a la página donde puede crear una nueva política.

crear una nueva página de política de control de recursosVoy a llamar a esta política EnforceOrgIdentities. Le recomiendo que ingrese una descripción clara para que sea fácil entender a primera vista qué hace esta política y etiquetarla adecuadamente.

La siguiente sección es donde puede editar su declaración de política. Reemplazo la plantilla de política precargada por la mía propia:

crear política - sintaxis de políticaAquí está el documento de política JSON completo:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "EnforceOrgIdentities",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": "*",
            "Condition": {
                "StringNotEqualsIfExists": {
                    "aws:PrincipalOrgID": "[MY ORG ID]"
                },
                "BoolIfExists": {
                    "aws:PrincipalIsAWSService": "false"
                }
            }
        }
    ]
}

Analicemos esto:

Versión – Este es un elemento estándar y obligatorio de las políticas de IAM. AWS mantiene la compatibilidad con versiones anteriores, por lo que el uso de la última versión, actualmente 2012-10-17, no infringe las políticas existentes, pero le permite utilizar funciones más nuevas.

Declaración – Una matriz que puede contener uno o más objetos de declaración. Cada uno de estos objetos de declaración define un permiso único o un conjunto de permisos.

sid – Este es un campo opcional que puede resultar útil para la gestión de políticas y la resolución de problemas. Debe ser único dentro del alcance de este documento de política JSON.

Efecto – Como recordará de antes, de forma predeterminada tenemos un RCP que permite el acceso a cada entidad principal, acción y recurso de AWS adjunto a cada entidad de nuestra organización. Por lo tanto, debes utilizar Deny para aplicar restricciones.

Principal – Para un RCP, este campo siempre debe estar configurado en "*". Utilice el campo Condición si desea que esta política se aplique solo a directores específicos.

Acción – Especifica el servicio de AWS y las acciones a las que se aplica esta política. En este caso, queremos negar todas las interacciones con Amazon S3 si no cumplen con nuestras pautas de control de acceso.

Recurso – Especifica los recursos a los que se aplica el RCP.

Condición – Un conjunto de condiciones que se evaluarán para determinar si la política debe aplicarse o no para cada solicitud.

Es importante recordar que todas las condiciones deben evaluarse como verdaderas para que se aplique el RCP. En este caso estamos aplicando dos condiciones:

1. ¿La solicitud fue realizada por un mandante externo?

"StringNotEqualsIfExists": 
 { 
   "aws:PrincipalOrgID": "[MY ORG ID]" 
 }

Esta condición primero verifica si la clave aws:PrincipalOrgID está presente en la solicitud. Si no es así, entonces esta condición se evalúa como verdadera sin más evaluación.

Si existe, compara el valor con el ID de nuestra organización. Si el valor es el mismo, entonces se evalúa como falso, lo que significa que el RCP no se aplicará porque todas las condiciones deben evaluarse como verdaderas. Este es el comportamiento previsto porque no queremos negar el acceso a los directores dentro de nuestra organización.

Sin embargo, si el valor no coincide con el ID de nuestra organización, eso significa que la solicitud fue realizada por un director externo a nuestra organización. La condición se evalúa como verdadera, lo que significa que el RCP aún se puede aplicar potencialmente siempre que la segunda condición también se evalúe como verdadera.

2. ¿La solicitud proviene de un servicio de AWS?

"BoolIfExists": 
   { 
     "aws:PrincipalIsAWSService": "false"
   }

Esta condición prueba si la solicitud contiene una clave especial llamada aws:PrincipalIsAWSService que se inyecta automáticamente en el contexto de solicitud para todas las solicitudes de API firmadas y se establece en verdadero cuando se origina en un servicio de AWS, como AWS CloudTrail, que escribe eventos en su depósito S3. Si la clave no está presente, entonces esta condición se evalúa como true.

Si existe, comparará el valor con lo que declaramos en nuestra declaración. En este caso, estamos probando si el valor es igual a false. Si es así, volvemos. true ya que eso significaría que la solicitud no fue realizada por un servicio de AWS y potencialmente podría haberla realizado alguien fuera de nuestra organización. De lo contrario, volvemos false.

En otras palabras, si la solicitud no se originó en una entidad principal dentro de nuestra organización y no se originó en un servicio de AWS, se deniega el acceso al depósito de S3.

Esta política es solo una muestra y debe adaptarla para cumplir con sus objetivos comerciales y de seguridad únicos. Por ejemplo, es posible que desee personalizar esta política para permitir el acceso de sus socios comerciales o restringir el acceso a los servicios de AWS para que puedan acceder a sus recursos solo en su nombre. Consulte Establecer un perímetro de datos en AWS: permitir que solo identidades confiables accedan a los datos de la empresa para obtener más detalles.

Adjuntar un RCP
El proceso de adjuntar un RCP es similar al de un SCP. Como se mencionó anteriormente, puede adjuntarlo a la raíz de su organización, a una unidad organizativa o a cuentas de AWS específicas dentro de su organización.

adjuntar una póliza

Una vez adjunto el RCP, las solicitudes de acceso a los recursos de AWS afectados deben cumplir con las restricciones del RCP. Le recomendamos que pruebe exhaustivamente el impacto que tiene el RCP en los recursos de sus cuentas antes de aplicarlo a escala. Puede comenzar adjuntando RCP a cuentas de prueba individuales o unidades organizativas de prueba.

Verlo en acción
Ya he creado y adjuntado mi RCP, ¡así que estoy listo para verlo en la práctica! Supongamos que un desarrollador adjuntó una política basada en recursos a un depósito S3 en nuestra organización y dio acceso explícitamente a identidades en una cuenta externa:

política de depósito con ID de cuenta externa

Los RCP no impiden que los usuarios guarden políticas basadas en recursos que sean más permisivas de lo que permite el RCP. Sin embargo, el RCP se evaluará como parte del proceso de autorización, como hemos visto anteriormente, por lo que la solicitud de identidades externas se rechazará de todos modos.

Podemos probar esto intentando acceder al depósito con esta cuenta externa, esta vez desde la CLI de AWS:


$ aws s3api get-object —bucket 123124ffeiufskdjfgbwer \
  --key sensitivefile.txt \
  --region us-east-1 local_file

An error occurred (AccessDenied) when calling the GetObject operation: Access Denied

Ampliar la implementación de RCP en su entorno
Hasta ahora hemos visto cómo podemos gestionar los RCP utilizando la consola. Sin embargo, para la gestión del control a gran escala, debe considerar configurarlos como infraestructura como código y asegurarse de que estén integrados en sus canales y procesos existentes de integración continua y entrega continua (CI/CD).

Si utiliza AWS Control Tower, puede implementar controles basados ​​en RCP además de controles basados ​​en SCP. Por ejemplo, puede utilizar AWS Control Tower para implementar un RCP similar al que creamos en el ejemplo anterior, que evita que los principales externos accedan a los depósitos de S3 en nuestra organización. Esto garantiza que los RCP se apliquen de manera consistente a los recursos en las cuentas administradas, simplificando y centralizando la gobernanza del control de acceso a escala.

Además, al igual que los SCP, AWS Control Tower también admite la detección de deriva para RCP. Si se modifica o elimina un RCP fuera de AWS Control Tower, se le notificará la desviación y se le proporcionarán los pasos para solucionarlo.

Conclusión
Las políticas de control de recursos (RCP) ofrecen administración centralizada sobre los permisos máximos disponibles para los recursos de AWS en su organización. Junto con los SCP, los RCP le ayudan a establecer de forma centralizada un perímetro de datos en todo su entorno de AWS y evitar el acceso no deseado a escala. Los SCP y RCP son controles independientes que le permiten alcanzar un conjunto distinto de objetivos de seguridad. Puede optar por habilitar solo SCP o RCP, o utilizar ambos tipos de políticas juntos para establecer una base de seguridad integral como parte del modelo de seguridad de defensa en profundidad.

Para obtener más información, consulte Políticas de control de recursos (RCP) en la Guía del usuario de AWS Organizations.

Matheus Guimaraes | @codificacionmatheus

Fuente

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

GIPHY App Key not set. Please check settings

¿Cuánta MacBook necesitas realmente?

Reducción de precio de PS5 para las fiestas editada a partir del nuevo tráiler de Sony

Reducción de precio de PS5 para las fiestas editada a partir del nuevo tráiler de Sony