Microsoft BI with Constrained Kerberos Delegation

by keruibo 17. May 2008 22:40

In a Microsoft BI environment, we very often want to grant data visibility permissions at the datebase level.  The most common way to accomplish this is to use Kerberos delegation. 

In Active Directory, delegation comes in two flavors: Constrained and Unconstrained. Constrained delegation provides an enhanced level of security for deployments where Kerberos delegation is used to pass end-user credentials to back-end services.

In an unconstrained delegation configuration, servers and service accounts are trusted to send Kerberos tickets to any service on any destination computer. This typically isn’t a problem, since administrators know what their service accounts are used for, and what software is installed on their servers.

However, using constrained delegation provides an additional level of security by restricting which back-end services on which destination server a computer account or service account may pass Kerberos tickets to. Constrained delegation satisfies the “principle of least privilege”, where even trusted principals are granted only the minimum permissions needed to get their job done.

Promoting delegation from unconstrained to constrained delegation is relatively simple. This additional level of security isn't without cost, however.  Following a constrained model will result in additional long-term administration (the addition of a new back-end web server or database will require additional Active Directory configuration). However, if the least privilege principle is the best practice in your company, constrained delegation is for you.

The following process goes through constrained configuration of a typical distributed Microsoft BI environment. This process assumes you’ve already configured an unconstrained Kerberos delegation environment. The following only covers the upgrade to constrained delegation.

In the following scenario, there are:

  1. A single database server running SQL Server and Analysis Services (BI-DB).
  2. An application server hosting PPS Monitoring Server, ProClarity Analytics Server and Reporting Services (BI-APP)
  3. Finally there is a SharePoint server (BI-WEB).

Services on each server are run using the service accounts svc_bi_db, svc_bi_app, and svc_bi_web, respectively.

First the documentation. Don’t skip this step! The key to completing this process successfully is organization, because any mistake may cause integrated authentication to fail and the troubleshooting will be difficult and even more time consuming! You need to know what service accounts are running each service on every server, and use this information to make Active Directory configuration changes.

Documentation is a two-step process: document delegation trusts needed for each server, then the trusts needed for each service account. If you’ve already setup your basic Kerberos delegation using SetSPN or ADSIEdit, you should have this information handy.

The following are the trust requirements for our scenario:

 
Table #1 - Computer Delegation Trusts
 Delegator
(Computer)
 Delegatee
(Service Account)
Allowed Destination
(service/server:instance)
 
 BI-APP  svc_bi_db MSOLAPSvc.3/BI-DB:PROD
MSSQLSvc/BI-DB:1433
 BI-WEB

svc_bi_db

MSOLAPSvc.3/BI-DB:PROD
MSSQLSvc/BI-DB:1433

 BI-WEB  svc_bi_app HTTP/BI-APP
 
Table #2 - Service Account Delegation Trusts
 Delegator
(Service Account)
 Delegatee
(Service Account)
Allowed Destination
(service/server:instance)
 
svc_bi_app  svc_bi_db MSOLAPSvc.3/BI-DB:PROD
MSSQLSvc/BI-DB:1433
svc_bi_web

svc_bi_db

MSOLAPSvc.3/BI-DB:PROD
MSSQLSvc/BI-DB:1433

svc_bi_web svc_bi_app HTTP/BI-APP

 

 

