Chapter 11 -- COM Security

[Previous] [Next]

Chapter 11

It's impossible to overstate the importance of security in a distributed application. The data that runs your business is one of your company's most valuable assets. If you're providing access to this data through a COM+ application, it's critical that you know how to design and enforce security policies. An effective set of security policies must stop the bad guy from doing something you don't want him to do, but those security policies must also allow trusted users to use the application as it was intended without getting frustrating "Access denied" error messages.

Within a private network such as a corporate LAN, you can design a security policy to provide one degree of access to typical users and a higher degree of access to managers. For example, you might give managers read/write access permissions in places where other users don't have such permissions. When you deploy a distributed application on a public network such as the Internet, security becomes even more critical. If you don't secure the application properly, a competitor or some other malicious party can steal or destroy the data that is your company's lifeblood.

Enforcing security in a three-tier application is much different from securing a classic two-tier application. It requires a whole new way of thinking. You have to understand many of the core concepts of the Windows security model before you can make sense of the extra security-related features that COM+ provides.

COM+ inherits a few critical aspects of security from the underlying operating system, so I'll start the chapter with a quick Windows security primer to give you an understanding of authentication and authorization, how logon sessions relate to tokens, and how a process establishes its identity. Once you understand these core concepts, the added security features in COM+ will be easier to understand and use.

COM+ security is based on roles. As you'll see, the role-based model provides both declarative security and programmatic security. In one application, you might avoid any security-related programming and instead enforce security administratively using the Component Services administrative tool. In another application, one that requires conditional authorization checks or customized auditing policies, you might write security-related code to complement your declarative policies.

Security is especially important in today's world of interconnected computers. After covering how COM+ security works within a private network, I'll explain how COM+ integrates with IIS security. After all, many of you will be creating Web-based applications to reach users across the Internet. If you're exposing a COM+ application through ASP pages, you must understand how authentication works in IIS and how to configure access permissions to Visual Basic components. Once again, it's important to provide trusted users with the access permissions they require while preventing the bad guy from getting in and wreaking havoc.

I can't tell you everything you need to know about a topic a vast as Windows security in a single chapter, but I'll give you the background you need to design and deploy distributed applications that leverage the integrated security features of Windows 2000 and COM+. If you want to master Windows security, you must do further reading. One excellent resource that explains the inner workings of the Windows security model is Keith Brown's appropriately titled Programming Windows Security (Addison Wesley, 2000). Keith is one of the industry's leading experts in this arena; I highly recommend his book to complement this chapter.



Programming Distributed Applications with COM+ and Microsoft Visual Basic 6.0
Programming Distributed Applications with Com and Microsoft Visual Basic 6.0 (Programming/Visual Basic)
ISBN: 1572319615
EAN: 2147483647
Year: 2000
Pages: 70
Authors: Ted Pattison

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net