SlideShare une entreprise Scribd logo
1  sur  9
Télécharger pour lire hors ligne
Integration between
Cloudstack and
Openstack




Will Stevens
David Chamard         sponsored by
Introducing Cloudstack
Cloudstack in 5 seconds:
An Apache licensed, open source compute
stack (like Nova), mostly built in JAVA.

What integration currently exists between
openstack and cloudstack: Storing VM
snapshots and templates (image files) to Swift.

What is missing: Front-end UI and
authentication between the two systems.
Love for Openstack and Cloudstack




     CS + OS
What is cs_auth?
● Swift authentication middleware.

● Authenticate users via the Cloudstack API.

● Leverage Cloudstack's user management
  rather than introducing another auth system.

● Removes the need to populate and sync
  multiple databases for account information.
Overview of cs_auth
● Handles S3 requests via the swift3 middleware.

● Implements ACL, including public containers.

● Uses Memcached for caching the user's identity.

● Works out of the box with common tools:
   ○   Cyberduck
   ○   Swift Bench
   ○   Swift Dispersion
   ○   Swift Recon
Request Flow
Anatomy of cs_auth
token = hashlib.sha224('%s%s' % (cs['secretkey'], cs['apikey'])).hexdigest()

if self.reseller_prefix != '':
      account_url = '%s/v1/%s_%s' % 
            (self.storage_url, self.reseller_prefix, quote(cs['account']))
else:
      account_url = '%s/v1/%s' % (self.storage_url, quote(cs['account']))

identity = dict({
     'username':cs['username'],
     'account':cs['account'],
     'token':token,
     'account_url':account_url,
     'domain':dict({ 'id':cs['domainid'], 'name':cs['domain'] }),
     'roles':[self.cs_roles[cs['accounttype']], cs['account']],
     'expires':expires
})
Additional considerations
● Still need a UI for Swift in Cloudstack.

● Need to work with the swift and keystone
  teams to improve ACL support for S3 calls.
Get the code...
http://cloudops.github.com/cs_auth/

Contenu connexe

Tendances

Cервер на Go для мобильной стратегии
Cервер на Go для мобильной стратегииCервер на Go для мобильной стратегии
Cервер на Go для мобильной стратегииArtem Kovardin
 
Simple blog wall creation on Java
Simple blog wall creation on JavaSimple blog wall creation on Java
Simple blog wall creation on JavaMax Titov
 
An Introduction to Jquery
An Introduction to JqueryAn Introduction to Jquery
An Introduction to JqueryPhil Reither
 
Php update and delet operation
Php update and delet operationPhp update and delet operation
Php update and delet operationsyeda zoya mehdi
 
SITCON 雲林定期聚 #1
SITCON 雲林定期聚 #1SITCON 雲林定期聚 #1
SITCON 雲林定期聚 #1Ting-You Xu
 
Aalifassura 170209203254
Aalifassura 170209203254Aalifassura 170209203254
Aalifassura 170209203254Aztexain
 
Big Data for each one of us
Big Data for each one of usBig Data for each one of us
Big Data for each one of usOSCON Byrum
 
Web client security
Web client securityWeb client security
Web client securityZiv Birer
 
CIS 2015b FIDO U2F in 10 minutes - Dirk Balfanz
CIS 2015b FIDO U2F in 10 minutes - Dirk BalfanzCIS 2015b FIDO U2F in 10 minutes - Dirk Balfanz
CIS 2015b FIDO U2F in 10 minutes - Dirk BalfanzCloudIDSummit
 
MySQL flexible schema and JSON for Internet of Things
MySQL flexible schema and JSON for Internet of ThingsMySQL flexible schema and JSON for Internet of Things
MySQL flexible schema and JSON for Internet of ThingsAlexander Rubin
 

Tendances (12)

Basedatos2
Basedatos2Basedatos2
Basedatos2
 
Cервер на Go для мобильной стратегии
Cервер на Go для мобильной стратегииCервер на Go для мобильной стратегии
Cервер на Go для мобильной стратегии
 
