Este documento describe el proceso para utilizar restricciones basadas en el contexto para proteger sus recursos Cloud Databases. Utilice este documento para preparar sus recursos para las restricciones basadas en el contexto. Cloud Databases no ofrece reglas de alcance al plano de control en esta fase actual de implementación.
Restricciones basadas en contexto
Las restricciones basadas en el contexto ofrecen a los propietarios y administradores de cuentas la posibilidad de definir y aplicar restricciones de acceso a los recursos de IBM Cloud® basadas en el contexto de las solicitudes de acceso. El acceso a los recursos Cloud Databases puede controlarse con restricciones basadas en el contexto y políticas de Identity and Access Management (IAM).
Estas restricciones trabajan con políticas de IAM tradicionales, que se basan en la identidad, para proporcionar una capa de protección adicional. A diferencia de las políticas de IAM, las restricciones basadas en contexto no asignan el acceso. Las restricciones basadas en contexto comprueban que una solicitud de acceso provenga de un contexto permitido configurado. Como el acceso de IAM y las restricciones basadas en el contexto imponen el acceso, las restricciones basadas en el contexto ofrecen protección aunque las credenciales estén comprometidas o mal gestionadas. Para obtener más información, consulte Qué son las restricciones basadas en el contexto.
Un usuario debe tener el rol de Administrador en el servicio Cloud Databases para crear, actualizar o eliminar reglas. Para crear, actualizar o eliminar zonas de red, el usuario también debe tener la función de Editor o Administrador en el servicio de restricciones basadas en el contexto. Un usuario con el rol de Visor en el servicio de restricciones basadas en contexto puede añadir zonas de red a una regla.
Cualquier evento IBM Cloud Activity Tracker o de registro de auditoría generado procede del servicio de restricciones basadas en el contexto, no de Cloud Databases. Cloud Databases admite eventos de auditoría sólo para interacciones de clientes con llamadas a puntos finales de plataformas protegidas por restricciones basadas en el contexto. Cloud Databases no admite eventos de auditoría cuando habilita reglas de restricciones basadas en el contexto en la API del plano de control para sus instancias. Para obtener más información, consulte Supervisión de las restricciones basadas en el contexto.
Para empezar a proteger sus recursos Cloud Databases con restricciones basadas en el contexto, consulte el tutorial para Aprovechar las restricciones basadas en el contexto para proteger sus recursos.
Cómo se integra Cloud Databases con las restricciones basadas en el contexto
Puede crear restricciones basadas en el contexto para el servicio Cloud Databases, recursos específicos y API específicas.
Protección de recursos Cloud Databases
Puede crear reglas de restricción basadas en el contexto para proteger regiones, grupos de recursos e instancias específicas.
- Región
- Protege los recursos Cloud Databases de una región específica. Si incluye una región en su regla de restricciones basadas en el contexto, los recursos de las zonas de red que asocie a la regla sólo podrán interactuar con los recursos de
esa región. Si utiliza la CLI, puede especificar la opción
--region
para proteger los recursos de una región específica. Si utiliza la interfaz de usuario, puede especificar la región en los atributos del recurso. - Grupos de recursos
- Protege un grupo de recursos específico. Si incluye un grupo de recursos en su regla de restricciones basadas en el contexto, los recursos de las zonas de red que asocie a la regla sólo podrán interactuar con los recursos de ese grupo de
recursos. La delimitación de una regla a un grupo de recursos específico sólo está disponible para las reglas que protegen el tipo de API de clúster. Si utiliza la CLI, puede especificar la opción
--resource-group-id
para proteger los recursos de un grupo de recursos específico. Si utiliza la interfaz de usuario, puede especificar el grupo de recursos en los atributos del recurso. - Instancia
- Protege una instancia específica. Si incluye una instancia en su regla de restricciones basadas en contexto, los recursos de las zonas de red que asocie a la regla sólo podrán interactuar con los recursos de esa instancia. El alcance de
una regla a una instancia específica sólo está disponible para las reglas que protegen el tipo de API de clúster. Si utiliza la CLI, puede especificar la opción
--service-instance
para proteger instancias en un grupo de recursos específico. Si utiliza la interfaz de usuario, puede especificar la instancia del servicio en los atributos del recurso.
Uso de la interfaz de línea de comandos (CLI)
Puede crear y gestionar restricciones basadas en contexto con IBM Cloud CLI instalando el complemento CLI de restricciones basadas en contexto.
Creación de zonas de red
Una zona de red representa una lista de elementos permitidos de direcciones IP donde se crea una solicitud de acceso. Define un conjunto de una o varias ubicaciones de red que se especifican mediante los siguientes atributos:
- Direcciones IP, que incluyen direcciones individuales, rangos o subredes.
- VPCs.
Creación de zonas de red en la interfaz de usuario
-
Vaya a Gestionar > Restricciones basadas en contexto en la consola IBM Cloud®.
-
Seleccione Zonas de red.
-
Pulse Crear.
-
Asigne un nombre a su zona de red y facilite una descripción.
-
Introduzca las direcciones IP permitidas. Puede introducir una única dirección IP, un rango de direcciones IP o un único CIDR.
El campo Direcciones IP denegadas es opcional y debe incluir sólo las excepciones que estén contenidas dentro de los rangos de IP que proporcione en el campo Direcciones IP permitidas.
-
Elija sus VPC permitidas, seleccionando tantas como desee.
-
Hacer referencia a un servicio: Puede seleccionar Cloud Databases como servicio de origen para las restricciones basadas en contexto, pero no como servicio de destino. Por ejemplo, puede aprovisionar una instancia Cloud Databases utilizando BYOK de IBM® Key Protect for IBM Cloud®. En este ejemplo, Cloud Databases es la formación de origen y IBM® Key Protect for IBM Cloud® es la formación de destino. A continuación, crearía una zona de red con una referencia de servicio Cloud Databases y crearía una regla asociada a la zona de red que se dirigiera a IBM® Key Protect for IBM Cloud®. Para añadir una referencia de servicio Cloud Databases, para Tipo de servicio, se autoselecciona Servicios IAM. En el menú desplegable Servicio, seleccione un servicio Cloud Databases específico. Si la zona que crea está asociada a una regla dirigida a Cloud Databases, no se permite una referencia de servicio.
Las referencias de servicio sólo funcionan de Key Protect servicio a Cloud Databases.
Crear zonas de red en la CLI
Para crear zonas de red en la CLI, utilice el comando cbr-zone-create
para añadir recursos a las zonas de red. Para obtener más información, consulte la referencia CLI de restricciones basadas en contexto.
Crea una zona utilizando un comando como:
ibmcloud cbr zone-create --addresses=1.1.1.1,5.5.5.5 --name=<NAME>
Creación de zonas de red en Terraform
Para crear zonas en Terraform, siga las instrucciones de la documentación del proveedor deIBM Cloud Terraform.
Ejemplo de script Terraform para crear una zona CBR:
resource "ibm_cbr_zone" "cbr_zone" {
account_id = "12ab34cd56ef78ab90cd12ef34ab56cd"
addresses {
type = "ipAddress"
value = "169.23.56.234"
}
addresses {
type = "ipRange"
value = "169.23.22.0-169.23.22.255"
}
excluded {
type = "ipAddress"
value = "169.23.22.10"
}
excluded {
type = "ipAddress"
value = "169.23.22.11"
}
description = "this is an example of zone"
excluded {
type = "ipAddress"
value = "value"
}
name = "an example of zone"
}
Actualizar zonas de red en la CLI
Actualizar una zona utilizando un comando como:
ibmcloud cbr zone-update <ZONE-ID> --addresses=1.2.3.4 --name=<NAME>
La actualización requiere el ZONE-ID
, no el nombre de la zona. Utilice el siguiente comando para listar sus zonas y recuperar los ZONE-ID
correspondientes:
ibmcloud cbr zones
El comando zone-update
es una sobreescritura. Incluya todos los campos obligatorios como si estuviera creando la regla desde cero. Si omite algún campo obligatorio, la regla sobrescribe esos campos que faltan como vacíos, y la
regla podría fallar porque algunos de esos campos son obligatorios, independientemente de si están cambiando la regla.
Eliminar zonas de red en la CLI
Borre una zona utilizando un comando como:
ibmcloud cbr zone-delete <ZONE-ID>
Creación de reglas
Las reglas restringen el acceso a recursos específicos de la nube en función de los atributos y contextos de los recursos. Una regla creada puede aceptar hasta 2.000 valores IP/CIDR para puntos finales privados y hasta 2.000 valores IP/CIDR para puntos finales públicos. Este límite es específico de Cloud Databases. Los límites de otros servicios IBM Cloud® pueden variar.
Cloud Databases no soporta direcciones IPv6. Si se incluye una dirección IPv6, se ignorará.
Cierre total del acceso a los puntos finales no permitidos: Para ofrecer un marco de seguridad más sólido, hemos aplicado un cambio significativo en el control de acceso a los puntos finales públicos y privados. A partir de ahora, el acceso a los puntos finales públicos y privados que no estén explícitamente incluidos en la lista de permitidos estará totalmente cerrado. Esta restricción garantiza únicamente el acceso autorizado a sus terminales, minimizando el riesgo de acceso no autorizado.
Creación de reglas en la interfaz de usuario
-
Vaya a Gestionar > Restricciones basadas en contexto en la consola IBM Cloud®.
-
Seleccione Reglas.
-
Pulse Crear.
-
En Servicio, seleccione el servicio al que desea dirigir su regla.
-
En APIs, seleccione
Data plane
. Actualmente, cualquier otra selección da lugar a un error.se esperan 0 acciones para el tipo de API Plano de Datos.
Cloud Databases no admite actualmente Plano de control como opción.
-
En Recursos, amplíe la regla a Todos los recursos o a Recursos específicos. Para obtener más información, consulte Protección de recursos Cloud Databases.
-
Pulse Continuar.
-
Define los tipos de extremos permitidos.
- Mantenga el conmutador en No para permitir todos los tipos de endpoint.
- Seleccione Sí para permitir sólo determinados tipos de terminales y, a continuación, elija de la lista.
-
Seleccione una o varias zonas de red que ya haya creado, o cree una nueva zona de red haciendo clic en Crear.
Los contextos definen desde dónde se puede acceder a sus recursos, vinculando eficazmente su zona de red a su regla.
-
Haga clic en Añadir para añadir su configuración al resumen.
-
Pulse Siguiente.
-
Ponle nombre a tu regla.
-
Seleccione cómo desea aplicar la regla.
Report-only no está disponible para Cloud Databases.
Crear reglas en la CLI
Para crear una regla en la CLI, necesita el Cloud Databases service_name
apropiado:
databases-for-postgresql
databases-for-mongodb
databases-for-redis
databases-for-elasticsearch
database-for-mysql
messages-for-rabbitmq
databases-for-enterprisedb
databases-for-etcd
El resto de parámetros que aparecen a continuación se explican en la guía de referencia del plugin CBR.
Ejemplo de comando para crear una regla CBR:
ibmcloud cbr rule-create --enforcement-mode enabled --context-attributes "networkZoneId=<ZONE-ID>" --resource-group-id <RESOURCE_GROUP_ID> --service-name <SERVICE-NAME> --service-instance <SERVICE-INSTANCE> --api-types crn:v1:bluemix:public:context-based-restrictions::::api-type:data-plane --description <DESCRIPTION>
La única api-type
opción que admite actualmente Cloud Databases es Plano de datos.
Report-only no está disponible para Cloud Databases.
Actualizar reglas en la CLI
Ejemplo de comando para actualizar una regla CBR:
ibmcloud cbr rule-update <RULE-ID> --enforcement-mode disabled --context-attributes="networkZoneId=<ZONE-ID>" --resource-group-id <RESOURCE_GROUP_ID> --service-name <SERVICE_NAME> --api-types crn:v1:bluemix:public:context-based-restrictions::::api-type:data-plane --description <DESCRIPTION>
El comando rule-update
es una sobreescritura. Incluya todos los campos obligatorios como si estuviera creando la regla desde cero. Si omite algún campo obligatorio, la regla sobrescribe esos campos que faltan como vacíos, y la
regla podría fallar porque algunos de esos campos son obligatorios, independientemente de si están cambiando la regla.
La actualización requiere el RULE-ID
, no el nombre de la regla. Utilice el siguiente comando para listar sus reglas y recuperar los RULE-ID
relevantes:
ibmcloud cbr rules
Borrar reglas en la CLI
Borra una regla utilizando un comando como:
ibmcloud cbr rule-delete <RULE-ID>
Utilice ibmcloud cbr <command> — help
para obtener una lista completa de opciones y parámetros. Por ejemplo, ibmcloud cbr rule-create — help
emite parámetros para la creación de reglas.
Creación de reglas en Terraform
Para crear reglas en Terraform, siga las instrucciones de la documentación del proveedor deIBM Cloud Terraform.
Para crear una regla, necesita el Cloud Databases service_name
apropiado:
databases-for-postgresql
databases-for-mongodb
databases-for-redis
databases-for-elasticsearch
database-for-mysql
messages-for-rabbitmq
databases-for-enterprisedb
databases-for-etcd
Crea una regla utilizando un comando como:
resource "ibm_cbr_rule" "cbr_rule" {
contexts {
attributes {
name = "networkZoneId"
value = "559052eb8f43302824e7ae490c0281eb"
}
attributes {
name = "endpointType"
value = "private"
}
}
description = "this is an example of a rule with one context one zone"
enforcement_mode = "enabled"
operations {
api_types {
api_type_id = "api_type_id"
}
}
resources {
attributes {
name = "accountId"
value = "12ab34cd56ef78ab90cd12ef34ab56cd"
}
attributes {
name = "serviceName"
value = "network-policy-enabled"
}
tags {
name = "tag_name"
value = "tag_value"
}
}
}
Verificación de la regla
Para comprobar que su regla se aplica, vaya al IBM Cloud® Y seleccione la instancia correspondiente de la lista de recursos. Dentro de Tareas recientes, verá el estado de su regla.
La tarea de crear o modificar una regla va a la cola de tareas de su instancia. Dependiendo de la carga de trabajo, la aplicación de las normas puede tardar algún tiempo en completarse.