"Keystone 아키텍처"의 두 판 사이의 차이

4번째 줄: 4번째 줄:
;키스톤 아키텍처
;키스톤 아키텍처
https://docs.openstack.org/keystone/2024.1/getting-started/architecture.html
https://docs.openstack.org/keystone/2024.1/getting-started/architecture.html
{{작성중}}


많은 설계는 대부분의 배포에서 인증 백엔드가 기존 사용자 시스템의 앞에 있는 셈이라는 것을 가정하고 있습니다.
많은 설계는 대부분의 배포에서 인증 백엔드가 기존 사용자 시스템의 앞에 있는 셈이라는 것을 가정하고 있습니다.

2024년 6월 19일 (수) 22:38 판

1 개요

Keystone Architecture
키스톤 아키텍처

https://docs.openstack.org/keystone/2024.1/getting-started/architecture.html


Crystal Clear action info.png 작성 중인 문서입니다.


많은 설계는 대부분의 배포에서 인증 백엔드가 기존 사용자 시스템의 앞에 있는 셈이라는 것을 가정하고 있습니다.

2 서비스

Keystone은 하나 이상의 엔드포인트에 노출된 내부 서비스 그룹으로 구성됩니다. 이러한 서비스 중 다수는 프론트엔드에서 결합된 방식으로 사용됩니다. 예를 들어, 인증 호출은 Identity 서비스로 사용자/프로젝트 자격 증명을 검증하고 성공 시 Token 서비스를 통해 토큰을 생성하고 반환합니다.

2.1 아이덴티티

Identity 서비스는 인증 자격증명 검증 및 사용자와 그룹에 대한 데이터를 제공합니다. 기본적인 경우에는, 이 데이터가 Identity 서비스에 의해 관리되어, 이 데이터와 관련된 모든 CRUD 작업도 처리할 수 있습니다. 더 복잡한 경우에는, 대신 귄위 백엔드 서비스에서 데이터를 관리합니다. 예를 들어, Identity 서비스가 LDAP의 프론트엔드 역할을 할 때 LDAP 서버가 진실의 원천(source of truth)이며, Identity 서비스의 역할은 그 정보를 정확하게 전달하는 것입니다.

2.1.1 사용자

사용자(Users)는 개인 API 소비자를 나타냅니다. 사용자는 특정 도메인에 속해야 하며, 따라서 모든 사용자 이름은 전역적으로 고유하지 않고 해당 도메인 내에서만 고유합니다.

2.1.2 그룹

그룹(Groups)은 사용자 모음을 나타내는 묶음(container)입니다. 그룹 역시 특정 도메인에 속해야 하며, 따라서 모든 그룹 이름은 전역적으로 고유하지 않고 해당 도메인 내에서만 고유합니다.

2.2 리소스

Resource 서비스는 프로젝트 및 도메인에 대한 데이터를 제공합니다.

2.2.1 프로젝트

프로젝트(Projects)는 OpenStack에서 소유권의 기본 단위를 나타내며, OpenStack의 모든 자원은 특정 프로젝트에 의해 소유되어야 합니다. 프로젝트 자체는 특정 도메인에 소속되어야 하며, 따라서 모든 프로젝트 이름은 전역적으로 고유하지 않고 해당 도메인 내에서 고유합니다. 프로젝트의 도메인이 지정되지 않은 경우 기본 도메인에 추가됩니다.

2.2.2 도메인

도메인(Domains)은 프로젝트, 사용자, 그룹을 위한 상위 묶음(container)입니다. 각 도메인은 정확히 하나의 도메인에 소속됩니다. 각 도메인은 API에서 보이는 이름 속성이 존재하는 네임스페이스를 정의합니다. Keystone은 'Default'라는 이름의 기본 도메인을 제공합니다.

Identity v3 API에서 속성의 고유성은 다음과 같습니다:

  • 도메인 이름: 모든 도메인에서 전역적으로 고유합니다.
  • 역할 이름: 소유 도메인 내에서 고유합니다.
  • 사용자 이름: 소유 도메인 내에서 고유합니다.
  • 프로젝트 이름: 소유 도메인 내에서 고유합니다.
  • 그룹 이름: 소유 도메인 내에서 고유합니다.

묶음(container) 아키텍처에 따라, 도메인은 OpenStack 리소스의 관리 권한을 위임하는 방법으로 사용될 수 있습니다. 도메인의 사용자는 적절한 할당이 부여된 경우 다른 도메인의 리소스에 접근할 수 있습니다.

2.3 할당

Assignment 서비스는 역할과 역할 할당에 대한 데이터를 제공합니다.

2.3.1 역할

역할(Roles)은 최종 사용자가 얻을 수 있는 권한 수준을 결정합니다. 역할은 도메인 수준 또는 프로젝트 수준에서 부여될 수 있습니다. 역할은 개별 사용자 또는 그룹 수준에서 할당될 수 있습니다. 역할 이름은 소유 도메인 내에서 고유합니다.

2.3.2 역할 할당

역할(Role), 리소스(Resource), 아이덴티티(Identity)을 포함하는 3-튜플입니다.

2.4 토큰

2.5 카탈로그

3 애플리케이션 구축

4 서비스 백엔드

4.1 템플릿 백엔드

5 데이터 모델

6 CRUD에 대한 접근방식

7 인가에 대한 접근방식 (정책)

7.1 규칙

7.2 기능 RBAC

8 인증에 대한 접근방식

8.1 스코프란 무엇인가?

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}