Ejemplos de política de seguridad

Descubra cómo utilizar políticas para crear administradores de nivel de servicio con privilegios mínimos, restringir la capacidad de los administradores para cambiar la pertenencia a grupos de administradores de arrendamiento y cómo evitar que los administradores supriman o actualicen políticas de seguridad, así como impedir que accedan o modifiquen las credenciales de usuario.

Hay disponibles ejemplos de políticas de seguridad de IAM comunes en Políticas comunes. En todos los ejemplos que aparecen a continuación, las políticas se pueden acotar a un arrendamiento. Sin embargo, al especificar un nombre de compartimento, puede acotar las políticas para compartimientos específicos en un arrendamiento.

Crear administradores de nivel de servicio para privilegios mínimos

Para implementar el principio de seguridad de privilegios mínimos, puede crear administradores de nivel de servicio en el arrendamiento para acotar más el acceso administrativo. Esto significa que los administradores de nivel de servicio solo pueden gestionar recursos de un servicio específico. Por ejemplo, los administradores de red requieren acceso administrativo (manage) solo a los recursos de VCN, y no a otros recursos. El siguiente ejemplo muestra cómo crear grupos de administradores para almacenamiento de bloques (VolumeAdmins), VCN (NetworkAdmins), bases de datos (DBAdmins) y almacenamiento de objetos (StorageAdmins).

Allow group TenancyAdmins to manage all-resources in tenancy
Allow group VolumeAdmins to manage volume-family in tenancy
Allow group NetworkAdmins to manage virtual-network-family in tenancy
Allow group StorageAdmins to manage object-family in tenancy
Allow group DBAdmins to manage database-family in tenancy

Puede restringir aún más las políticas de seguridad a un compartimento específico. Por ejemplo, el departamento de RR. HH. de una empresa puede crear el grupo HRAdmins para gestionar recursos dentro de su compartimento, HR-compartment. El grupo HRNetworkAdmins tiene acceso administrativo a los recursos de VCN solo en el compartimento HR-compartment.

Allow group HRAdmins to manage all-resources in compartment HR-compartment
Allow group HRNetworkAdmins to manage virtual-network-family in compartment HR-compartment

Los auditores de conformidad se encargan de examinar los recursos en la nube y de verificar las infracciones de políticas. La siguiente política permite al grupo InternalAuditors inspeccionar (list) todos los recursos en un arrendamiento.

Allow group InternalAuditors to inspect all-resources in tenancy

Si desea limitar que los auditores solo inspeccionen usuarios y grupos en un arrendamiento, puede crear un grupo UserAuditors con la siguiente política:

Allow group UserAuditors to inspect users in tenancy
Allow group UserAuditors to inspect groups in tenancy

Si desea crear un grupo de auditores que solo pueda inspeccionar firewalls de VCN en el arrendamiento, utilice la siguiente política:

Allow group FirewallAuditors to inspect security-lists in tenancy

En todos los ejemplos de políticas, puede restringir las políticas a un compartimento especificando Compartment <name> (donde <name> es el nombre del compartimento) en la política.

Restringir la capacidad para cambiar la afiliación del grupo de administradores del arrendamiento

Los miembros del grupo Administrators pueden gestionar todos los recursos de un arrendamiento. Los usuarios del grupo controlan la afiliación del grupo Administrators. Normalmente, es conveniente tener un grupo para crear y agregar usuarios en el arrendamiento, pero hay que restringirlo para que no puedan realizar cambios en la afiliación del grupo Administrators. En el siguiente ejemplo se crea un grupo UserAdmins para llevar esto a cabo.

Allow group UserAdmins to inspect users in tenancy
Allow group UserAdmins to inspect groups in tenancy
Allow group UserAdmins to use users in tenancy
 where target.group.name!='Administrators'
Allow group UserAdmins to use groups in tenancy
 where target.group.name!='Administrators'

Utilizar el verbo con condiciones (tercera y cuarta sentencia de política) permite a UserAdmins agregar usuarios y grupos mediante las API (UpdateUser, UpdateGroup) a todos los grupos del arrendamiento, excepto el grupo Administrators. Sin embargo, dado que target.group.name!='Administrators no está relacionado con las API list y get (ListUsers, GetUser, ListGroups y GetGroup), estas API fallarán. Por lo tanto, debe agregar explícitamente el verbo inspect (primera y segunda sentencia de política) para permitir a UserAdmins obtener información sobre los usuarios y la afiliación del grupo.

Evitar la supresión o actualización de políticas de seguridad

En el siguiente ejemplo se crea un grupo PolicyAdmins para poder crear y mostrar las políticas de seguridad creadas por los administradores de arrendamiento, pero no suprimirlas ni actualizarlas.

Allow group PolicyAdmins to use policies in tenancy
Allow group PolicyAdmins to manage policies in tenancy
 where request.permission='POLICY_CREATE'

Esta sentencia de política de seguridad solo permite permisos POLICY_CREATE, no POLICY_DELETE y POLICY_UPDATE.

Evitar que los administradores puedan acceder o modificar las credenciales de usuario

Algunos requisitos de conformidad requieren la separación de obligaciones, especialmente donde la funcionalidad de gestión de credenciales de usuario está separada de la gestión del arrendamiento. En este caso, puede crear dos grupos de administración, TenancyAdmins y CredentialAdmins, donde TenancyAdmins puede realizar todas las funciones de gestión del arrendamiento excepto la gestión de credenciales de usuario, y CredentialAdmins puede gestionar las credenciales de usuario. TenancyAdmins puede acceder a todas las API, excepto a las que muestran, actualizan o suprimen credenciales de usuario. CredentialAdmins solo puede gestionar las credenciales de usuario.

Allow group TenancyAdmins to manage all resources in tenancy
 where all {request.operation!='ListApiKeys',
            request.operation!='ListAuthTokens',
            request.operation!='ListCustomerSecretKeys',
            request.operation!='UploadApiKey',
            request.operation!='DeleteApiKey',
            request.operation!='UpdateAuthToken',
            request.operation!='CreateAuthToken',
            request.operation!='DeleteAuthToken',
            request.operation!='CreateSecretKey',
            request.operation!='UpdateCustomerSecretKey',
            request.operation!='DeleteCustomerSecretKey'}
Allow group CredentialAdmins to manage users in tenancy
 where any {request.operation='ListApiKeys',
            request.operation='ListAuthTokens',
            request.operation='ListCustomerSecretKeys',
            request.operation='UploadApiKey',
            request.operation='DeleteApiKey',
            request.operation='UpdateAuthToken',
            request.operation='CreateAuthToken',
            request.operation='DeleteAuthToken',
            request.operation='CreateSecretKey',
            request.operation='UpdateCustomerSecretKey',
            request.operation='DeleteCustomerSecretKey'}