Simple blog wall creation on Java
Simple blog wall creation on JavaSimple blog wall creation on Java
Simple blog wall creation on Java
 
An Introduction to Jquery
An Introduction to JqueryAn Introduction to Jquery
An Introduction to Jquery
 
Php update and delet operation
Php update and delet operationPhp update and delet operation
Php update and delet operation
 
SITCON 雲林定期聚 #1
SITCON 雲林定期聚 #1SITCON 雲林定期聚 #1
SITCON 雲林定期聚 #1
 
Aalifassura 170209203254
Aalifassura 170209203254Aalifassura 170209203254
Aalifassura 170209203254
 
Big Data for each one of us
Big Data for each one of usBig Data for each one of us
Big Data for each one of us
 
C SQLite usage
C SQLite usageC SQLite usage
C SQLite usage
 
Web client security
Web client securityWeb client security
Web client security
 
CIS 2015b FIDO U2F in 10 minutes - Dirk Balfanz
CIS 2015b FIDO U2F in 10 minutes - Dirk BalfanzCIS 2015b FIDO U2F in 10 minutes - Dirk Balfanz
CIS 2015b FIDO U2F in 10 minutes - Dirk Balfanz
 
MySQL flexible schema and JSON for Internet of Things
MySQL flexible schema and JSON for Internet of ThingsMySQL flexible schema and JSON for Internet of Things
MySQL flexible schema and JSON for Internet of Things
 

En vedette

Educ 515 W1
Educ 515 W1Educ 515 W1
Educ 515 W1lancesfa
 
Kap. 6 Og 7 Den Femte Grunnleggende Ferdighet
Kap. 6 Og 7 Den Femte Grunnleggende FerdighetKap. 6 Og 7 Den Femte Grunnleggende Ferdighet
Kap. 6 Og 7 Den Femte Grunnleggende FerdighetJeanette Tranberg
 
Grammar Special Plural Nouns
Grammar Special Plural NounsGrammar Special Plural Nouns
Grammar Special Plural Nounslancesfa
 
Mobile Telephone Market Segments
Mobile Telephone Market SegmentsMobile Telephone Market Segments
Mobile Telephone Market Segmentscraig lefebvre
 
Update of Social Marketing Organization
Update of Social Marketing OrganizationUpdate of Social Marketing Organization
Update of Social Marketing Organizationcraig lefebvre
 
Religions Og Livssynsdidaktikk Kap4
Religions Og Livssynsdidaktikk Kap4Religions Og Livssynsdidaktikk Kap4
Religions Og Livssynsdidaktikk Kap4Jeanette Tranberg
 
BT Applying
BT ApplyingBT Applying
BT Applyinglancesfa
 
Overcoming Face-to-Face Dependence in Distance Education: Gender and Cultural...
Overcoming Face-to-Face Dependence in Distance Education: Gender and Cultural...Overcoming Face-to-Face Dependence in Distance Education: Gender and Cultural...
Overcoming Face-to-Face Dependence in Distance Education: Gender and Cultural...Steve McCarty
 
SharePoint Business Value - A model behind the madness
SharePoint Business Value - A model behind the madnessSharePoint Business Value - A model behind the madness
SharePoint Business Value - A model behind the madnessAntony Clay
 
Providing Patients with Access to their Personal Medical Records On-The-Go
Providing Patients with Access to their Personal Medical Records On-The-GoProviding Patients with Access to their Personal Medical Records On-The-Go
Providing Patients with Access to their Personal Medical Records On-The-GoNrip Nihalani
 
Registering for Connect Writing (ENG091)
Registering for Connect Writing (ENG091)Registering for Connect Writing (ENG091)
Registering for Connect Writing (ENG091)Alisa Cooper
 
PARC CSL Colloquium
PARC CSL ColloquiumPARC CSL Colloquium
PARC CSL Colloquiummor
 
Elevens Tekst Tekstbegrepet Kap 3
Elevens Tekst Tekstbegrepet Kap 3Elevens Tekst Tekstbegrepet Kap 3
Elevens Tekst Tekstbegrepet Kap 3Jeanette Tranberg
 
