title: Is it possible to get the canonical user id from AWS IAM users, from the .NET API?
body: <p>I have successfully created a user, credentials, and a bucket.<br>
  Now I need to grant bucket access to this user. </p>
  
  <p>Is there any way to get this CanonicalUser value from code?<br>
  The IAM user object only provides ARN, Path, UserId and UserName values, but none of these are valid for the grant.  </p>
  
  <pre><code>using (var s3 = new Amazon.S3.AmazonS3Client("[user_key]", "[secret_user_key]", RegionEndpoint.GetBySystemName("eu-west-1")))
  {
      var response = s3.GetACL("[bucket_id]");
      var acl = response.AccessControlList;
      acl.AddGrant(
          new S3Grantee() { 
              CanonicalUser = **???** 
          }, 
          new S3Permission(S3Permission.FULL_CONTROL)
      );
      s3.PutACL(
          new PutACLRequest() { 
              AccessControlList = acl, 
              BucketName = "[bucket_id]" 
          }
      );
  }
  </code></pre>