Modulo 6 - Clase 4
Modulo 6 - Clase 4
1
Outline
1. Web API
1. Application Programming Interface
2. Uniform Resource Identifier
3. JavaScript Object Notation
4. RESTful API
2. Keystone
1. Authentication methods
2. Identity concepts
3. Keystone Elements
3. Glance
1. Architecture
2. Supported Disk Formats
2
Web API
4
Web API
5
Keystone
6
Keystone Architecture [5]
7
Authentication Methods: Lightweight
Directory Access Protocol [6]
Protocol for locating and
accessing resources over an IP
network
Allows searching for a resource
without knowing where they are
located (domain)
8
Authentication Methods: Kerberos [7]
9
Authentication Methods: Kerberos [7]
10
Authentication Methods: Kerberos [7]
11
Authentication Methods: Kerberos [7]
12
Authentication Methods: Digital
Signature (Non-Repudiation)
13
https://www.docusign.com/how-it-works/electronic-
signature/digital-signature/digital-signature-faq
Authentication Methods: X.509
Certificate [8]
https://msdn.microsoft.com/en-us/library/ff649801.aspx
14
Authentication Methods: X.509
Certificate [8]
https://msdn.microsoft.com/en-us/library/ff649801.aspx
https://msdn.microsoft.com/en-us/library/ff649801.aspx
16
Authentication Methods: X.509
Certificate [8]
https://msdn.microsoft.com/en-us/library/ff649801.aspx
17
Keystone: Identity Concepts
Authentication
Confirm identity of a user through validation of supplied credentials
When validates credentials, issue authentication token (provided in subsequent requests)
Credentials
Data that confirm identity of user
Username and password, username and API key, or authentication token
Domain (Identity service API v3 entity)
Collection of projects and users
Define administrative boundaries for managing identity entities
Domain administrator can create projects and users, and assign roles to them (within the
domain)
18
Keystone: Identity Concepts
Endpoint
Network accessible address (URL) to access services through it
Three types: internal, public and administration
Project (previously known as tenant)
Container that groups/isolates identity objects (network, VMs, users, roles, etc.)
Region (Identity service API v3 entity)
General division in OpenStack deployment (i.e. geographical)
OpenStack environment separated by regions (dedicated API endpoints, but
common Keystone service)
19
Keystone: Identity Concepts
Role
Set of allowed operations associated with a user
Tokens issued by identity service include list of roles
When called by users, services determine which operation/resource the role grants
access
Service
Compute (nova), Object Storage (swift), or Image Service (glance)
Users access resources and perform operations through service endpoints
20
Keystone: Identity Concepts
Token
Alpha-numeric text string
Enables access to OpenStack APIs and resources
May be revoked at any time and is valid for finite duration
User
Representation of a person, system or service using OpenStack services (API
consumer)
Access to resources using assigned token (during authentication)
Can be associated with roles, projects, or both
21
Keystone: Elements
Fernet
Secure messaging format designated for use in API tokens
Fernet tokens are bearer tokens (https://tools.ietf.org/html/rfc6750)
Any party in possession of the token can use it in any way other party in possession of it
can
Do not require proof-of-possession
Characteristics
Non-persistent: do not need to be stored in a database
Lightweight: contain minimal identity information and dynamic authorization context
Symmetric encryption: encrypt payload using AES and sign using SHA
MessagePacked (serialized format) payload (https://msgpack.org/), then encrypted
and signed as a Fernet Token
22
Keystone: Elements
Put enough information into system, so it can function through API using normal
authentication flows
23
Glance
24
Glance Architecture [5]
25
Glance Architecture
Glance-API
Accepts image API calls (discovery, retrieval, and storage)
Glance-Registry
Stores, process and retrieves image metadata (size, type, owner, etc.)
26
Glance: Supported Disk Formats
27
Bibliography
28
Bibliography
29