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'}