keystoneauth 플러그인 옵션

Jmnote (토론 | 기여)님의 2024년 6월 23일 (일) 14:39 판 (→‎http_basic)

1 개요

Plugin Options
플러그인 옵션

https://docs.openstack.org/keystoneauth/latest/plugin-options.html

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


2 설정 파일을 통한 플러그인 사용

설정 파일을 통해 플러그인을 사용할 때 플러그인 이름을 auth_type으로 정의합니다. 그런 다음, 플러그인의 옵션을 설정에 유효하도록 하이픈(-)을 언더스코어(_)로 바꾸어 지정합니다.

예를 들어, 설정 파일에서 password 플러그인을 사용하려면 다음과 같이 지정합니다:

[section]
auth_url = http://keystone.example.com:5000/
auth_type = password
username = myuser
password = mypassword
project_name = myproject
default_domain_name = mydomain

3 CLI를 통한 플러그인 사용

os-client-config 또는 shade를 통해 CLI에서 인증 플러그인을 사용할 때는 환경설정에서 하이픈(-)을 언더스코어(_)로 바꾼 후, 매개변수 이름 앞에 OS_를 붙이는 패턴을 사용합니다.

예를 들어, 환경변수를 통해 password 플러그인을 사용하려면 다음과 같이 지정합니다:

export OS_AUTH_TYPE=password
export OS_AUTH_URL=http://keystone.example.com:5000/
export OS_USERNAME=myuser
export OS_PASSWORD=mypassword
export OS_PROJECT_NAME=myproject
export OS_DEFAULT_DOMAIN_NAME=mydomain

CLI 매개변수를 통해 지정된 작업은 환경 매개변수를 오버라이드합니다. 이러한 매개변수는 --os- 패턴과 매개변수 이름을 사용하여 지정됩니다. password 예제를 다시 사용하면 다음과 같습니다:

openstack --os-auth-type password \
          --os-auth-url http://keystone.example.com:5000/ \
          --os-username myuser \
          --os-password mypassword \
          --os-project-name myproject \
          --os-default-domain-name mydomain \
          operation

4 추가 로더

설정과 CLI 로더는 흔하게 사용되지만, 비슷한 개념이 다른 상황에서도 발견될 수 있습니다. 예를 들어, os-client-config에서는 clouds.yaml 파일에 인증 및 기타 클라우드 매개변수를 지정합니다.

이러한 로더는 동일한 플러그인 옵션을 사용하지만 각기 다른 메커니즘을 통해 동작합니다. os-client-config에서의 password 플러그인은 다음과 같습니다:

clouds:
  mycloud:
    auth_type: password
    auth:
      auth_url: http://keystone.example.com:5000/
      auth_type: password
      username: myuser
      password: mypassword
      project_name: myproject
      default_domain_name: mydomain

그러나 다른 서비스는 로더를 자체적으로 구현할 수 있으며, 해당 서비스의 관련 문서를 참조해야 합니다. 동일한 인증 옵션은 사용가능할 것입니다.

5 사용가능한 플러그인

다음은 포함된 모든 플러그인과 그 옵션의 목록입니다. 플러그인은 알파벳순으로 나열되어 있으며 우선순위와는 무관합니다.

5.1 admin_token

기존 토큰과 알려진 엔드포인트를 사용하여 요청을 수행합니다.

이 플러그인은 주로 개발 또는 identity 서비스 관리자 토큰을 사용하는 경우에 유용합니다. 이 토큰은 직접 사용되기 때문에 서비스 카탈로그를 가져오거나 스코프 정보를 결정할 수 없으므로, 이 스코프 정보를 기대하는 클라이언트에서는 사용할 수 없습니다.

서비스 카탈로그가 없기 때문에 초기화 시 제공된 엔드포인트가 수행되는 모든 작업에 사용되며, 실제 서비스에 대한 전체 기본 URL이어야 합니다.


  • endpoint: 항상 사용될 엔드포인트
  • token: 항상 사용될 토큰

5.2 http_basic

HTTP 기본 인증을 사용하여 요청을 수행합니다.

이 방법은 독립실행 모드로 배포된 서비스의 클라이언트를 인스턴스화하는 데 사용할 수 있습니다.

