Protección de Connector Hub

En este tema se proporciona información y recomendaciones de seguridad para el servicio Oracle Cloud Infrastructure Connector Hub.

Responsabilidades de seguridad

Para utilizar Connector Hub de forma segura, obtenga información sobre sus responsabilidades de seguridad y cumplimiento.

En general, Oracle proporciona seguridad en la infraestructura y las operaciones en la nube, como controles de acceso de operadores en la nube y aplicación de parches de seguridad de la infraestructura. Usted es responsable de configurar de forma segura sus recursos en la nube. La seguridad en la nube es una responsabilidad compartida entre usted y Oracle.

Oracle es responsable de los siguientes requisitos de seguridad:

  • Seguridad física:Oracle es responsable de proteger la infraestructura global que ejecuta todos los servicios ofrecidos en Oracle Cloud Infrastructure. Esta infraestructura consta del hardware, el software, la red y las instalaciones que ejecutan los servicios de Oracle Cloud Infrastructure.

Las responsabilidades de seguridad se describen en esta página, que incluye las siguientes áreas:

  • Control de acceso: limite los privilegios lo máximo posible. A los usuarios solo se les debe otorgar el acceso necesario para realizar su trabajo.

Tareas de seguridad iniciales

Utilice esta lista de control para identificar las tareas que debe realizar para proteger Connector Hub en un nuevo arrendamiento de Oracle Cloud Infrastructure.

Tarea Más información
Utilice políticas de IAM para otorgar acceso a usuarios y recursos Políticas de IAM

Tareas de seguridad rutinarias

Después de empezar a utilizar Connector Hub, utilice esta lista de control para identificar las tareas de seguridad que le recomendamos que realice con regularidad.

Connector Hub no tiene ninguna tarea de seguridad que deba realizar con regularidad.

Políticas de IAM

Utilice políticas para limitar el acceso a Connector Hub.

Una política especifica quién puede acceder a los recursos de Oracle Cloud Infrastructure y cómo. Para obtener más información, consulte Funcionamiento de las políticas.

Asigne a un grupo los privilegios mínimos necesarios para cumplir con sus responsabilidades. Cada política tiene un verbo que describe las acciones que puede realizar el grupo. Desde la menor cantidad de acceso a la mayor cantidad de acceso, los verbos disponibles son: inspect, read, use y manage.

Políticas de acceso de usuario

Para trabajar con conectores, un usuario debe estar en un grupo y una política debe otorgar a ese grupo la autorización adecuada dentro del compartimento o arrendamiento.

Crear, actualizar y suprimir conectores (sin colas ni flujos)

Permita que el grupo especificado cree, actualice y suprima conectores en el compartimento especificado.

Allow group <group-name> to manage serviceconnectors in compartment <compartment-name>

Actualizar conectores solamente (sin colas ni flujos)

Permitir que el grupo especificado actualice los conectores solo en el compartimento especificado. El grupo no puede crear ni suprimir conectores.

Allow group <group-name> to use serviceconnectors in compartment <compartment-name>

Crear, actualizar y suprimir conectores con colas

Permita que el grupo especificado lea las colas en el compartimento especificado y cree y actualice conectores que utilicen un origen de cola o un destino de cola. También permita que el grupo suprima conectores en el compartimento especificado.

Allow group <group-name> to manage serviceconnectors in compartment <compartment-name>
Allow group <group-name> to read queues in compartment <compartment-name>

Crear, actualizar y suprimir conectores con flujos

Permita que el grupo especificado lea flujos y pools de flujos en el compartimento especificado y cree y actualice conectores que utilicen un origen de flujo o un destino de flujo. También permita que el grupo suprima conectores en el compartimento especificado.

Allow group <group-name> to manage serviceconnectors in compartment <compartment-name>
Allow group <group-name> to read stream-family in compartment <compartment-name>

Para obtener más información sobre las políticas de Connector Hub, consulte Detalles de Connector Hub.

Políticas de acceso de servicio

Nota

Asegúrese de que cualquier política que cree cumple las directrices de su compañía.

Para mover datos, el conector debe tener autorización para acceder a los recursos especificados en los servicios origen , tarea y destino . Se puede acceder a algunos recursos sin políticas. Las políticas por defecto que proporcionan la autorización necesaria se ofrecen al utilizar la consola para definir un conector. Estas políticas se limitan al contexto del conector. Puede aceptar las políticas por defecto o asegurarse de que tiene las autorizaciones adecuadas en políticas personalizadas para el acceso de usuario y servicio.

