Git Product home page Git Product logo

projectkeystone's Introduction

Tìm hiểu về Keystone

##Mục lục: ###1.Tổng quan chung về Keystone

#####1.1.Khái niệm #####1.2.Công dụng

###[2.Cấu trúc của Keystone] (#cautruc)

#####[2.1.Kiến trúc của Keystone] (#kientruc) #####[2.2.Tác dụng của các thành phần] (#thanhtphan)

###[3.Cơ chế hoạt động của Keystone trong Openstack] (#coche) ###[4.Các cơ chế xác thực trong Keystone] (#xacthuc) ###[5.Một số khái niệm trong Identity, Authentication] (#authen) ###[6.

####1.Tổng quan chung về Key stone:

#####1.1.Khái niệm: Keystone là 1 dịch vụ trong Openstack nó cung cấp các Identity, Token, Catalog và Policy service để sử dụng 1 cách cụ thể cho từng Project trong Openstack

#####1.2.Công dụng: Về cơ bản thì Keystone có 2 chức năng chính

  • Quản lý user: Quản lý người sử dụng các dịch vụ và những quyền mà họ được phép làm
  • Xác thực dịch vụ: Cung cấp 1 danh mục những dịch vụ có hiệu lực và nơi những API endpoint được đặt

####2.Cấu trúc của Keystone:

#####2.1.Kiến trúc của Keystone: Keystone cung cấp các xác thực cho các project khác trong Openstack Về cơ bản Keytone có 4 thành phần, đó là: Identity, Token, Catalog, Policy

#####2.2.Công dụng của các thành phần:

  • Identity:
  • Cung cấp các chứng chỉ xác thực và dữ liệu về người dùng, dữ liệu người dùng có thể đến từ nhiều nơi
  • Bao gồm nhưng không giới hạn SQL, LDAP, và Federated Identiy
- Token:

  • Xác thực và quản lý sử dụng các token cho việ thẩm định yêu cầu 1 khi thông tin người dùng/ Tenant đã được xác định
  • Các token chứa thông tin xác thực người dùng như username, password, email..
- Catalog:
  • Chứa các URL và các endpoint
  • Cung cấp các endpoint đăng kí, sử dụng cho endpoint tìm kiếm
  • Nếu không có thành phần này thì các user và các ứng dụng sẽ không biết nơi để định tuyến, nơi để yêu cầu tạo ra các máy ảo hoặc storage object
  • Chia thành 1 danh sách các endpoint và mỗi endpoint chia thành các URL admin, URL nội bộ và public URL
- Policy: Cung cấp các chính sách của Keystone - Mỗi dịch vụ có thể chỉnh sửa để cho phép Keystone sử dụng 1 backend phù hợp với yêu cầu của môi trường. Backend của mỗi service dựa vào file keystone.conf
  • Các backend trong Keystone:

  • KVS backend: Là 1 giao diện phụ trợ, hỗ trợ cho việc tra cứu các primary key
  • SQL backend: Sử dụng SQLAIchemy để lưu trữ dữ liệu 1 các liên tục
  • PAM backend: Là 1 backend cơ bản, sử dung dịch vụ PAM để xác thực, cũng cấp mối quan hệ 1-1 giữa user và tenant
  • LDAP backend: Lưu trữ các User và Tenant trong các subtrees
  • Template backend: Là 1 backend đơn giản được sử dụng để chỉnh sửa keystone

####3.Cơ chế hoạt động của Keystone trong Openstack: Keystone workflow:

####4.Các cơ chế xác thực trong Keystone: Có rất nhiều các để xác thực với dịch vụ Keystone. 2 cách phổ biến nhất hiện này là xác thực bằng cách cũng cấp 1 password hoặc 1 token.

  • Password: Cách phổ biến nhất đối với một người sử dụng hoặc dịch vụ để xác thực là cung cấp một mật khẩu.
  • Token: User có thể yêu cầu 1 token mới thông qua token hiện tại, payload của POST này ít hơn đáng kể so với password
  • Quản lý truy cập và ủy quyền: Quản lý truy cập và ủy quyền là các APIs 1 user sử dụng là 1 lí do rất quan trọng để Keystone là 1 thành phần quan trọng trong Openstack. Cách tiếp cận của Keystone cho vấn đề này là tạo ra một policy Role-Based Access Control (RBAC) được thực thi trên mỗi public API endpoint. Các policy này được lưu trong 1 tập tin trên đĩa và đặt tên là policy.json.

###5.Một số khái niệm trong authentication: #####5.1.Project:

  • Mỗi Project chứa những tài nguyên có thể giống và khác nhau, User cũng được coi là 1 dạng tài nguyên
  • Các Project có thể chứ nhiều User và mỗi User có thể nằm trong các Project khác nhau
  • Các User có quyền hạn khác nhau trong mỗi Project

#####5.2.Domain:

  • Domain Keystone được sinh ra nhằm tránh tình trạng xảy ra xung đột giữa các Project, quyền hạn của các User.
  • Deer cho các tổ chức cùng 1 lúc sử dụng các dịch vụ mà không xảy ra xung đột.
  • Users có quyền hạn khác nhau đối với mỗi projects, mỗi domain.

#####5.3.Actor Actor được xem là các user và user group sử dụng Cloud, kể từ đó khi gán 1 role đó là những đối tượng mà Role giao đến <img src="http://916c06e9a68d997cd06a-98898f70c8e282fcc0c2dba672540f53.r39.cf1.rackcdn.com/ss.png:>

  • Role: Là những vai trò của User được phép thực hiện trong Project hoặc Domain

projectkeystone's People

Contributors

trimq avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.