서비스 카탈로그를 가져오거나 스코프 정보를 결정할 수 없으므로 이러한 스코프 정보를 사용하려는 클라이언트에서는 사용할 수 없습니다.


  • username: 사용자명
  • password: 사용자의 패스워드
  • endpoint: 항상 사용될 엔드포인트

5.3 none

5.4 password

5.5 token

5.6 v2password

5.7 v2token

5.8 v3adfspassword

5.9 v3applicationcredential

5.10 v3fedkerb

5.11 v3kerberos

5.12 v3multifactor

5.13 v3oauth1

5.14 v3oauth2clientcredential

5.15 v3oauth2mtlsclientcredential

5.16 v3oidcaccesstoken

5.17 v3oidcauthcode

5.18 v3oidcclientcredentials

5.19 v3oidcdeviceauthz

5.20 v3oidcpassword

5.21 v3password

  • auth-url: 인증 URL
  • system-scope: 시스템 작업에 대한 스코프
  • domain-id: 스코프로 지정할 도메인 ID
  • domain-name: 스코프로 지정할 도메인 이름
  • project-id: 스코프로 지정할 프로젝트 ID
  • project-name: 스코프로 지정할 프로젝트 이름
  • project-domain-id: 프로젝트를 포함하는 도메인 ID
  • project-domain-name: 프로젝트를 포함하는 도메인 이름
  • trust-id: 수탁자로 이용할 트러스트의 ID
  • user-id: 사용자 ID
  • username: 사용자명
  • user-domain-id: 사용자의 도메인 ID
  • user-domain-name: 사용자의 도메인 이름
  • password: 사용자의 패스워드

5.22 v3samlpassword

  • auth-url: 인증 URL
  • system-scope: 시스템 작업에 대한 스코프
  • domain-id: 스코프로 지정할 도메인 ID
  • domain-name: 스코프로 지정할 도메인 이름
  • project-id: 스코프로 지정할 프로젝트 ID
  • project-name: 스코프로 지정할 프로젝트 이름
  • project-domain-id: 프로젝트를 포함하는 도메인 ID
  • project-domain-name: 프로젝트를 포함하는 도메인 이름
  • trust-id: 수탁자로 이용할 트러스트의 ID
  • identity-provider: Identity 제공자의 이름
  • protocol: 페더레이션 플러그인용 프로토콜
  • identity-provider-url: SAML2 인증 요청을 보낼, Identity 제공자 URL
  • username: 사용자명
  • password: 패스워드

5.23 v3token

  • auth-url: 인증 URL
  • system-scope: 시스템 작업에 대한 스코프
  • domain-id: 스코프로 지정할 도메인 ID
  • domain-name: 스코프로 지정할 도메인 이름
  • project-id: 스코프로 지정할 프로젝트 ID
  • project-name: 스코프로 지정할 프로젝트 이름
  • project-domain-id: 프로젝트를 포함하는 도메인 ID
  • project-domain-name: 프로젝트를 포함하는 도메인 이름
  • trust-id: 수탁자로 이용할 트러스트의 ID
  • token: 인증할 토큰

5.24 v3tokenlessauth

  • auth-url: 인증 URL
  • domain-id: 스코프로 지정할 도메인 ID
  • domain-name: 스코프로 지정할 도메인 이름
  • project-id: 스코프로 지정할 프로젝트 ID
  • project-name: 스코프로 지정할 프로젝트 이름
  • project-domain-id: 프로젝트를 포함하는 도메인 ID
  • project-domain-name: 프로젝트를 포함하는 도메인 이름

5.25 v3totp

  • auth-url: 인증 URL
  • system-scope: 시스템 작업에 대한 스코프
  • domain-id: 스코프로 지정할 도메인 ID
  • domain-name: 스코프로 지정할 도메인 이름
  • project-id: 스코프로 지정할 프로젝트 ID
  • project-name: 스코프로 지정할 프로젝트 이름
  • project-domain-id: 프로젝트를 포함하는 도메인 ID
  • project-domain-name: 프로젝트를 포함하는 도메인 이름
  • trust-id: 수탁자로 이용할 트러스트의 ID
  • user-id: 사용자 ID
  • username: 사용자명
  • user-domain-id: 사용자의 도메인 ID
  • user-domain-name: 사용자의 도메인 이름
  • passcode: 사용자의 TOTP 패스코드
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}