Bt Understanding
Bt UnderstandingBt Understanding
Bt Understandinglancesfa
 
Stop Doing SharePoint Projects
Stop Doing SharePoint ProjectsStop Doing SharePoint Projects
Stop Doing SharePoint ProjectsAntony Clay
 
Leadership Conversations
Leadership ConversationsLeadership Conversations
Leadership ConversationsAntony Clay
 
Social Media: Strategic Shift or Tactical Tool?
Social Media: Strategic Shift or Tactical Tool?Social Media: Strategic Shift or Tactical Tool?
Social Media: Strategic Shift or Tactical Tool?craig lefebvre
 
The Importance of a SharePoint Vision - Raona Business Value Event
The Importance of a SharePoint Vision - Raona Business Value EventThe Importance of a SharePoint Vision - Raona Business Value Event
The Importance of a SharePoint Vision - Raona Business Value EventAntony Clay
 

En vedette (20)

Educ 515 W1
Educ 515 W1Educ 515 W1
Educ 515 W1
 
Kap. 6 Og 7 Den Femte Grunnleggende Ferdighet
Kap. 6 Og 7 Den Femte Grunnleggende FerdighetKap. 6 Og 7 Den Femte Grunnleggende Ferdighet
Kap. 6 Og 7 Den Femte Grunnleggende Ferdighet
 
Grammar Special Plural Nouns
Grammar Special Plural NounsGrammar Special Plural Nouns
Grammar Special Plural Nouns
 
Mobile Telephone Market Segments
Mobile Telephone Market SegmentsMobile Telephone Market Segments
Mobile Telephone Market Segments
 
Update of Social Marketing Organization
Update of Social Marketing OrganizationUpdate of Social Marketing Organization
Update of Social Marketing Organization
 
Religions Og Livssynsdidaktikk Kap4
Religions Og Livssynsdidaktikk Kap4Religions Og Livssynsdidaktikk Kap4
Religions Og Livssynsdidaktikk Kap4
 
BT Applying
BT ApplyingBT Applying
BT Applying
 
Overcoming Face-to-Face Dependence in Distance Education: Gender and Cultural...
Overcoming Face-to-Face Dependence in Distance Education: Gender and Cultural...Overcoming Face-to-Face Dependence in Distance Education: Gender and Cultural...
Overcoming Face-to-Face Dependence in Distance Education: Gender and Cultural...
 
SharePoint Business Value - A model behind the madness
SharePoint Business Value - A model behind the madnessSharePoint Business Value - A model behind the madness
SharePoint Business Value - A model behind the madness
 
Yack Pack
Yack PackYack Pack
Yack Pack
 
Providing Patients with Access to their Personal Medical Records On-The-Go
Providing Patients with Access to their Personal Medical Records On-The-GoProviding Patients with Access to their Personal Medical Records On-The-Go
Providing Patients with Access to their Personal Medical Records On-The-Go
 
Registering for Connect Writing (ENG091)
Registering for Connect Writing (ENG091)Registering for Connect Writing (ENG091)
Registering for Connect Writing (ENG091)
 
PARC CSL Colloquium
PARC CSL ColloquiumPARC CSL Colloquium
PARC CSL Colloquium
 
Elevens Tekst Tekstbegrepet Kap 3
Elevens Tekst Tekstbegrepet Kap 3Elevens Tekst Tekstbegrepet Kap 3
Elevens Tekst Tekstbegrepet Kap 3
 
Bt Understanding
Bt UnderstandingBt Understanding
Bt Understanding
 
Stop Doing SharePoint Projects
Stop Doing SharePoint ProjectsStop Doing SharePoint Projects
Stop Doing SharePoint Projects
 
Leadership Conversations
Leadership ConversationsLeadership Conversations
Leadership Conversations
 
