Comment 0 for bug 1555590

Revision history for this message
Stuart McLaren (stuart-mclaren) wrote :

When the glance server is running with a multi-tenant swift store, it is possible to use a command such as the following to create an image:

 $ glance --os-image-api-version 1 image-create --location swift+http://192.168.1.103:8080/v1/AUTH_1a93b08616534cfa88af4ecaf5dbb35d/glance_a785957a-1340-498c-9427-3a549fc06842/a785957a-1340-498c-9427-3a549fc06842 --disk-format raw --container-format bare --name img2
 +------------------+--------------------------------------+
 | Property | Value |
 +------------------+--------------------------------------+
 | checksum | None |
 | container_format | bare |
 | created_at | 2016-03-10T11:37:02.000000 |
 | deleted | False |
 | deleted_at | None |
 | disk_format | raw |
 | id | 3fae88b9-3b2b-4dca-88f1-c89615dbdbf8 |
 | is_public | False |
 | min_disk | 0 |
 | min_ram | 0 |
 | name | img2 |
 | owner | 1a93b08616534cfa88af4ecaf5dbb35d |
 | protected | False |
 | size | 37 |
 | status | active |
 | updated_at | 2016-03-10T11:37:02.000000 |
 | virtual_size | None |
 +------------------+--------------------------------------+

Subsequent requests for that image will send a request, *including a token*, to the specified URL. The URL can contain any IP address.

The URL can be anything. It could for example be a 'bad' swift server, controlled by the image creator, which allows anonymous access to the object in question while logging the incoming tokens.

In this way one user can access valid tokens of all users which access the image in question. Other users may access that image if it is a public image, or if it has been shared with them.