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


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

이 방법론을 사용하여 사용자 자격 증명을 공개하지 않고 API를 사용할 수 있으며 애플리케이션은 포함된 사용자 인증 정보 없이도 Keystone에 인증할 수 있습니다.

애플리케이션 인증 정보를 사용하여 토큰을 생성하고 애플리케이션의 keystone_authtoken 설정을 구성할 수 있습니다. 이러한 사용 사례는 다음 섹션에 설명되어 있습니다.

참고

애플리케이션 자격 증명은 생성한 사용자 계정에 따라 달라지므로 해당 계정이 삭제된 경우 종료되거나 관련 역할에 대한 액세스 권한이 끊어집니다.

8.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. AppCreds 프로젝트의 멤버 역할에 AppCredsUser 액세스 권한을 부여합니다.

      $ 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
맨 위로 이동