Por ejemplo, la siguiente política por defecto se ofrece al crear o editar un conector que mueve datos de Logging a Monitoring.

allow any-user to use metrics in compartment id <target_metric_compartment_OCID>
where all {
    request.principal.type='serviceconnector',
    target.metrics.namespace='<metric_namespace>',
    request.principal.compartment.id='<serviceconnector_compartment_OCID>'
}

Para obtener más información, incluidas las políticas por defecto, consulte Acceso a los servicios de origen, tarea y destino.

Acceso a conector entre arrendamientos

Utilice el acceso de conector entre arrendamientos para compartir conectores con otra organización que tenga su propio arrendamiento. Por ejemplo, comparta conectores con otra unidad de negocio de la compañía, un cliente de la compañía o una compañía que presta servicios a su compañía.

Nota

Para crear un conector que acceda a recursos en otros arrendamientos, debe utilizar el SDK, la CLI o la API de OCI. (El creador de políticas de la consola no proporciona información de otros arrendamientos ni sugiere sentencias Endorse, Admit o Define). Para obtener instrucciones sobre la CLI y la API, consulte Creación de un conector.

Para acceder a los recursos y compartirlos, los administradores de ambos arrendamientos deben crear sentencias de política especiales que determinen de forma explícita los recursos que se pueden compartir y a los que se puede acceder. Estas sentencias especiales usan las palabras Define, Endorse y Admit. Para obtener más información sobre estas sentencias, consulte Políticas de acceso entre arrendamientos.

Sentencias de política del arrendamiento de origen

Utilice una sentencia de política en el arrendamiento de origen para:

  • Admisión de un conector desde un arrendamiento de destino para acceder a los recursos del arrendamiento (de origen)
  • Aprobar un conector para acceder a los recursos del arrendamiento de destino
  • Aprobar un grupo para acceder a los recursos del arrendamiento de destino
Nota

Las siguientes sentencias de política de ejemplo tienen formato para facilitar la lectura. Antes de utilizar copias de estas sentencias, elimine nuevas líneas, separadores y espacios.
Admita cualquier conector del arrendamiento de destino para acceder a un tipo específico de recurso en el arrendamiento (de origen)
Define tenancy DestinationTenancy as <destination_tenancy_OCID>
Admit any-user of tenancy DestinationTenancy to <permissions_for_resource_kind> in compartment id <compartment_OCID_in_source_tenancy>
    where all 
    { 
        request.principal.type='serviceconnector', 
        request.principal.compartment.id=<compartment_OCID_in_destination_tenancy>' 
    }
Para obtener ejemplos, consulte Ejemplos. Para buscar los permisos necesarios para un tipo específico de recurso al que accede un conector, consulte Políticas por defecto.
Aprobar un grupo en su arrendamiento (de origen) para realizar cualquier acción con cualquier conector de cualquier arrendamiento
Endorse group <group_name> to manage serviceconnectors in any-tenancy
Aprobar un grupo en su arrendamiento (de origen) para realizar cualquier acción con cualquier conector del arrendamiento de destino únicamente
Para escribir una política que reduzca el ámbito de acceso al arrendamiento, el administrador de origen debe hacer referencia al OCID del arrendamiento de destino proporcionado por el administrador de destino.
Define tenancy DestinationTenancy as <destination_tenancy_OCID>
Endorse group <group_name> to read serviceconnectors in tenancy DestinationTenancy

Sentencias de política del arrendamiento de destino

Utilice una sentencia de política en el arrendamiento de destino para:

  • Aprobar un conector para acceder a los recursos del arrendamiento de origen
  • Admiten un conector del arrendamiento de origen para acceder a los recursos del arrendamiento (de destino)
  • Admitir un grupo o grupo dinámico desde el arrendamiento de origen para acceder a los recursos de su arrendamiento (destino)
Nota