Social Media: Strategic Shift or Tactical Tool?
Social Media: Strategic Shift or Tactical Tool?Social Media: Strategic Shift or Tactical Tool?
Social Media: Strategic Shift or Tactical Tool?
 
Spraakets
SpraaketsSpraakets
Spraakets
 
The Importance of a SharePoint Vision - Raona Business Value Event
The Importance of a SharePoint Vision - Raona Business Value EventThe Importance of a SharePoint Vision - Raona Business Value Event
The Importance of a SharePoint Vision - Raona Business Value Event
 

Similaire à Cloud.ca and CloudOps cs_auth

FwDays 2021: Metarhia Technology Stack for Node.js
FwDays 2021: Metarhia Technology Stack for Node.jsFwDays 2021: Metarhia Technology Stack for Node.js
FwDays 2021: Metarhia Technology Stack for Node.jsTimur Shemsedinov
 
How to implement authorization in your backend with AWS IAM
How to implement authorization in your backend with AWS IAMHow to implement authorization in your backend with AWS IAM
How to implement authorization in your backend with AWS IAMProvectus
 
コマンドラインで始める SoftLayer (May 23, 2014)
コマンドラインで始める SoftLayer (May 23, 2014)コマンドラインで始める SoftLayer (May 23, 2014)
コマンドラインで始める SoftLayer (May 23, 2014)隆明 中島
 
使用 Passkeys 打造無密碼驗證服務
使用 Passkeys 打造無密碼驗證服務使用 Passkeys 打造無密碼驗證服務
使用 Passkeys 打造無密碼驗證服務升煌 黃
 
Building a Real-time Streaming ETL Framework Using ksqlDB and NoSQL
Building a Real-time Streaming ETL Framework Using ksqlDB and NoSQLBuilding a Real-time Streaming ETL Framework Using ksqlDB and NoSQL
Building a Real-time Streaming ETL Framework Using ksqlDB and NoSQLScyllaDB
 
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션Amazon Web Services Korea
 
Exposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using SwaggerExposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using SwaggerSalesforce Developers
 
Event streaming webinar feb 2020
Event streaming webinar feb 2020Event streaming webinar feb 2020
Event streaming webinar feb 2020Maheedhar Gunturu
 
2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...
2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...
2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...Andrey Devyatkin
 
Best Practices for IoT Security in the Cloud
Best Practices for IoT Security in the CloudBest Practices for IoT Security in the Cloud
Best Practices for IoT Security in the CloudAmazon Web Services
 
Frameworkless Web Development in Clojure
Frameworkless Web Development in ClojureFrameworkless Web Development in Clojure
Frameworkless Web Development in ClojureKungi2342
 
Secure Coding for NodeJS
Secure Coding for NodeJSSecure Coding for NodeJS
Secure Coding for NodeJSThang Chung
 
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan VMware Tanzu
 
Going Serverless
Going ServerlessGoing Serverless
Going Serverlessdehms
 
Using Apache as an Application Server
Using Apache as an Application ServerUsing Apache as an Application Server
Using Apache as an Application ServerPhil Windley
 
iMasters Intercon 2016 - Identity within Microservices
iMasters Intercon 2016 - Identity within MicroservicesiMasters Intercon 2016 - Identity within Microservices
iMasters Intercon 2016 - Identity within MicroservicesErick Belluci Tedeschi
 
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...iMasters
 

Similaire à Cloud.ca and CloudOps cs_auth (20)

FwDays 2021: Metarhia Technology Stack for Node.js
FwDays 2021: Metarhia Technology Stack for Node.jsFwDays 2021: Metarhia Technology Stack for Node.js
FwDays 2021: Metarhia Technology Stack for Node.js
 
How to implement authorization in your backend with AWS IAM
How to implement authorization in your backend with AWS IAMHow to implement authorization in your backend with AWS IAM
How to implement authorization in your backend with AWS IAM
 
CloudStack S3
CloudStack S3CloudStack S3
CloudStack S3
 
コマンドラインで始める SoftLayer (May 23, 2014)
コマンドラインで始める SoftLayer (May 23, 2014)コマンドラインで始める SoftLayer (May 23, 2014)
コマンドラインで始める SoftLayer (May 23, 2014)
 
