【问题标题】:What do the different DCOM / COM security settings mean?不同的 DCOM / COM 安全设置意味着什么?
【发布时间】:2012-10-19 12:44:59
【问题描述】:

我们的应用程序广泛使用 COM 和 DCOM,因此我们需要确保正确设置 COM 安全权限。我知道我可以在组件服务 MMC 管理单元下访问这些权限,并且我可以在计算机的属性页下设置默认值/限制

在 DCOM Config 节点下,我可以向下钻取并为各个应用程序设置安全权限

我也了解“默认值”(除非针对每个应用程序明确设置权限,否则 DCOM 应用程序将使用什么)和“限制”(即使每个应用程序设置超过这些设置也会强制执行哪些权限)之间的关系,但是我不明白(也找不到任何文档)关于我可以设置的不同设置之间的区别

  • “访问”、“启动”、“激活”和“配置”权限有什么区别?
  • 这些设置会影响 COM 应用程序,还是仅影响 DCOM 应用程序?
  • 如果使用远程 DCOM,我需要同时在服务器和客户端上设置权限,还是只在客户端上设置权限?
  • 是否有任何文档可以解释上述情况?

【问题讨论】:

  • @RomanR。我知道这些链接 - 它们解释了如何更改这些设置,但是除了通过诸如“分配的用户或拒绝访问组件对象模型 (COM) 应用程序”这到底是什么意思,它与“启动”、“激活”或“配置”有何不同? “访问”是否包含所有这些权限?
  • “启动权限”实际上是一个权限允许/拒绝列表,定义了允许谁启动 COM 服务器。等等。您可能被允许访问,但不能启动(也就是说,如果其他人为您启动了它,您可以使用它)。
  • 这些都是 COM/DCOM 服务器 (AppID) 的设置,而不是客户端。
  • @RomanR。那么“激活”与“访问”有什么不同呢?当然,如果您有访问权限,但无法激活任何 COM 对象,那么您就无能为力了吗?

标签: permissions com opc dcom opc-da


【解决方案1】:

安全选项卡上的设置是注册表中每个 AppID 的安全配置,您可以在 AppID Key 中找到 MSDN 上的更多信息:

AccessPermission 描述访问控制列表 (ACL) 可以访问此类实例的主体。使用此 ACL 仅适用于不调用 CoInitializeSecurity 的应用程序。

LaunchPermission 描述了访问控制列表 (ACL) 可以为此类启动新服务器的主体。

当 COM 客户端尝试访问 COM 服务器时,COM 子系统会根据这些访问列表检查客户端凭据并决定是否允许访问服务器,如果服务器尚未启动,是否允许其启动。因此,这两个列表 - 用于常规访问和 新服务器 启动(如果有必要)。

请注意,这些是针对每个应用程序的设置。特定类应该在注册表中有CLSID to APPID mappings 才能正确关联。

【讨论】:

    猜你喜欢
    • 2017-05-14
    • 1970-01-01
    • 2020-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2017-03-31
    • 1970-01-01
    相关资源
    最近更新 更多