Las siguientes sentencias de política de ejemplo tienen formato para facilitar la lectura. Antes de utilizar copias de estas sentencias, elimine nuevas líneas, separadores y espacios.
Aprobar cualquier conector de su arrendamiento (destino) para acceder a un tipo específico de recurso en el arrendamiento de origen
Define tenancy SourceTenancy as <source_tenancy_OCID>
Endorse any-user to <permissions_for_resource_kind> in tenancy SourceTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Para obtener ejemplos, consulte Ejemplos. Para buscar los permisos necesarios para un tipo específico de recurso al que accede un conector, consulte Políticas por defecto.
Admita un grupo del arrendamiento de origen para realizar cualquier acción con cualquier conector del arrendamiento (de destino)
Define tenancy SourceTenancy as <source_tenancy_OCID>
Define group <group_name> as <group_OCID>
Admit group <group_name> of tenancy SourceTenancy to manage serviceconnectors 
    in tenancy
Admitir un grupo del arrendamiento de origen para leer conectores solo en el compartimento SharedConnectors (en el arrendamiento de destino)
Define tenancy SourceTenancy as <source_tenancy_OCID>
Define group <group_name> as <group_OCID>
Admit group <group_name> of tenancy SourceTenancy to read serviceconnectors 
    in compartment SharedConnectors
Admitir un grupo dinámico desde el arrendamiento de origen para leer conectores solo en el compartimento SharedConnectors (en el arrendamiento de destino)
Define tenancy SourceTenancy as <source_tenancy_OCID>
Define dynamic-group <dynamic_group_name> as <group_OCID>
Admit dynamic-group <dynamic_group_name> of tenancy SourceTenancy to read serviceconnectors 
    in compartment SharedConnectors
Para buscar los permisos necesarios para un tipo específico de recurso al que accede un grupo dinámico, consulte Políticas personalizadas.

Ejemplos

Nota

  • Escribir políticas entre arrendamientos antes de crear el conector. Debe utilizar el SDK, la CLI o la API de OCI para crear un conector entre arrendamientos.
  • Las siguientes sentencias de política de ejemplo tienen formato para facilitar la lectura. Antes de utilizar copias de estas sentencias, elimine nuevas líneas, separadores y espacios.
  • Para aprobar o admitir un conector para acceder a un recurso de origen, destino o tarea que no se trata en estos ejemplos, utilice los permisos de recurso en las políticas por defecto.
Origen de flujo en otro arrendamiento

Escribir políticas para que un conector mueva datos de un flujo de un arrendamiento diferente a un cubo del arrendamiento del conector.


Origen de flujo en otro arrendamiento
Llamada Descripción
1 Flujo utilizado como origen de conector
2 Conector que mueve los datos del flujo al cubo
3 Cubo utilizado como destino de conector

A continuación, se muestran las políticas para mover estos datos del flujo del arrendamiento A al cubo del arrendamiento B, mediante el conector del arrendamiento B.

Tenencia A
Admita cualquier conector del compartimento especificado del arrendamiento B para acceder a cualquier flujo del compartimento especificado de este arrendamiento.
Define tenancy ConnectorTenancy as <tenancy_b_OCID>
Admit any-user of tenancy ConnectorTenancy to {STREAM_READ, STREAM_CONSUME} in compartment id <compartment_OCID_in_tenancy_a>
    where all 
    { 
        request.principal.type='serviceconnector', 
        request.principal.compartment.id=<compartment_OCID_in_tenancy_b>' 
    }
Tenencia B
Apruebe cualquier conector de este arrendamiento para acceder a cualquier flujo del arrendamiento A.
Define tenancy StreamTenancy as <tenancy_a_OCID>
Endorse any-user to {STREAM_READ, STREAM_CONSUME} in tenancy StreamTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Permita que cualquier conector del compartimento especificado de este arrendamiento mueva los datos al cubo (el mismo arrendamiento).
Allow any-user to manage objects in compartment id <target_bucket_compartment_OCID> 
    where all {
        request.principal.type='serviceconnector',
        target.bucket.name='<bucket_name>',          
        request.principal.compartment.id='<serviceconnector_compartment_OCID>'
    }
Origen de log en otro arrendamiento

Escribir políticas para que un conector mueva datos de un log en un arrendamiento diferente a un grupo de logs en el arrendamiento del conector.


Origen de log en otro arrendamiento
Llamada Descripción
1 Log utilizado como origen de conector
2 Conector que mueve los datos del log al grupo de logs
3 Grupo de logs utilizado como destino de conector
Tenencia A
Admita cualquier conector del compartimento especificado del arrendamiento B para acceder a cualquier log del compartimento especificado de este arrendamiento.
Define tenancy ConnectorTenancy as <tenancy_b_OCID>
Admit any-user of tenancy ConnectorTenancy to read log-content in compartment id <compartment_OCID_in_tenancy_a>
    where all 
    { 
        request.principal.type='serviceconnector', 
        request.principal.compartment.id=<compartment_OCID_in_tenancy_b>' 
    }