使用 Passkeys 打造無密碼驗證服務
使用 Passkeys 打造無密碼驗證服務使用 Passkeys 打造無密碼驗證服務
使用 Passkeys 打造無密碼驗證服務
 
Building a Real-time Streaming ETL Framework Using ksqlDB and NoSQL
Building a Real-time Streaming ETL Framework Using ksqlDB and NoSQLBuilding a Real-time Streaming ETL Framework Using ksqlDB and NoSQL
Building a Real-time Streaming ETL Framework Using ksqlDB and NoSQL
 
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
 
Exposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using SwaggerExposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using Swagger
 
Event streaming webinar feb 2020
Event streaming webinar feb 2020Event streaming webinar feb 2020
Event streaming webinar feb 2020
 
2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...
2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...
2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...
 
Best Practices for IoT Security in the Cloud
Best Practices for IoT Security in the CloudBest Practices for IoT Security in the Cloud
Best Practices for IoT Security in the Cloud
 
Frameworkless Web Development in Clojure
Frameworkless Web Development in ClojureFrameworkless Web Development in Clojure
Frameworkless Web Development in Clojure
 
Secure Coding for NodeJS
Secure Coding for NodeJSSecure Coding for NodeJS
Secure Coding for NodeJS
 
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan
 
AWS Java SDK @ scale
AWS Java SDK @ scaleAWS Java SDK @ scale
AWS Java SDK @ scale
 
Java security
Java securityJava security
Java security
 
Going Serverless
Going ServerlessGoing Serverless
Going Serverless
 
Using Apache as an Application Server
Using Apache as an Application ServerUsing Apache as an Application Server
Using Apache as an Application Server
 
iMasters Intercon 2016 - Identity within Microservices
iMasters Intercon 2016 - Identity within MicroservicesiMasters Intercon 2016 - Identity within Microservices
iMasters Intercon 2016 - Identity within Microservices
 
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
InterCon 2016 - Segurança de identidade digital levando em consideração uma a...
 

Dernier

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Dernier (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

Cloud.ca and CloudOps cs_auth

  • 1. Integration between Cloudstack and Openstack Will Stevens David Chamard sponsored by
  • 2. Introducing Cloudstack Cloudstack in 5 seconds: An Apache licensed, open source compute stack (like Nova), mostly built in JAVA. What integration currently exists between openstack and cloudstack: Storing VM snapshots and templates (image files) to Swift. What is missing: Front-end UI and authentication between the two systems.
  • 3. Love for Openstack and Cloudstack CS + OS
  • 4. What is cs_auth? ● Swift authentication middleware. ● Authenticate users via the Cloudstack API. ● Leverage Cloudstack's user management rather than introducing another auth system. ● Removes the need to populate and sync multiple databases for account information.
  • 5. Overview of cs_auth ● Handles S3 requests via the swift3 middleware. ● Implements ACL, including public containers. ● Uses Memcached for caching the user's identity. ● Works out of the box with common tools: ○ Cyberduck ○ Swift Bench ○ Swift Dispersion ○ Swift Recon
  • 7. Anatomy of cs_auth token = hashlib.sha224('%s%s' % (cs['secretkey'], cs['apikey'])).hexdigest() if self.reseller_prefix != '': account_url = '%s/v1/%s_%s' % (self.storage_url, self.reseller_prefix, quote(cs['account'])) else: account_url = '%s/v1/%s' % (self.storage_url, quote(cs['account'])) identity = dict({ 'username':cs['username'], 'account':cs['account'], 'token':token, 'account_url':account_url, 'domain':dict({ 'id':cs['domainid'], 'name':cs['domain'] }), 'roles':[self.cs_roles[cs['accounttype']], cs['account']], 'expires':expires })
  • 8. Additional considerations ● Still need a UI for Swift in Cloudstack. ● Need to work with the swift and keystone teams to improve ACL support for S3 calls.