"OpenStackClient 인증"의 두 판 사이의 차이

 
(같은 사용자의 중간 판 하나는 보이지 않습니다)
4번째 줄: 4번째 줄:
;Authentication
;Authentication
;인증
;인증
https://docs.openstack.org/python-openstackclient/latest/cli/authentication.html
https://docs.openstack.org/python-openstackclient/2024.1/cli/authentication.html
----
----
OpenStackClient는 [[python-keystoneclient]] 인증 플러그인을 활용하여 다양한 인증 방법을 지원합니다.
OpenStackClient는 [[python-keystoneclient]] 인증 플러그인을 활용하여 다양한 인증 방법을 지원합니다.
22번째 줄: 22번째 줄:


==세부 과정==
==세부 과정==
OpenStackClient에서 인증 과정은 모두 <code>ClientManager</code> 객체에 의해 처리됩니다.
* <code>api.auth</code>를 가져올 때:
** Keystone 인증 플러그인의 목록을 <code>keystoneclient.auth.plugin</code> 엔트리 포인트에서 가져옵니다.
** 플러그인에서 인증 옵션 목록을 작성합니다.
* 명령줄 인수가 처리되고 <code>--os-cloud</code>가 제공된 경우 <code>clouds.yaml</code>에서 설정이 로드됩니다.
* 새 <code>ClientManager</code>가 생성되어 명령줄, 환경변수 및/또는 <code>clouds.yaml</code>에서 제공된 옵션 세트가 공급됩니다:
** '''<code>--os-auth-type</code>이 제공되고 유효한 사용가능한 플러그인인 경우, 그것이 사용됩니다.'''
** <code>--os-auth-type</code>이 제공되지 않은 경우, 기존 옵션에 따라 인증 플러그인이 선택됩니다. 이는 단축 평가(short-circuit evaluation)로, 첫 번째 매치 항목이 선택됩니다.
*** <code>--os-username</code>이 제공된 경우 <code>password</code>가 선택됩니다.
*** <code>--os-token</code>이 제공된 경우 <code>token</code>이 선택됩니다.
*** 지금까지 선택이 이루어지지 않은 경우 오류로 종료됩니다.
** 선택된 플러그인 클래스를 로드합니다.
* 인증이 필요한 작업이 시도될 때 <code>ClientManager</code>는 실제 초기 요청을 Identity 서비스에 보냅니다.
** <code>--os-auth-url</code>이 Token/Endpoint 유형을 제외한 다른 유형에 대해 제공되지 않은 경우, 오류로 종료됩니다.
==Identity 서버 API v3를 사용한 인증==
==Identity 서버 API v3를 사용한 인증==
==연합 사용자 지원==
==연합 사용자 지원==

2024년 7월 1일 (월) 02:30 기준 최신판

1 개요[ | ]

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

https://docs.openstack.org/python-openstackclient/2024.1/cli/authentication.html


OpenStackClient는 python-keystoneclient 인증 플러그인을 활용하여 다양한 인증 방법을 지원합니다.

2 인증 과정[ | ]

사용자는 여러 인증 자격증명 옵션을 제공합니다. 인증 유형(--os-auth-type)이 제공되지 않은 경우, 인증 옵션을 검사하여 기본 유형 중 하나를 사용할 수 있는지 확인합니다. 일치하는 유형이 없으면 오류가 보고되고 OSC는 종료됩니다.

Identity 서비스에 대한 인증 호출은 아직 발생하지 않았다는 점에 유의하십시오. 불필요한 서버 쿼리 수를 줄이기 위해 마지막 가능한 순간까지 인증 호출이 연기됩니다. 예를 들어, 추가 처리 중에 잘못된 명령어가 감지될 때와 같은 경우입니다.

3 인증 플러그인[ | ]

Keystone 클라이언트 라이브러리는 기본 세트의 플러그인을 구현합니다. 추가 플러그인은 Keystone 프로젝트나 다른 소스에서 제공될 수 있습니다.

항상 사용가능한 인증 유형에는 크게 세 가지가 있습니다:

  • 패스워드: 프로젝트, 사용자명, 패스워드를 사용하여 사용자를 식별합니다. 선택적으로 도메인도 포함될 수 있습니다. 이는 가장 일반적인 유형이며, 사용자명이 제공될 때 기본값으로 설정됩니다. Identity 서비스에 대한 인증 URL도 필요합니다. [필수: --os-auth-url, --os-project-name, --os-username; 선택: --os-password]
  • 토큰: 일반적인 토큰 인증과 약간 다릅니다. 토큰과 인증 URL이 제공되면 플러그인이 새 토큰을 가져옵니다. [필수: --os-auth-url, --os-token]
  • 기타: SAML, Kerberos, OAuth1.0과 같은 기타 인증 플러그인도 개발 중이며 지원됩니다. 이러한 플러그인을 사용하려면 --os-auth-type 옵션을 제공하여 선택해야 합니다.

4 세부 과정[ | ]

OpenStackClient에서 인증 과정은 모두 ClientManager 객체에 의해 처리됩니다.

  • api.auth를 가져올 때:
    • Keystone 인증 플러그인의 목록을 keystoneclient.auth.plugin 엔트리 포인트에서 가져옵니다.
    • 플러그인에서 인증 옵션 목록을 작성합니다.
  • 명령줄 인수가 처리되고 --os-cloud가 제공된 경우 clouds.yaml에서 설정이 로드됩니다.
  • ClientManager가 생성되어 명령줄, 환경변수 및/또는 clouds.yaml에서 제공된 옵션 세트가 공급됩니다:
    • --os-auth-type이 제공되고 유효한 사용가능한 플러그인인 경우, 그것이 사용됩니다.
    • --os-auth-type이 제공되지 않은 경우, 기존 옵션에 따라 인증 플러그인이 선택됩니다. 이는 단축 평가(short-circuit evaluation)로, 첫 번째 매치 항목이 선택됩니다.
      • --os-username이 제공된 경우 password가 선택됩니다.
      • --os-token이 제공된 경우 token이 선택됩니다.
      • 지금까지 선택이 이루어지지 않은 경우 오류로 종료됩니다.
    • 선택된 플러그인 클래스를 로드합니다.
  • 인증이 필요한 작업이 시도될 때 ClientManager는 실제 초기 요청을 Identity 서비스에 보냅니다.
    • --os-auth-url이 Token/Endpoint 유형을 제외한 다른 유형에 대해 제공되지 않은 경우, 오류로 종료됩니다.

5 Identity 서버 API v3를 사용한 인증[ | ]

6 연합 사용자 지원[ | ]

7 예시[ | ]

7.1 v3password[ | ]

7.2 v3applicationcredential[ | ]

7.3 v3token[ | ]

7.4 v3totp[ | ]

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