Tenencia B
Apruebe cualquier conector de este arrendamiento para acceder a cualquier log del arrendamiento A.
Define tenancy LogTenancy as <tenancy_a_OCID>
Endorse any-user to read log-content in tenancy LogTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Permita que cualquier conector del compartimento especificado de este arrendamiento mueva los datos al grupo de logs (el mismo arrendamiento).
Allow any-user to use loganalytics-log-group in compartment id <target_log_group_compartment_OCID> 
    where all {
        request.principal.type='serviceconnector', 
        target.loganalytics-log-group.id=<log_group_OCID>, 
        request.principal.compartment.id=<serviceconnector_compartment_OCID>
    }
Destino de función en otro arrendamiento

Escribir políticas para que un conector mueva datos de un log en el arrendamiento del conector a una función en un arrendamiento diferente.


Destino de función en otro arrendamiento
Llamada Descripción
1 Log utilizado como origen de conector
2 Conector que mueve los datos del log a la función
3 Función utilizada como destino de conector
Tenencia A
Apruebe cualquier conector del compartimento especificado de este arrendamiento para acceder a cualquier función del compartimento especificado del arrendamiento B.
Define tenancy FunctionTenancy as <tenancy_b_OCID>
Endorse any-user to use fn-function in tenancy FunctionTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Define tenancy FunctionTenancy as <tenancy_b_OCID>
Endorse any-user to use fn-invocation in tenancy FunctionTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Permita que cualquier conector del compartimento especificado de este arrendamiento acceda a cualquier log (el mismo arrendamiento).
Allow any-user to read log-content in compartment id <source_log_compartment_OCID>

    where all {
        request.principal.type='serviceconnector',         
        request.principal.compartment.id='<serviceconnector_compartment_OCID>'
    }
Tenencia B
Admita cualquier conector del arrendamiento A para acceder a cualquier función de este arrendamiento.
Define tenancy ConnectorTenancy as <tenancy_a_OCID>
Admit any-user to use fn-function in tenancy ConnectorTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Define tenancy ConnectorTenancy as <tenancy_a_OCID>
Admit any-user to use fn-invocation in tenancy ConnectorTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Métrica de origen y cubo de destino en otros arrendamientos

Escribir políticas para que un conector mueva datos de una métrica de un arrendamiento (A) diferente a una función de un arrendamiento (C) diferente.


Métrica de origen y cubo de destino en otros arrendamientos
Llamada Descripción
1 Métrica utilizada como origen de conector
2 Conector que mueve los datos de la métrica al cubo
3 Cubo utilizado como destino de conector
Tenencia A
Admita cualquier conector del compartimento especificado del arrendamiento B para acceder a cualquier métrica del compartimento especificado de este arrendamiento.
Define tenancy ConnectorTenancy as <tenancy_b_OCID>
Admit any-user of tenancy ConnectorTenancy to read metrics in compartment id <compartment_OCID_in_tenancy_a>
    where all 
    { 
        request.principal.type='serviceconnector', 
        request.principal.compartment.id=<compartment_OCID_in_tenancy_b>' 
    }
Tenencia B
Apruebe cualquier conector de este arrendamiento para acceder a cualquier métrica del arrendamiento A.
Define tenancy MetricTenancy as <tenancy_a_OCID>
Endorse any-user to read metrics in tenancy MetricTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Apruebe cualquier conector de este arrendamiento para acceder a cualquier cubo del arrendamiento C.
Define tenancy BucketTenancy as <tenancy_c_OCID>
Endorse any-user to manage objects in tenancy BucketTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Tenencia C
Admita cualquier conector del compartimento especificado del arrendamiento B para mover datos a cualquier cubo del compartimento especificado de este arrendamiento.
Define tenancy ConnectorTenancy as <tenancy_b_OCID>
Admit any-user of tenancy ConnectorTenancy to manage objects in compartment id <compartment_OCID_in_tenancy_c>
    where all 
    { 
        request.principal.type='serviceconnector', 
        request.principal.compartment.id=<compartment_OCID_in_tenancy_b>' 
    }