With this information, we’re ready to make the Active Directory changes. These changes are mostly made in the Active Directory Users and Computers snap-in, however we’ll see that the named instance used for the OLAP server isn’t supported by this snap-in (I don't know whether this is a bug or the intended behavior, but you can read about it in Microsoft knowledge base article 936628). We'll work around this limitation by making the final configurations in the ADSIEdit snap-in.

First let’s take care of the machine account configurations:

  1. Launch Active Directory Users and Computers.  Find the PPS server (BI-APP for us) in the list, double-click it.
  2. Click on the delegation tab. 
  3. Select the third option, Trust this computer for delegation to specified services only
  4. Click the Use Kerberos Only radio button
  5. Click the Add button
  6. In the Add Services dialog, click the Users or Computers… button, then enter the service account used to run the database services on the database server (the second column in table #1). 
  7. In the Add Services dialog, we need to select all the services in the third column of table #1 (MSSQLSvc/BI-DB:1433 and MSOLAPSvc.3/BI-DB:PROD in this example), then click OK.  Note that if your OLAP database is a named instance (as ours is), then only MSSQLSvc is available…this is because this snap-in doesn’t work for named OLAP instances.  We’ll get around this problem later using the ADSIEdit snap-in.
  8. With MSSQLSvc added to the Delegation tab of the BI-APP machine account, press OK on this dialog to save the delegation settings.
  9. Repeat the same sequence for the BI-WEB server, but this time in addition to adding services for the account svc_bi_db, also add services for the svc_bi_app account to allow delegation of security for HTTP services to that machine.  When you’re done, the computer account delegation tab for BI-WEB should look like this:
  10. Repeat the same sequence for BI-APP’s service account (svc_bi_app) using the values in columns 2 & 3 of table #2, yielding the following configuration when complete:
  11. Again, the same sequence for BI-WEB’s service account (svc_bi_web), yielding the following configuration:
  12. If your OLAP database has no instance name (you're using the "default instance"), you’re done!  If not, you’re almost finished, except that the Active Directory Computers and Users snap-in doesn’t support the named instance of the OLAP database.  So, open the ADSIEdit snap-in (adsiedit.msc) instead.
  13. Navigate within ADSIEdit to find the computer account for the APP server (BI-APP for us). 
  14. Right-click on the computer, choose Properties.
  15. In the Attribute Editor, locate the string msDS-AllowedToDelegateTo, and click the Edit button.
  16. Add two values for the OLAP database used in your environment (MSOLAPSvc.3/BI-DB.terrafirma.kerr.cc:PROD and MSOLAPSvc.3/BI-DB:PROD for our example).  Note that the two are the same except one has the FQDN and the other has only the NetBIOS name of the server.  Both are required.  When finished, the string editor should look like this:
  17. Click OK, on the string editor, then OK on the machine properties to save changes.  If you return to this editor in ADSIEdit, you can review and update these chnages.  However, beware that if you review changes in the Active Directory Users and Computers snap-in, you won't see these named instance entries.
  18. Repeat this change for the web server as well (BI-WEB in this example)
  19. Repeat this change for the user accounts used on the BI-WEB and BI-APP servers (svc_bi_web and svc_bi_app in this example).

OK, that’s all.  Now the environment is configured for constrained delegation.  From this point on, AD will still allow Kerberos delegation as before, except now it will carefully check not only that service accounts are running on the machine they should, but also that each service account is only passing tickets to servers/services that are pre-authorized.

Tags: ,

Analysis Services | PerformancePoint | Security | Windows Server

Comments


May 27. 2008 14:58
Pingback.
Link to this post was added to our website in the [Articles]/[Securit] section:
www.ssas-info.com/.../874-microsoft-bi-with-constrained-kerberos-delegation


October 8. 2008 11:43
Rob, do we need to setup the following as per the Microsoft guide to constrained delegation for PPS

Configure user accounts
On the domain controller, open Active Directory Users and Computers, and then click Users.

Right-click the application pool account, and then click Properties.

On the Account tab, verify that Account is trusted for Delegation is selected.

For every user account that will access the system, verify that the Account is sensitive and cannot be delegated check box is cleared.

If you did not set up the application pool identity as part of the configuration wizard, then add the account to the IIS_WPG group.



February 27. 2009 23:02
Pingback from blogs.technet.com

Steffen über SQL, SharePoint und HPC : Gastbeitrag: Reporting Services 2008 im SharePoint integrierten Modus


United States Mac 
July 13. 2009 18:43
Why configure delegation on both the computer AND the service account objects?  Is this required, or is there some disadvantage to doing only one or the other?


July 15. 2009 05:31
Things do vary a bit depending on the physical architecture of the installation. The three required components (SQL Server database, Reporting Services and Sharepoint) may be residing on one, two or three different servers which will make a difference to the installation. And if there are two servers, Reporting Services could be on either the SQL server or the Sharepoint server. And the logical architecture matters too - you can run all this on a network without a domain but you will need to manually add at least one user account to each server.


July 15. 2009 12:27
Mac, yes computer AND service accounts both need to be trusted by AD.  Service accounts can be used on multiple computers, and a computer can have multiple service accounts.  The trust of both principals is there, I assume, to support whatever kind of matrix security you might need.


August 13. 2009 19:55
Why configure delegation on both the computer AND the service account objects? Is this required, or is there some disadvantage to doing only one or the other? Emo Hair


September 3. 2009 12:12
Reporting Services could be on either the SQL server or the Sharepoint server. And the logical architecture matters too.
regards.


January 18. 2010 22:09
It seems that this is a very advanced side of database. I have a lot of experience regarding database management but I never heard of this. Well, thanks for the information.


January 21. 2010 20:41
To win without risk is to triumph without glory.


January 25. 2010 02:40
Don’t stop writing, you’ve given me lots of good info!


January 29. 2010 20:03
Just .. Thank you for your help!


January 31. 2010 16:41
i would like to have a couple of articles here would you like to have some guest copies


February 1. 2010 13:17
Excellent blog post, I look forward to reading more.


February 3. 2010 08:08
Hi,
  Cheers to the author for giving me some solid ideas


February 7. 2010 12:40
The upside is your future is in your hands. And the downside is your future is in your hands.


February 9. 2010 03:00
Awesome post! Interesting info to know.


February 10. 2010 13:51
Great write up - Thank you for sharing.


February 12. 2010 23:50
Don’t stop blogging! It’s nice to read a sane commentary for once...


February 12. 2010 23:50
Sensational info. I look forward to seeing more.


February 12. 2010 23:55
Don’t stop blogging! It’s nice to read a sane commentary for once....

www.ratedetective.com.au/insurance/life-insurance


February 13. 2010 00:52
Really appreciate this post. It’s hard to sort the good from the bad sometimes, but I think you’ve nailed it!



February 13. 2010 17:25
Great post, I look forward to reading more.


February 13. 2010 18:01
You really know your stuff... Keep up the good work!


February 13. 2010 19:06
Hi,
  Don’t stop writing, you’ve given me lots of good info!


February 14. 2010 19:57
Really appreciate this post. It’s hard to sort the good from the bad sometimes, but I think you’ve nailed it!


February 15. 2010 15:31
Many thanks its a very confusing subject, but the use of imagery does simplify things a great deal for following the steps. Many thanks


February 16. 2010 12:48
Top post. I look forward to reading more. Cheers


February 19. 2010 04:17

I really like your website because it provides many information about different programs which are really very helpful and very beneficial for us. You guys are doing really a great job by providing these wonderful knowledge


February 20. 2010 16:14
Nice write up.  I've created a tool that will help pool do this setup by filling in simple to understand information.  The Kerberos SPN Generation / Setup Tool write up can be found at:

http://robertlambrecht.spaces.live.com/blog/cns!1738EAC7F6359C6D!2309.entry

You can download the tool from http://robertlambrecht.com


February 20. 2010 16:41
Nice one - Thanks for sharing dude.


February 21. 2010 01:17
  Useful info. Hope to see more good posts in the future.


February 21. 2010 16:59
This is a good piece of writing, I was wondering if I could use this blog on my website, I will link it back to your website though. If this is a problem please let me know and I will take it down right away.


February 21. 2010 22:55
Like my old pa used to say, education is the key to unlock the golden door of freedom. A taste for irony has kept more hearts from breaking than a sense of humor, for it takes irony to appreciate the joke which is on oneself. Tyra


February 22. 2010 08:51
This is a good piece of content, I was wondering if I could use this piece of content on my website, I will link it back to your website though. If this is a problem please let me know and I will take it down right away.


February 22. 2010 17:51
Amazing posting, this is very similar to a site that I have. Please check it out sometime and feel free to leave me a comenet on it and tell me what you think. Im always looking for feedback.


February 23. 2010 03:26
This is a very interesting post, I was looking for this information. Just so you know I discovered your web site when I was browsing for blogs like mine, so please check out my site sometime and leave me a comment to let me know what you think.


February 23. 2010 16:59
This is a good summary, I found your site searching bing for a similar theme and came to this. I couldnt discover to much additional info on this piece of writing, so it was awesome to discover this one. I likely will end up being returning to look at some other posts that you have another time.


February 23. 2010 23:56
Superb site, where did you come up with the info in this post? I'm glad I found it though, ill be checking back soon to see what other articles you have.


February 24. 2010 00:09
Nice blog - I will link to it from my aude clothing line website.


February 24. 2010 01:49
Just found this article on Bing - have you published any other related posts?


February 24. 2010 16:17
This is such a great resource that you are providing and you give it away for free. I enjoy seeing websites that understand the value of providing a prime resource for free. I truly loved reading your post. Thanks!


February 24. 2010 21:40
I'm happy I located this site, I couldnt obtain any knowledge on this matter before. Also run a niche site and if you're ever serious in a little bit of visitor writing for me you should feel free to let me know, im always look for people to check out my web page. Please stop by and leave a comment sometime!


February 25. 2010 05:02
I have read a few of the articles on your website now, and I really like your style of blogging. I added it to my favorites blog page list and will be checking back soon. Please check out my site as well and let me know what you think.


February 25. 2010 16:51
This is a wonderful post, I discovered your blog page searching bing for a related subject and came to this. I couldnt get to much different information and facts on this piece, so it was great to locate this one. I probably will end up being returning to look at some other articles that you have another time.


February 25. 2010 22:43
Great thread.  Enjoyed the posts..


February 25. 2010 22:54
Aw, this was a really quality post. In theory I'd like to write like this too - taking time and real effort to make a good article... but what can I say... I procrastinate alot and never seem to get something done.


February 26. 2010 01:04
Starting to understand a bit more now... Thanks for keeping it simple!


February 26. 2010 07:35
This can be the most helpful article I’ve browse all year. GREAT stuff, thanks!


February 27. 2010 05:44
I cannot seem to locate your rss feed, I would like to get more your posts.


February 27. 2010 20:10
Outstanding site, where did you come up with the info in this piece of writing? Im pleased I found it though, ill be checking back soon to see what other articles you have.


February 27. 2010 21:01
Useful info. Hope to see more good posts in the future.


February 27. 2010 23:00
Would somebody inform me that this kerberos delegation could be performed with Windows server 2000 too???


February 28. 2010 05:30
This is a exceptional post, but I was wondering how do I suscribe to the RSS feed?


February 28. 2010 13:22
Top post. I look forward to reading more. Cheers ..


February 28. 2010 13:22
A good read, definitely worth a cut and paste. Thanks!


February 28. 2010 13:58
This is a good piece of writing, I was wondering if I could use this piece of writing on my website, I will link it back to your website though. If this is a problem please let me know and I will take it down right away.


February 28. 2010 17:34
I've been here a couple times and it seems like your blog posts get more informative every time. Keep it up I enjoy reading them.


February 28. 2010 20:34
Excellent site, where did you come up with the information in this summary? Im pleased I found it though, ill be checking back soon to see what other articles you have.


February 28. 2010 23:01
Keep 'em coming... you all do such a great job at such Concepts... can't tell you how much I, for one appreciate all you do!


March 1. 2010 06:46
Do you think you have STD symptoms?  See pictures here http://www.std-symptom.info and to find STD testing.


March 1. 2010 07:01
thanks a million for posting this


March 1. 2010 10:06
Do you think you have STD symptoms?  See pictures here http://www.std-symptom.info and to find STD testing.


March 1. 2010 22:15
Should I get a Dedicated Hosting? Currently I am using lunarpages but they keep disabling my account because of high server load. Im getting about 4,000 unique views a day. What hosting should I get?


March 2. 2010 16:53
I have recently started using the blogengine.net and I having some problems here? in your blog you stated that we need to enable write permissions on the App_Data folder...unfortunately I don't understand how to enable it.


March 2. 2010 16:54
I figured out a good deal coming from reading through your piece of writing. You accomplished a great deal in creating essential perspectives. I am hoping to read a lot more in the future.


March 2. 2010 20:52
Just wanted to give you a shout from the valley of the sun, great information. Much appreciated.


March 3. 2010 18:55
I'll gear this review to 2 types of people: current Zune owners who are considering an upgrade, and people trying to decide between a Zune and an iPod. (There are other players worth considering out there, like the Sony Walkman X, but I hope this gives you enough info to make an informed decision of the Zune vs players other than the iPod line as well.) <a href= www.bestmoviestrailer.com/star-trek-2009/>star trek ships</a>


March 4. 2010 02:52
I'm pleased I found this weblog, I couldnt obtain any knowledge on this subject prior to. Also operate a website and if you are ever serious in a little bit of visitor writing for me make sure you feel free to let me know, im always look for people to check out my webpage. Please stop by and leave a comment sometime!


March 4. 2010 04:06
Howdy that’s a very interesting view, It does give one food for thought, I am very delighted I stumbled on your blog, i was using Stumbleupon at the time, in any case i don’t want to drift on too much, but i would like to mention that I will be back when I have a little time to read your blog more thoroughly, Once again thanks a lot for the post and please do keep up the right work,


March 4. 2010 09:54
Nice blog I hope you dont mind if I link to it from my MK2K website.


March 4. 2010 16:26
Thank you for the sensible critique. Me & my neighbour were preparing to do some research about that. We got a good book on that matter from our local library and most books where not as influensive as your information. I am very glad to see such information which I was searching for a long time.This made very glad Smile


March 4. 2010 17:32
WoW Mobile is awesome! I get free mobile service with t-mobile because I refered 3 people to wow. You can too!


March 4. 2010 19:44
WoW Mobile is awesome! I get free mobile service with t-mobile because I refered 3 people to wow. You can too!


Took me time to read all the comments, but I really enjoyed the article. It proved to be Very helpful to me and I am sure to all the commenters here! It's always nice when you can not only be informed, but also entertained! I'm sure you had fun writing this article.


March 5. 2010 08:35
This is such a great resource that you are providing and you give it away for free. I love seeing websites that understand the value of providing a quality resource for free. It is the old what goes around comes around routine. Did you acquired lots of links and I see lots of trackbacks??


March 5. 2010 12:36
I like streaming movies online, it is way cheaper than going to the theaters.


March 5. 2010 14:31
Well, this is my first visit to your blog! We are a group of volunteers and starting a new initiative in a community in the same niche. Your blog provided us valuable information to work on. You have done a marvellous job!


March 5. 2010 15:59
Saw your blog bookmarked by friend. Nice webpage.


March 5. 2010 17:39
thanks for the post on use of Kerberos delegation. the blog is really informative for me. I love it.


March 6. 2010 13:49
It might be a bit off topic perhaps, but I must ask - which template are you using? I really like the menu style.


March 6. 2010 15:48
Nice communication thanks for a intercourse this computer.



Regards
York



March 6. 2010 20:58
I'm so glad to have found your web page. My pal mentioned it to me before, yet never got around to checking it out until now. I must express, I'm floored. I really enjoyed reading through your posts and will absolutely be back to get more.


March 6. 2010 22:37
Indeed a nice blog post. The eye to detail just for this post is just as impressive as all of the sites detail above. Great work, and a good read.


March 7. 2010 03:43
Can checking your heartbeat genuinely make a serious results in exactly how much excess fat you get rid of?


March 7. 2010 04:05
Thanks for sharing, please keep an update about this info. love to read it more. i like this site too much. Good theme ;).


March 7. 2010 06:44
Nice situation thanks for a distribution this situation.



Regards
Guerra



March 7. 2010 07:32
This is certainly my initial stop by and I really like what I'm seeing. Your weblog is so much fun to look over, quite compelling as well as informative. I'll undoubtedly recommend it to my friends. Nevertheless, I did have some problem with the commenting. It kept giving me an problem whenever I clicked on publish comment. I hope, that can be fixed. Many thanks


March 7. 2010 07:32
Definitely agree with what you stated. Your explanation was certainly the easiest to understand. I tell you, I usually get irked when folks discuss issues that they plainly do not know about. You managed to hit the nail right on the head and explained out everything without complication. Maybe, people can take a signal. Will likely be back to get more. Thanks


March 7. 2010 07:41
I am not much of a guy who thinks in so deeply about web design but I think your post had some valid points in it. Like designers are forced to design stuff within the limited code available and not go beyond it, their innovation is somewhat limited but still I think Web Design won't die! I agree that Amazon and other some big sites won't have a blog but now a days it's very important to have some sort of option available so people can quickly communicate their thoughts. I think Amazon if wants to shift it to that, they can get a customized CMS for themselves.


March 7. 2010 08:24
Hi,
  Very useful info. Hope to see more posts soon!


March 7. 2010 09:14
I am really impressed with this blog.It is easy to see that you are passionate about your writing.


March 7. 2010 09:22
Valuable information and excellent design you got here! I would like to thank you for sharing your thoughts and time into the stuff you post.



Hey I like your call I gift write for your take satisfy stronghold notice!


Regards
Siegel










March 7. 2010 13:48
Hi, i read your blog occasionally and i own a similar one and i was just wondering if you get a lot of spam comments? If so how do you prevent it, any plugin or anything you can suggest? I'm getting so much lately it's driving me mad so any assistance is very much appreciated.


March 7. 2010 17:25
Nice to be visiting your blog again, it has been months for me. Well this article that i've been waited for so long. I need this article to complete my assignment in the college, and it has same topic with your article. Thanks, great share.


March 7. 2010 17:44
Nice to be visiting your blog again, it has been months for me. Well this article that i've been waited for so long. I need this article to complete my assignment in the college, and it has same topic with your article. Thanks, great share.


March 7. 2010 23:23
Diolch i chi am


March 8. 2010 04:19
This is interesting to me. I 'll be looking forward to future articles.


March 8. 2010 20:49
Hey I compassion your call I testament agree for your provender satisfy cook transmitting!

Regards
Harris


March 8. 2010 21:59
Teenage Driver: But, officer, Im a college man.Policeman: Sorry, but ignorance is no excuse.


March 8. 2010 22:01
Knock KnockWhos there !Acid !Acid who ?Acidently on purpose !.


March 8. 2010 22:08
ur mama is sooo fat, she sat on a dollar and made 4 quarters pop out


March 8. 2010 22:18
Hi. this is kind of an "unconventional" question , but have other visitors asked you how get the menu bar to look like you've got it? I also have a blog and am really looking to alter around the theme, however am scared to death to mess with it for fear of the search engines punishing me. I am very new to all of this ...so i am just not positive exactly how to try to to it all yet. I'll just keep working on it one day at a time.


March 8. 2010 22:59
Never seen much chilly berth. I read it all the way to the end. Remain them future.

Regards
Smith





March 8. 2010 23:00
Thanks for taking this opportunity to talk about this, I feel strongly about it and I benefit from learning about this subject. If possible, as you gain data, please update this blog with new information. I have found it extremely useful.


Hello. Eager job. I did not wait this on a Wednesday. This is a echt prevarication. Thanks!


Regards
Hudson


March 9. 2010 12:20
You made numerous nice ideas there. I done a search on the issue and learnt nearly all peoples will agree with your blog.


March 9. 2010 14:21
Couldn't be written any better. Reading this post reminds me of my old room mate! He always kept talking about this. I will forward this article to him. Pretty sure he will have a good read. Thanks for sharing!


March 9. 2010 20:09
Thanks for providing such useful information. I really appreciate your professional approach.


March 9. 2010 20:09
I wanted to thank you for this great read!! I definitely enjoying every little bit of it I have you bookmarked to check out new stuff you post


March 9. 2010 20:11
I recently came across your blog and have been reading along. I thought I would leave my first comment. I don’t know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often.


March 9. 2010 23:22
Knock KnockWhos there !Abel !Abel who ?Abel to see you, ha, ha!...


March 10. 2010 01:09
Knock KnockWhos there !Ada !Ada who ?Adamond is forever !


March 10. 2010 01:32
Do you know which mobile phone companies allow tethering?


March 10. 2010 01:33
Do you know which mobile phone companies allow tethering?


March 10. 2010 11:32
Very, very unresponsive computer situation! I am loverly it!! Instrument rise sustain again - winning you feeds also, Thanks.

Regards
Tomlin



March 10. 2010 12:40
Do you stomach guest posts? I would copulate to create unite articles here.

Regards
Carter








March 11. 2010 02:31
Thats easy for me to configure ,the screen shots tells us step by step,thanks for the nice share  Smile keep up


March 11. 2010 05:09
Howdy, i read your blog occasionally and i own a similar one and i was just wondering if you get a lot of spam comments? If so how do you prevent it, any plugin or anything you can advise? I get so much lately it's driving me mad so any assistance is very much appreciated.


March 11. 2010 06:39
Great ....You have beautifully presented your thought in this blog post.


March 11. 2010 11:30
How to make blood in yourself through healthy diet or naturally treatment?
www.nutrapharma.com


March 12. 2010 01:16
If you are having tax problems, find a tax lawyer here http://www.thebiglawyerdirectory.com tax lawyer directory


March 12. 2010 04:14
I must say that overall I am really impressed with this blog.It is easy to see that you are passionate about your writing. If only I had your writing ability I look forward to more updates and will be returning.


March 12. 2010 05:01
Wonderful illustrated information. I impart you about that. No dubiousness it testament be very multipurpose for my hereafter projects. Would equivalent to see some remaining posts on the equal person!

Regards
Roach








March 12. 2010 08:53
I knew I was right. My friend and I positioned a bet about which website was superior. I thought your webpage was much better created, but she believed this post on trendy fashion tips was better. We rounded up five loved ones memebers who had not observed either site before to examine them both over. Majority chose your site. Thanks for maintaing a great site.

Add comment




  Country flag

biuquote
  • Comment
  • Preview
Loading



Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2010 Rob Kerr's BI Blog