blog.smarx.com

Steve Marx's blog about cloud development

Using Container-Level Access Policies in Windows Azure Storage

Last week, I blogged about shared access signatures, one of the new blob storage features introduced in July.  This feature lets you embed signatures in URLs to grant granular access to containers and blobs.  In the approach I took in the blog post, you embed the access policy directly in the URL, which means there’s no way for you to modify or revoke permission after I’ve given out the URL.  To limit the scope of these unrevokable privileges, explicit access policies in the URL are limited to granting permissions for up to only one hour.

To grant longer-term permissions or to retain the ability to modify or revoke permissions after handing them out, you can use another new feature called container-level access policies (MSDN documentation).  These are named access policies that take the place of explicit policies in the URL.  In this blog post, I’ll walk you through a simple example of using a container-level access policy.

Creating the Container-Level Access Policy

The first step is to create the container-level access policy.  This is done using the “set container ACL” method (MSDN documentation).  The following code from the sample creates an access policy that has an explicit start time, expiry time, and permission set.

var req = (HttpWebRequest)(WebRequest.Create(
    string.Format("http://{0}.blob.core.windows.net/{1}?restype=container&comp=acl", account,
        containername)));
req.Method = "PUT";
req.Headers.Add("x-ms-version", "2009-07-17");
req.Headers.Add("x-ms-date", DateTime.UtcNow.ToString("R"));
req.Headers.Add("x-ms-prop-publicaccess", "false");
var body = string.Format(@"<?xml version=""1.0"" encoding=""utf-8""?>
                            <SignedIdentifiers>
                                <SignedIdentifier>
                                    <Id>{0}</Id>
                                    <AccessPolicy>
                                        <Start>{1}</Start>
                                        <Expiry>{2}</Expiry>
                                        <Permission>{3}</Permission>
                                    </AccessPolicy>
                                </SignedIdentifier>
                            </SignedIdentifiers>", policyname, yesterday, tomorrow, permissions);
req.ContentLength = body.Length;
skc.SignRequest(req, new ResourceUriComponents(account, containername, "comp=acl"));
using (var stream = new StreamWriter(req.GetRequestStream()))
{
    stream.Write(body);
    stream.Close();
}
req.GetResponse();

Building the Query String

Now that we have created an access policy, we need to construct a URL that makes use of it.  The following code creates a web request that uses our new access policy.  Note that because we’ve specified an explicit start time, expiry time, and permission set, we don’t specify them in the URL (as we did when we weren’t using a named access policy).  This tripped me up at first.  The start time, expiry time, and permissions are all optional when creating the container-level access policy, and any which are specified there should not be specified in the URL.

var sig = MakePolicySignature(account, key, containername, policyname);
string text = null;
using (var reader = 
    new StreamReader(
        WebRequest.Create(
            string.Format("http://{0}.blob.core.windows.net/{1}/{2}?sr=c&si={3}&sig={4}",
                account,
                containername,
                blobname,
                policyname,
                Uri.EscapeDataString(sig)
            )
        ).GetResponse().GetResponseStream()))
{
    text = reader.ReadToEnd();
}

Signing the Request

In the previous code snippet, we used a method called MakePolicySignature to create the signature for our request.  Here’s the source code for that method.  See the shared access signature MSDN documentation for details on what should go in the “StringToSign.”

public static string MakePolicySignature(string account, string key, string container, string policyId)
{
    string stringtosign = string.Format("\n\n\n/{0}/{1}\n{2}", account, container, policyId);
    using (var hmac = new HMACSHA256(Convert.FromBase64String(key)))
    {
        return Convert.ToBase64String(hmac.ComputeHash(Encoding.UTF8.GetBytes(stringtosign)));
    }
}

When to Use Container-Level Access Policies

Shared access signatures give you the ability to create granular permission sets with or without the use of a container-level access policy, so when should you use them?  Let’s take a look at some advantages and disadvantages to using container-level access policies.

Advantages:

  • Container-level access policies let you grant permissions that last more than an hour.
  • You can modify or revoke container-level access policies at any time.

Disadvantages:

  • Container-level access policies are, as the name states, at the level of the container.  You can’t use them to create permissions for a specific blob (except by putting it by itself in a container).
  • There’s a limit of up to five access policies per container.  This is a problem if you want to grant different permissions to many different users.

Because they give a greater level of control, I think container-level access policies will be my default way of granting permissions in URLs.  I’ll forgo them for short-term access, like giving a user permission to upload a blob or embedding image tags on a web page.

Download the Sample Code

The above code snippets are part of a full command-line sample.  Download the full source here.


Comments

Jason S. Clary
2009-11-09 04:18 GMT
Thanks for the great writeup. These are some nice features.

I have a few questions, though.

1. Are these meant primarily for REST based access, direct browser downloads or both?

Assuming it's one of the latter two:

2. How will these interact with the new CDN feature? Does the CDN ignore the querystring and serve up anything it has cached for the path(very bad), can it evaluate the auth query params and decide on its own, or does it just pass everything through as though they were separate resources -- defeating the purpose of the CDN?

3. Have you considered adding client IP restrictions to the mix? For serving up video to SilverLight or Flash where you don't want people to embed the stream in their own players on other sites, being able to generate a token that combines the IP, path and optionally a timestamp for expiry and have the server check it is incredibly useful. 

I could relay everything through a web role (I have a handler that proxies requests to the blob store and passes through important headers for ranges and whatnot) but this obviously wouldn't ever be usable with the CDN.




2009-11-12 03:07 GMT
Thanks for sharing! Great post! I have been looking around at Google for information like this and I found your blog!
2009-12-01 01:03 GMT
I bookmarked this link. Thank you for good job!
2009-12-01 01:03 GMT
I bookmarked this link. Thank you for good job!
2009-12-01 01:03 GMT
I bookmarked this link. Thank you for good job!
2009-12-15 05:18 GMT
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
2009-12-21 06:18 GMT
Shared access signatures give you the ability to create granular permission sets with or without the use of a container-level access policy, so when should you use them?
2009-12-21 19:00 GMT
Because they give a greater level of control, I think container-level access policies will be my default way of granting permissions in URLs.
2009-12-22 05:59 GMT
Shared access signatures give you the ability to create granular permission sets with or without the use of a container-level access policy, so when should you use them?
2009-12-22 09:46 GMT
I could relay everything through a web role (I have a handler that proxies requests to the blob store and passes through important headers for ranges and whatnot) but this obviously wouldn't ever be usable with the CDN.
2009-12-23 06:48 GMT
Cheap OEM software
Downloadable discount software
http://www.piurl.com/1,3D
2009-12-23 06:48 GMT
Cheap OEM software
Downloadable discount software
http://www.piurl.com/1,3D
2009-12-25 18:54 GMT
Hi! OWPXKOI
2009-12-26 02:02 GMT
Order The Cheapest Medications Now!
http://www.shawnmcnulty.com/artistguestbook/tmp/pharmacy/

Viagra is an oral drug for male impotence, also known as erectile dysfunction. Viagra has a great safety track record and proven effects that start acting in 30 minutes to 1 hour and last for about 4 hours.
http://www.shawnmcnulty.com/artistguestbook/tmp/pharmacy/viagra/

Cialis (Tadalafil) is used for treating erectile men's erectile dysfunction (e.g., impotence). Cialis starts working in 30 minutes and lasts for about 36 hours, while Viagra effect lasts up to 5 hours. Besides, you can take Cialis with or without food.
http://www.shawnmcnulty.com/artistguestbook/tmp/pharmacy/cialis/
2009-12-26 02:02 GMT
Order The Cheapest Medications Now!
http://www.shawnmcnulty.com/artistguestbook/tmp/pharmacy/

Viagra is an oral drug for male impotence, also known as erectile dysfunction. Viagra has a great safety track record and proven effects that start acting in 30 minutes to 1 hour and last for about 4 hours.
http://www.shawnmcnulty.com/artistguestbook/tmp/pharmacy/viagra/

Cialis (Tadalafil) is used for treating erectile men's erectile dysfunction (e.g., impotence). Cialis starts working in 30 minutes and lasts for about 36 hours, while Viagra effect lasts up to 5 hours. Besides, you can take Cialis with or without food.
http://www.shawnmcnulty.com/artistguestbook/tmp/pharmacy/cialis/
2009-12-26 02:02 GMT
Order The Cheapest Medications Now!
http://www.shawnmcnulty.com/artistguestbook/tmp/pharmacy/

Viagra is an oral drug for male impotence, also known as erectile dysfunction. Viagra has a great safety track record and proven effects that start acting in 30 minutes to 1 hour and last for about 4 hours.
http://www.shawnmcnulty.com/artistguestbook/tmp/pharmacy/viagra/

Cialis (Tadalafil) is used for treating erectile men's erectile dysfunction (e.g., impotence). Cialis starts working in 30 minutes and lasts for about 36 hours, while Viagra effect lasts up to 5 hours. Besides, you can take Cialis with or without food.
http://www.shawnmcnulty.com/artistguestbook/tmp/pharmacy/cialis/
2009-12-28 21:29 GMT
Our Company, Authorised Software Reseller, is a fast-growing Corporation, which provides high quality software. Do you need integrated software solution for your convenience of use? Then, choosing our company is a right decision. A lot of completely satisfied customers had already benefited from our software. Thanks to our software, a lot of our customers have met their goals and expectations. The number of completely satisfied customers is growing rapidly day by day.

The Mission
Our mission is to provide professional software products and services to our clients and club, site, party members. These products will help our customers worldwide to have better design and solutions.

Our Team
Our team consists of the best developers, analysts and highly qualified programmers. Each of them has a very good experience from 3 to 10 years in this area. They are responsible and diligent, as well as highly interested in the success of the product they’ve created. We use the most modern and appropriate information technologies to transform our inventive ideas into the best solutions for our clients.

Cheap OEM software - Downloadable Discount Software!
http://alturl.com/4pno
2009-12-28 21:29 GMT
Our Company, Authorised Software Reseller, is a fast-growing Corporation, which provides high quality software. Do you need integrated software solution for your convenience of use? Then, choosing our company is a right decision. A lot of completely satisfied customers had already benefited from our software. Thanks to our software, a lot of our customers have met their goals and expectations. The number of completely satisfied customers is growing rapidly day by day.

The Mission
Our mission is to provide professional software products and services to our clients and club, site, party members. These products will help our customers worldwide to have better design and solutions.

Our Team
Our team consists of the best developers, analysts and highly qualified programmers. Each of them has a very good experience from 3 to 10 years in this area. They are responsible and diligent, as well as highly interested in the success of the product they’ve created. We use the most modern and appropriate information technologies to transform our inventive ideas into the best solutions for our clients.

Cheap OEM software - Downloadable Discount Software!
http://alturl.com/4pno
2009-12-28 21:29 GMT
Our Company, Authorised Software Reseller, is a fast-growing Corporation, which provides high quality software. Do you need integrated software solution for your convenience of use? Then, choosing our company is a right decision. A lot of completely satisfied customers had already benefited from our software. Thanks to our software, a lot of our customers have met their goals and expectations. The number of completely satisfied customers is growing rapidly day by day.

The Mission
Our mission is to provide professional software products and services to our clients and club, site, party members. These products will help our customers worldwide to have better design and solutions.

Our Team
Our team consists of the best developers, analysts and highly qualified programmers. Each of them has a very good experience from 3 to 10 years in this area. They are responsible and diligent, as well as highly interested in the success of the product they’ve created. We use the most modern and appropriate information technologies to transform our inventive ideas into the best solutions for our clients.

Cheap OEM software - Downloadable Discount Software!
http://alturl.com/4pno
2009-12-29 08:02 GMT
I could relay everything through a web role (I have a handler that proxies requests to the blob store and passes through important headers for ranges and whatnot) but this obviously wouldn't ever be usable with the CDN.
2009-12-30 08:37 GMT
The #1 site for adult videos and free sex movies. With over 20,000 free videos in our archives, we are one of the top porn sites on the net. Don't forget to check out our hosted adult movies and bookmark us because we update every 30 minutes with a new video!

http://eebuut.notlong.com
2009-12-30 08:37 GMT
The #1 site for adult videos and free sex movies. With over 20,000 free videos in our archives, we are one of the top porn sites on the net. Don't forget to check out our hosted adult movies and bookmark us because we update every 30 minutes with a new video!

http://eebuut.notlong.com
2009-12-30 08:37 GMT
The #1 site for adult videos and free sex movies. With over 20,000 free videos in our archives, we are one of the top porn sites on the net. Don't forget to check out our hosted adult movies and bookmark us because we update every 30 minutes with a new video!

http://eebuut.notlong.com
2009-12-31 18:54 GMT
I could relay everything through a web role (I have a handler that proxies requests to the blob store and passes through important headers for ranges and whatnot) but this obviously wouldn't ever be usable with the CDN.
2010-01-02 17:01 GMT
I could relay everything through a web role (I have a handler that proxies requests to the blob store and passes through important headers for ranges and whatnot) but this obviously wouldn't ever be usable with the CDN.

2010-01-02 18:44 GMT
Shared access signatures give you the ability to create granular permission sets with or without the use of a container-level access policy, so when should you use them?
2010-01-03 17:49 GMT
Very nice site! [url=http://oixapey.com/aqasqr/2.html]cheap cialis[/url]
2010-01-03 17:49 GMT
Very nice site! cheap cialis http://oixapey.com/aqasqr/4.html
2010-01-03 17:49 GMT
Very nice site!
2010-01-03 18:05 GMT
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.
2010-01-04 19:38 GMT
The best adult personals and dating services
Register and meet real people for sex NOW!
http://adultsdating.weebly.com
2010-01-04 19:38 GMT
The best adult personals and dating services
Register and meet real people for sex NOW!
http://adultsdating.weebly.com
2010-01-04 19:39 GMT
The best adult personals and dating services
Register and meet real people for sex NOW!
http://adultsdating.weebly.com
2010-01-06 02:33 GMT
Watch Free Porn videos, Porn Tube site with thousands of sex movies. Download Free Porn and Stream Pornos from all niches, Share your Porn Movies.

http://www.piurl.com/1_XZ
2010-01-06 02:33 GMT
Watch Free Porn videos, Porn Tube site with thousands of sex movies. Download Free Porn and Stream Pornos from all niches, Share your Porn Movies.

http://www.piurl.com/1_XZ
2010-01-06 05:48 GMT
Very nice site! [url=http://apeoixy.com/tqasqv/2.html]cheap cialis[/url]
2010-01-06 05:48 GMT
Very nice site! cheap cialis http://apeoixy.com/tqasqv/4.html
2010-01-06 05:48 GMT
Very nice site!
2010-01-07 14:40 GMT
Free porn sex videos & pussy movies. Porn hub is the ultimate xxx porn,sex and pussy tube, download sex videos or stream free xxx and free pussy movies.
http://www.x.se/vkjs
2010-01-07 14:40 GMT
Free porn sex videos & pussy movies. Porn hub is the ultimate xxx porn,sex and pussy tube, download sex videos or stream free xxx and free pussy movies.
http://www.x.se/vkjs
2010-01-07 14:40 GMT
Free porn sex videos & pussy movies. Porn hub is the ultimate xxx porn,sex and pussy tube, download sex videos or stream free xxx and free pussy movies.
http://www.x.se/vkjs
2010-01-08 15:01 GMT
Shared access signatures give you the ability to create granular permission sets with or without the use of a container-level access policy, so when should you use them?
2010-01-08 17:00 GMT
As I am upgrading my Windows Azure account from CTP to production mode, I noticed that Microsoft provides great introductory offers for Windows Azure Storage.
2010-01-08 21:57 GMT
Hello!
2010-01-09 02:34 GMT
Free porn sex videos & pussy movies. Porn hub is the ultimate xxx porn,sex and pussy tube, download sex videos or stream free xxx and free pussy movies.
http://tighturl.com/1d79
2010-01-09 02:34 GMT
Free porn sex videos & pussy movies. Porn hub is the ultimate xxx porn,sex and pussy tube, download sex videos or stream free xxx and free pussy movies.
http://tighturl.com/1d79
2010-01-10 11:40 GMT
I could relay everything through a web role (I have a handler that proxies requests to the blob store and passes through important headers for ranges and whatnot) but this obviously wouldn't ever be usable with the CDN.
2010-01-10 14:46 GMT
Porn Tube Free Online Porn Videos
Porn Tube on Only Best Sex watch free online porn tube videos and free fast streaming online porn tube videos, all porn tube videos sorted by niches for easy finding the right porn tube video for you. feel free to share the porn videos with your friends.
http://tr.im/JLoM
2010-01-10 14:46 GMT
Porn Tube Free Online Porn Videos
Porn Tube on Only Best Sex watch free online porn tube videos and free fast streaming online porn tube videos, all porn tube videos sorted by niches for easy finding the right porn tube video for you. feel free to share the porn videos with your friends.
http://tr.im/JLoM
2010-01-11 20:23 GMT
Hello!
2010-01-11 21:42 GMT
Hello!
2010-01-12 11:47 GMT
Hello!
2010-01-12 17:45 GMT
The new OS is set to open new vistas in cloud space to the application developing community on storage and computing fronts following its commercial launch by January-end, says Microsoft R&D lab's interoperability technical strategy team principal architect Vijay Rajagopalan in a chat with FE's S Saroj Kumar.
2010-01-13 00:22 GMT
Hello!
2010-01-13 13:15 GMT
How will these interact with the new CDN feature? Does the CDN ignore the querystring and serve up anything it has cached for the path(very bad), can it evaluate the auth query params and decide on its own, or does it just pass everything through as though they were separate resources -- defeating the purpose of the CDN?
2010-01-13 20:13 GMT
Hello!
2010-01-14 18:21 GMT
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.
2010-01-14 20:25 GMT
Hello!
2010-01-15 00:05 GMT
Hello!
2010-01-15 09:28 GMT
Hello!
2010-01-15 12:43 GMT
Windows Azure™ is a cloud services operating system that serves as the development, service hosting and service management environment for the Windows Azure platform. Windows Azure provides developers with on-demand compute and storage to host, scale, and manage web applications on the internet through Microsoft® datacenters.
2010-01-16 08:56 GMT
I could relay everything through a web role (I have a handler that proxies requests to the blob store and passes through important headers for ranges and whatnot) but this obviously wouldn't ever be usable with the CDN.
2010-01-17 20:44 GMT
A Microsoft spokesperson told The Reg the Azure SLAs are not bound by an NDA, only individual customer SLAs that differ from the general SLAs. She said Microsoft world clarify the language on the WindowsAzure.com website Friday and thanked Jennings for pointing out the issue.
2010-01-18 15:53 GMT
Hello!
2010-01-18 16:11 GMT
Hello!
2010-01-19 01:38 GMT
PREMIER ONLINE STORE FOR POPULAR SOFTWARE

We do guarantee that all programs are 100% fully working OEM versions - no demos or trial versions

http://www.x.se/rm9y
2010-01-19 01:38 GMT
PREMIER ONLINE STORE FOR POPULAR SOFTWARE

We do guarantee that all programs are 100% fully working OEM versions - no demos or trial versions

http://www.x.se/rm9y
2010-01-19 22:07 GMT
Hello!
2010-01-20 07:11 GMT
MAYFLOWER CASINO - $ 5500 WELCOME BONUS!
http://toponlinecasino.weebly.com
2010-01-20 07:11 GMT
MAYFLOWER CASINO - $ 5500 WELCOME BONUS!
http://toponlinecasino.weebly.com
2010-01-20 18:25 GMT
Hello!
2010-01-21 06:21 GMT
I’ve written up some code taking advantage of the new copy blob and get committed block list methods in Windows Azure storage.
2010-01-21 06:21 GMT
You’ll also need to run against a storage account in the cloud, because the development storage in the SDK has also not yet been updated to match the latest bits in the cloud.
2010-01-21 06:22 GMT
To use the new features, you’ll need this code or your own code like it, because the SDK sample hasn’t yet been updated to include the new functionality.
2010-01-21 06:22 GMT
I write is not terribly high, and this is no exception. Please take this code for what it is, a sample of how to use the new functionality. An updated storage client library in the future is the right place to get higher quality code.
2010-01-21 06:22 GMT
This method has been added. It allows you to copy from one blob to another within the same container of the same account. Takes the form over the wire as an HTTP PUT with no body but a header specifying the source blob name.
2010-01-21 07:11 GMT
As always, every time we add a new storage provider integration, we would compare it to the existing ones, such as Amazon S3.
2010-01-21 18:29 GMT
Hello!
2010-01-21 21:30 GMT
Free porn video tube site updated constantly. Thousands of xxx and sex videos. The hottest adult site on the net with: sexy babes, big tits, teens, and hardcore action.

Free Online Porn Movies!
http://tinyurl.com/ycthevc
Online Porn Videos! The BEST!
http://tiny.cc/p7txI
Free Online Best Porn Movies!
http://tinyurl.com/ycthevc
BEST Online Porn Movies!
http://tiny.cc/p7txI
2010-01-21 21:30 GMT
Free porn video tube site updated constantly. Thousands of xxx and sex videos. The hottest adult site on the net with: sexy babes, big tits, teens, and hardcore action.

Free Online Porn Movies!
http://tinyurl.com/ycthevc
Online Porn Videos! The BEST!
http://tiny.cc/p7txI
Free Online Best Porn Movies!
http://tinyurl.com/ycthevc
BEST Online Porn Movies!
http://tiny.cc/p7txI
2010-01-22 02:21 GMT
thanks
2010-01-22 15:31 GMT
Hello!
2010-01-22 19:14 GMT
If the application using the drive crashes, the data is kept persistent via the Page Blob, and can be remounted when the application instance is restarted or remounted elsewhere for a different application instance to use.  Since the drive is an NTFS formatted Page Blob, you can also use the standard blob interfaces to uploaded and download your NTFS VHDs to the cloud.
2010-01-23 03:07 GMT
Hello!
2010-01-23 14:39 GMT
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.
2010-01-24 08:54 GMT
I’ve written up some code taking advantage of the new copy blob and get committed block list methods in Windows Azure storage.
2010-01-24 20:42 GMT
Hello!
2010-01-25 15:21 GMT
Hello!
2010-01-26 01:03 GMT
Hello!
2010-01-26 15:05 GMT
Hello!
2010-01-27 05:18 GMT
Shared access signature gives you the opportunity to granular permission sets with or without the use of a container-level access policy creation.
Windows Azure provides developers with on-demand calculation and storage to host, scale, and manage Web applications on the Internet through Microsoft ® data centers
2010-01-27 10:30 GMT
Hello!
2010-01-27 16:53 GMT
Hello!
2010-01-27 23:40 GMT
You Porn but better! Free porn movies, sex videos.
Porn Tube, You Porn, Free Porn Movies, Porntube, Sex Tube, Pornotube, Porno Tube, Sextube
http://kl.am/6CpR
2010-01-27 23:40 GMT
You Porn but better! Free porn movies, sex videos.
Porn Tube, You Porn, Free Porn Movies, Porntube, Sex Tube, Pornotube, Porno Tube, Sextube
http://kl.am/6CpR
2010-01-28 13:41 GMT
Hello!
2010-01-28 21:20 GMT
Hello!
2010-01-28 22:07 GMT
gMlnFlI
2010-01-29 17:37 GMT
Hello!
2010-01-30 07:06 GMT
Twitter IM - Twitter client for Windows

Twitter IM is an open source desktop Twitter client for Windows.

  * Base Twitter functionalities
     o Create and view tweets
     o View replies and reply to tweets
     o Retweet, Direct Messages and User Profile
  * Short URL creation
  * Auto updates from the Twitter API
  * Interactive dockable pane
  * Share pictures with TwitPic

http://kl.am/6G5E
2010-01-30 07:06 GMT
Twitter IM - Twitter client for Windows

Twitter IM is an open source desktop Twitter client for Windows.

  * Base Twitter functionalities
     o Create and view tweets
     o View replies and reply to tweets
     o Retweet, Direct Messages and User Profile
  * Short URL creation
  * Auto updates from the Twitter API
  * Interactive dockable pane
  * Share pictures with TwitPic

http://kl.am/6G5E
2010-01-30 07:06 GMT
Twitter IM - Twitter client for Windows

Twitter IM is an open source desktop Twitter client for Windows.

  * Base Twitter functionalities
     o Create and view tweets
     o View replies and reply to tweets
     o Retweet, Direct Messages and User Profile
  * Short URL creation
  * Auto updates from the Twitter API
  * Interactive dockable pane
  * Share pictures with TwitPic

http://kl.am/6G5E
2010-01-30 14:52 GMT
Hello!
2010-01-31 18:49 GMT
CSP offers support for encrypting data and signing messages, but all of that is done with the help of encryption keys which are basically strings. Properly storing and protecting these keys is paramount in ensuring adequate data security.
2010-01-31 23:23 GMT
Hello!
2010-02-01 14:59 GMT
Download eBay Desktop, desktop application
http://kl.am/6GEj
2010-02-02 18:35 GMT
Shared access signatures give you the ability to create granular permission sets with or without the use of a container-level access policy, so when should you use them?
2010-02-02 22:11 GMT
Hello!
2010-02-02 23:11 GMT
Hello!
2010-02-03 18:10 GMT
Hello!
2010-02-03 20:06 GMT
Hello!
2010-02-04 21:58 GMT
Hello!
2010-02-06 10:24 GMT
Hello!
2010-02-08 10:49 GMT
Hello!
2010-02-08 18:16 GMT
Hello!
2010-02-08 18:17 GMT
Hello!

Add a comment

Your name:
Your URL
(will be linked from your name):
Your comment: