9장. 애플리케이션 인증 정보


애플리케이션 자격 증명을 사용하여 구성 파일에 사용자 계정 자격 증명을 포함하지 않도록 합니다. 대신 사용자는 단일 프로젝트에 위임된 액세스를 수신하고 고유한 고유 비밀이 있는 애플리케이션 자격 증명을 생성합니다. 또한 사용자는 위임된 권한을 해당 프로젝트의 단일 역할로 제한할 수 있습니다. 이를 통해 인증된 서비스에서 모든 프로젝트와 역할이 아닌 하나의 프로젝트와 역할에만 액세스할 수 있는 최소 권한의 원칙을 채택할 수 있습니다.

이 방법론을 사용하여 사용자 자격 증명을 노출하지 않고 API를 사용할 수 있으며 애플리케이션은 임베디드 사용자 자격 증명 없이도 Keystone에 인증할 수 있습니다.

애플리케이션 자격 증명을 사용하여 토큰을 생성하고 애플리케이션에 대한 keystone_authtoken 설정을 구성할 수 있습니다. 이러한 사용 사례는 다음 섹션에서 설명합니다.

참고

Application 자격 증명은 생성한 사용자 계정에 따라 다르므로 해당 계정이 삭제되거나 관련 역할에 대한 액세스 권한이 없는 경우 종료됩니다.

9.1. 애플리케이션 자격 증명을 사용하여 토큰 생성

애플리케이션 자격 증명은 사용자가 대시보드에서 셀프 서비스 기능으로 사용할 수 있습니다. 이 예제에서는 사용자가 애플리케이션 자격 증명을 만든 다음 이를 사용하여 토큰을 생성하는 방법을 보여줍니다.

  1. 테스트 프로젝트를 생성하고 사용자 계정을 테스트합니다.

    1. AppCreds 라는 프로젝트를 생성합니다.

      $ openstack project create AppCreds
      Copy to Clipboard Toggle word wrap
    2. AppCredsUser 라는 사용자를 생성합니다.

      $ openstack user create --project AppCreds --password-prompt AppCredsUser
      Copy to Clipboard Toggle word wrap
    3. AppCredsUserAppCreds 프로젝트의 member 역할에 대한 액세스 권한을 부여합니다.

      $ openstack role add --user AppCredsUser --project AppCreds member
      Copy to Clipboard Toggle word wrap
  2. 대시보드에 AppCredsUser 로 로그인하여 애플리케이션 자격 증명을 만듭니다.

    개요 ID 애플리케이션 자격 증명 +애플리케이션 자격 증명 생성.

    참고

    애플리케이션 자격 증명 이라는 팝업 창을 닫은 후 다시 액세스할 수 없으므로 clouds.yaml 파일 내용을 다운로드해야 합니다.

  3. CLI를 사용하여 /home/stack/.config/openstack/clouds.yaml 이라는 파일을 생성하고 clouds.yaml 파일의 내용을 붙여넣습니다.

    # This is a clouds.yaml file, which can be used by OpenStack tools as a source
    # of configuration on how to connect to a cloud. If this is your only cloud,
    # just put this file in ~/.config/openstack/clouds.yaml and tools like
    # python-openstackclient will just work with no further config. (You will need
    # to add your password to the auth section)
    # If you have more than one cloud account, add the cloud entry to the clouds
    # section of your existing file and you can refer to them by name with
    # OS_CLOUD=openstack or --os-cloud=openstack
    clouds:
      openstack:
        auth:
          auth_url: http://10.0.0.10:5000/v3
          application_credential_id: "6d141f23732b498e99db8186136c611b"
          application_credential_secret: "<example secret value>"
        region_name: "regionOne"
        interface: "public"
        identity_api_version: 3
        auth_type: "v3applicationcredential"
    Copy to Clipboard Toggle word wrap
    참고

    이러한 값은 배포에 따라 달라집니다.

  4. 애플리케이션 자격 증명을 사용하여 토큰을 생성합니다. 다음 명령을 사용하는 경우 특정 사용자로 소싱해서는 안 되며 clouds.yaml 파일과 동일한 디렉터리에 있어야 합니다.

    [stack@undercloud-0 openstack]$ openstack --os-cloud=openstack token issue
    +------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Field      | Value                                                                                                                                                                                                        |
    +------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | expires    | 2018-08-29T05:37:29+0000                                                                                                                                                                                     |
    | id         | gAAAAABbhiMJ4TxxFlTMdsYJpfStsGotPrns0lnpvJq9ILtdi-NKqisWBeNiJlUXwmnoGQDh2CMyK9OeTsuEXnJNmFfKjxiHWmcQVYzAhMKo6_QMUtu_Qm6mtpzYYHBrUGboa_Ay0LBuFDtsjtgtvJ-r8G3TsJMowbKF-yo--O_XLhERU_QQVl3hl8zmMRdmLh_P9Cbhuolt |
    | project_id | 1a74eabbf05c41baadd716179bb9e1da                                                                                                                                                                             |
    | user_id    | ef679eeddfd14f8b86becfd7e1dc84f2                                                                                                                                                                             |
    +------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    Copy to Clipboard Toggle word wrap
참고

__init__()와 유사한 오류가 발생하면 예기치 않은 키워드 인수 'application_credential_secret'이 있는 경우 이전 자격 증명으로 계속 가져올 수 있습니다. 새 환경의 경우 sudo su - stack 을 실행합니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동