Protección de recursos de Secrets Manager con restricciones basadas en contexto
Después de configurar la instancia de servicio de IBM Cloud® Secrets Manager, puede gestionar el acceso utilizando restricciones basadas en contexto(CBR).
Gestión de valores de CBR
Con las restricciones basadas en el contexto, puede definir y aplicar restricciones de acceso de usuarios y servicios a los recursos de Secrets Manager en función de criterios especificados.
Puede controlar los recursos de Secrets Manager con restricciones basadas en contexto y políticas de gestión de identidad y acceso (IAM). Estos recursos incluyen referencias de Virtual Private Cloud (VPC) y direcciones Internet Protocol (IP) que están enlazadas a la instancia de Secrets Manager.
Estas restricciones funcionan con las políticas IAM tradicionales, que se basan en la identidad, para proporcionar otra capa de protección. 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 Administrator en el servicio Secrets Manager para crear, actualizar o eliminar reglas. Un usuario también debe tener el rol Editor o Administrator en el servicio de restricciones
basadas en contexto para crear, actualizar o suprimir zonas de red. Un usuario con el rol Viewer en el servicio de restricciones basadas en contexto sólo puede añadir zonas de red a una regla.
Los sucesos de registro de auditoría o IBM Cloud Activity Tracker que se generen proceden del servicio de restricciones basadas en contexto, no de Secrets Manager. Para obtener más información, consulte Supervisión de restricciones basadas en contexto.
Para empezar a proteger los recursos de Secrets Manager con restricciones basadas en contexto, consulte la guía de aprendizaje para Aprovechar las restricciones basadas en contexto para proteger los recursos.
Cómo se integra Secrets Manager con restricciones basadas en contexto
Para restringir el acceso, debe crear zonas y reglas.
En primer lugar, cree una zona con los detalles adecuados para las definiciones de red o de recursos. A continuación, adjunte esa zona al recurso especificado para restringir el acceso. Puede crear zonas y reglas utilizando una API RESTful o con restricciones basadas en contexto. Después de crear o actualizar una zona o una regla, el cambio puede tardar unos minutos en entrar en vigor.
Las reglas de CBR no se aplican a los procesos de suministro o de cese de suministro.
Limitaciones
Cuando un usuario tiene acceso de IAM a nivel de instancia, las reglas CBR que se aplican a grupos de secretos específicos no entran en vigor. Para solucionar esta limitación, establezca las políticas de acceso de IAM del usuario en sólo grupos de secretos.
Las restricciones basadas en contexto protegen solo las acciones asociadas con la APISecrets Manager. Las acciones asociadas con las siguientes API de plataforma no están protegidas por restricciones basadas en contexto. Consulte la documentación de la API para ver los ID de acción específicos.
Creación de zonas de red
Al crear zonas de red, puede definir una lista de elementos permitidos de ubicaciones de red donde se originan las solicitudes de acceso para determinar cuándo se puede aplicar una regla. La lista de ubicaciones de red se puede especificar mediante los atributos siguientes:
- Direcciones IP, que incluyen direcciones individuales, rangos o subredes.
- VPC
- Referencias de servicio, que permiten el acceso desde otros servicios de IBM Cloud.
Asegúrese de añadir Secrets Manager a las zonas de red para las reglas dirigidas a otros recursos de IBM Cloud, o algunas operaciones de su flujo de trabajo podrían fallar.
Si usted creó un servidor virtual IBM Cloud en la infraestructura clásica de su Nube Virtual, la dirección IP privada que debe usar para la regla CBR es una IP de puerta de enlace de la Nube Virtual. No utilice la dirección IP interna para el servidor virtual en la infraestructura clásica. Para encontrar la dirección IP de la pasarela, seleccione la dirección IP de origen del punto final del servicio IBM Cloud correspondiente en su Infraestructura de Nube Virtual.
Creación de zonas de red mediante la API
Puede crear zonas de red utilizando el mandato create-zone. Para obtener más información, consulte la documentación de la API. Puede añadir Secrets Manager a las zonas de red como referencia de servicio para permitir que Secrets Manager acceda a los recursos y servicios de su cuenta sujetos a una regla.
El atributo serviceRef para Secrets Manager es secrets-manager.
Puede determinar qué servicios están disponibles buscando destinos de referencia.
Carga útil de ejemplo para añadir Secrets Manager a una zona de red.
{
"name": "Example zone 1",
"description": "",
"addresses": [
{
"type": "serviceRef",
"ref": {
"service_name": "secrets-manager",
"account_id": "ACCOUNT-ID"
}
}
]
}
Carga útil de ejemplo para añadir varios servicios, direcciones IP y VPC a una zona de red.
{
"name": "zone",
"description": "",
"addresses": [
{
"type": "ipAddress",
"value": "192.168.0.0"
},
{
"type": "vpc",
"value": "crn:v1:bluemix:public:is:us-east:a/CRN"
},
{
"type": "vpc",
"value": "crn:v1:bluemix:public:is:us-south:a/CRN"
},
{
"type": "serviceRef",
"ref": {
"service_name": "cloud-object-storage",
"account_id": "ACCOUNT-ID"
}
},
{
"type": "serviceRef",
"ref": {
"service_name": "codeengine",
"account_id": "ACCOUNT-ID"
}
},
{
"type": "serviceRef",
"ref": {
"service_name": "containers-kubernetes",
"account_id": "ACCOUNT-ID"
}
},
{
"type": "serviceRef",
"ref": {
"service_type": "platform_service",
"account_id": "ACCOUNT-ID"
}
},
{
"type": "serviceRef",
"ref": {
"service_name": "iam-groups",
"account_id": "ACCOUNT-ID"
}
}
],
"excluded": []
}
Después de crear zonas, puede actualizarlas o eliminarlas.
Creación de zonas de red mediante la interfaz de usuario
Después de establecer los requisitos previos y los requisitos, puede crear zonas en la interfaz de usuario. Para obtener más información, consulte Creación de restricciones basadas en contexto.
- Determine los recursos que desea añadir a la lista de elementos permitidos.
- Siga los pasos para crear restricciones basadas en contexto en la consola. Añada el servicio Secrets Manager a las zonas de red para permitir que IBM Cloud® Secrets Manager acceda a los servicios y recursos de su cuenta.
Después de crear zonas, también puedes actualizarlas o eliminarlas.
Creación de zonas de red mediante la CLI
Puede utilizar el mandato cbr-zone-create para añadir ubicaciones de red, VPC y referencias de servicio a zonas de red. Para obtener más información, consulte la referencia de CLI de CBR. Añada Secrets Manager a las zonas de red como referencia de servicio para permitir que Secrets Manager acceda a los recursos y servicios de su cuenta sujetos a una regla.
- Para crear zonas de red desde la CLI, instale el plugin de CLI de CBR.
- Utilice el mandato
cbr-zone-createpara añadir recursos a zonas de red. Para obtener más información, consulte la referencia de CLI de CBR. Tenga en cuenta queservice_namepara Secrets Manager essecrets-manager.
Para encontrar una lista de referencias de servicio disponibles, ejecute ibmcloud cbr service-ref-targets mandato.
Mandato de ejemplo para añadir el servicio secrets-manager a una zona de red.
ibmcloud cbr zone-create --name example-zone-1 --description "Example zone 1" --service-ref service_name=secrets-manager
Reglas de comprensión
Una vez creadas las zonas, puede asociarlas a sus recursos de red mediante la creación de reglas. Cuando añade recursos a una regla, puede elegir entre los tipos de puntos finales disponibles que son específicos de la topología de red.
Crear reglas mediante la API
Puede definir reglas con la API utilizando la información que ha recopilado de la creación de zonas de red.
Revise el ejemplo siguiente para aprender a crear reglas para Secrets Manager. Para obtener más información, consulte la documentación de la API.
La siguiente carga útil de ejemplo crea una regla que protege el clúster de CLUSTER-ID. Solo los recursos de la zona NETWORK-ZONE-ID pueden acceder al clúster. Dado que no se especifica ningún operations,
los recursos de la zona NETWORK-ZONE-ID pueden acceder a las API cluster y management.
{
"description": "Example rule 1",
"resources": [
{
"attributes": [
{
"name": "accountId",
"value": "ACCOUNT-ID"
},
{
"name": "serviceName",
"value": "secrets-manager"
},
{
"name": "serviceInstance",
"value": "CLUSTER-ID"
}
]
}
],
"contexts": [
{
"attributes": [
{
"name": "networkZoneId",
"value": "NETWORK-ZONE-ID"
},
{
"name": "endpointType",
"value": "private"
}
]
}
]
}
Después de crear reglas, puede actualizar y suprimirlas.
Creación de reglas mediante la interfaz de usuario
Después de establecer los requisitos previos y los requisitos, puede crear reglas en la interfaz de usuario.
- Determine los recursos que desea añadir a la lista de elementos permitidos.
- Siga los pasos para crear restricciones basadas en contexto en la consola. Añada el servicio Secrets Manager a las zonas de red para permitir que IBM Cloud® Secrets Manager acceda a los servicios y recursos de su cuenta.
Después de crear reglas, puede actualizar y suprimirlas.
Crear reglas utilizando la CLI
Revise los ejemplos siguientes para aprender a crear reglas para Secrets Manager. Para obtener más información, consulte la referencia de CLI de CBR.
- Para crear reglas desde la CLI, instale el plugin de CLI CBR.
- Puede utilizar
ibmcloud cbr rule-createmandato para crear reglas CBR. Para obtener más información, consulte la referencia de CLI de CBR. Tenga en cuenta queservice_namepara Secrets Manager essecrets-manager. Para buscar una lista de nombres de servicio, ejecute el mandatoibmcloud cbr service-ref-targets. Para encontrar una lista de tipos de API para un servicio, ejecute el mandatoibmcloud cbr api-types --service-name SERVICE.
Mandato de ejemplo para crear una regla que utilice la clave addresses y el tipo de API cluster y el tipo ipAddress.
ibmcloud cbr rule-create my-rule-1 --service-name secrets-manager --api-type crn:v1:bluemix:public:secrets-manager::::api-type:cluster --zone-id ZONE-ID
El mandato siguiente crea una regla que protege el clúster de CLUSTER-ID. Solo los recursos de la zona de red de NETWORK-ZONE-ID pueden acceder al clúster. Esta regla incluye los tipos de API cluster y management.
ibmcloud cbr rule-create my-rule-2 --service-name secrets-manager --service-instance CLUSTER-ID --zone-id NETWORK-ZONE-ID
Próximos pasos
Debe seguir la creación o modificación de zonas o reglas con pruebas adecuadas para garantizar el acceso y la disponibilidad.
Los usuarios que intentan acceder a sus recursos fuera de las zonas definidas reciben HTTP error 401 cuando no se establecen las reglas adecuadas.