사용자 및 ID 관리 가이드


Red Hat OpenStack Platform 8

사용자 및 인증 메커니즘 관리

OpenStack Documentation Team

초록

사용자 및 ID 관리 가이드에서는 Red Hat OpenStack Platform 환경의 사용자 역할, 할당량, 프로젝트 및 프로젝트 보안, ID 서비스를 관리하는 절차를 제공합니다.

머리말

클라우드 관리자는 프로젝트, 사용자 및 역할을 관리할 수 있습니다. 프로젝트는 사용자를 할당할 수 있는 클라우드의 조직 단위입니다. 프로젝트를 테넌트 또는 계정이라고도 합니다. 사용자는 하나 이상의 프로젝트의 멤버일 수 있습니다. 역할은 사용자가 수행할 수 있는 작업을 정의합니다.

각 OpenStack 배포에는 하나 이상의 프로젝트, 사용자 한 개, 하나의 역할이 연결되어 있어야 합니다. 클라우드 관리자는 프로젝트와 사용자를 추가, 업데이트 및 삭제하고, 사용자를 하나 이상의 프로젝트에 할당하고, 이러한 할당을 변경하거나 제거할 수 있습니다. 프로젝트와 사용자를 서로 독립적으로 관리할 수 있습니다.

Keystone ID 서비스로 사용자 인증을 구성하여 서비스 및 엔드포인트에 대한 액세스를 제어할 수도 있습니다. Keystone은 토큰 기반 인증을 제공하며 LDAP 및 Active Directory와 통합할 수 있으므로 외부에서 사용자와 ID를 관리하고 사용자 데이터를 Keystone과 동기화할 수 있습니다.

1장. 사용자 관리

1.1. 사용자 관리

클라우드 관리자는 대시보드에서 사용자를 추가, 수정, 삭제할 수 있습니다. 사용자는 하나 이상의 프로젝트의 멤버일 수 있습니다. 프로젝트와 사용자를 서로 독립적으로 관리할 수 있습니다.

1.1.1. 사용자 만들기

대시보드에서 사용자를 만들려면 다음 절차를 사용하십시오. 사용자에게 기본 프로젝트 및 역할을 할당할 수 있습니다. 대시보드에서 생성된 사용자는 기본적으로 Keystone 사용자입니다. Active Directory 사용자를 통합하기 위해 Red Hat OpenStack Platform ID 서비스에 포함된 LDAP 공급자를 구성할 수 있습니다.

  1. 대시보드에서 관리자로서 ID > 사용자를 선택합니다.
  2. 사용자 생성을 클릭합니다.
  3. 사용자의 사용자 이름, 이메일, 사전 암호를 입력합니다.
  4. 기본 프로젝트 목록에서 프로젝트를 선택합니다.
  5. Role 목록에서 사용자의 역할을 선택합니다(기본 역할은 _member_).
  6. 사용자 생성을 클릭합니다.

1.1.2. 사용자 편집

기본 프로젝트를 포함하여 사용자 세부 정보를 업데이트하려면 다음 절차를 사용하십시오.

  1. 대시보드에서 관리자로서 ID > 사용자를 선택합니다.
  2. 사용자의 작업 열에서 편집을 클릭합니다.
  3. 사용자 업데이트 창에서 사용자 이름,이메일, 기본 프로젝트를 업데이트할 수 있습니다.
  4. 사용자 업데이트를 클릭합니다.

1.1.3. 사용자 활성화 또는 비활성화

사용자를 활성화하거나 비활성화하려면 다음 절차를 사용하십시오. 한 번에 한 사용자만 비활성화하거나 활성화할 수 있습니다. 비활성화된 사용자는 대시보드에 로그인할 수 없으며 OpenStack 서비스에 액세스할 수 없습니다. 또한 비활성화된 사용자의 기본 프로젝트는 active로 설정할 수 없습니다. 작업을 되돌릴 수 없는 사용자를 삭제하는 것과 달리 비활성화된 사용자를 다시 활성화할 수 있습니다. 대시보드의 모든 사용자 프로젝트 작업에 대해 비활성화된 사용자를 다시 활성화해야 합니다.

  1. 대시보드에서 관리자로서 ID > 사용자를 선택합니다.
  2. 작업 열에서 화살표를 클릭하고 사용자 활성화 또는 사용자 비활성화 를 선택합니다. Enabled 열에서 값은 True 또는 False 로 업데이트됩니다.

1.1.4. 사용자를 삭제합니다.

관리자로서 이 절차를 사용하여 대시보드를 사용하여 사용자를 삭제합니다. 사용자 비활성화와 달리 이 작업을 취소할 수 없습니다. 삭제된 사용자는 해당 사용자가 속한 프로젝트의 멤버 목록에서 삭제될 수 있습니다. user-project 쌍과 연결된 모든 역할도 손실됩니다.

  1. 대시보드에서 관리자로서 ID > 사용자를 선택합니다.
  2. 삭제할 사용자를 선택합니다.
  3. 사용자 삭제를 클릭합니다. 사용자 삭제 확인 창이 표시됩니다.
  4. Delete Users 를 클릭하여 작업을 확인합니다.

2장. 역할 관리

2.1. 역할 관리

OpenStack에서는 역할 기반 액세스 제어(RBAC) 메커니즘을 사용하여 해당 리소스에 대한 액세스를 관리합니다. 역할은 사용자가 수행할 수 있는 작업을 정의합니다. 기본적으로 두 가지 사전 정의된 역할, 즉 테넌트에 연결된 member 역할과 관리자가 아닌 사용자가 환경을 관리할 수 있도록 하는 관리 역할이 있습니다. 추상 수준의 권한이 있으며 관리자가 필요로 하는 역할을 생성하고 서비스를 적절하게 구성할 수 있습니다.

2.1.1. 역할 보기

다음 명령을 사용하여 사전 정의된 역할을 나열합니다.

$ keystone role-list
+----------------------------------+---------------+
|                id                |      name     |
+----------------------------------+---------------+
| 71ccc37d41c8491c975ae72676db687f |     Member    |
| 149f50a1fe684bfa88dae76a48d26ef7 | ResellerAdmin |
| 9fe2ff9ee4384b1894a90878d3e92bab |    _member_   |
| 6ecf391421604da985db2f141e46a7c8 |     admin     |
+----------------------------------+---------------+

지정된 역할에 대한 세부 정보를 얻으려면 다음을 실행합니다.

$ keystone role-get [ROLE]

$ keystone role-get admin
+----------+----------------------------------+
| Property |              Value               |
+----------+----------------------------------+
|    id    | 6ecf391421604da985db2f141e46a7c8 |
|   name   |             admin                |
+----------+----------------------------------+

2.1.2. 역할 생성 및 할당

클라우드 관리자는 다음 명령 세트를 사용하여 Keystone 클라이언트에서 역할을 생성하고 관리할 수 있습니다. 각 OpenStack 배포에는 하나 이상의 프로젝트, 사용자 한 개, 하나의 역할이 연결되어 있어야 합니다. 그러나 사용자는 여러 프로젝트의 멤버가 될 수 있습니다. 사용자를 여러 프로젝트에 할당하려면 역할을 생성하고 사용자-프로젝트 쌍에 해당 역할을 할당합니다. 사용자를 만들고 대시보드에서 기본 프로젝트와 기본 역할을 할당할 수 있습니다.

참고

이름 또는 ID를 사용하여 사용자, 역할 또는 프로젝트를 지정할 수 있습니다.

  1. new-role 역할을 생성합니다.

    $ keystone role-create --name [ROLE_NAME]

    $ keystone role-create --name new-role
    +----------+----------------------------------+
    | Property |              Value               |
    +----------+----------------------------------+
    |    id    | 61013e7aa4ba4e00a0a1ab4b14bc6b2a |
    |   name   |             new-role             |
    +----------+----------------------------------+

  2. 프로젝트에 사용자를 할당하려면 사용자 프로젝트 쌍에 역할을 할당해야 합니다. 이렇게 하려면 사용자, 역할 및 프로젝트 이름 또는 ID를 가져옵니다.

    1. 사용자 나열:

      $ keystone user-list
    2. 역할 나열:

      $ keystone role-list
    3. 프로젝트를 나열합니다.

      $ keystone tenant-list
  3. 사용자 프로젝트 쌍에 역할을 할당합니다.

    $ keystone user-role-add --user [USER_NAME] --role [ROLE_NAME] --tenant [TENANT_NAME]

    이 예제에서는 new-role 역할을 demo-demo 쌍에 할당합니다.

    $ keystone user-role-add --user demo --role new-role --tenant demo
  4. 사용자 demo:에 대한 역할 할당을 확인합니다.

    $ keystone user-role-list --user [USER_NAME] --tenant [TENANT_NAME]

    $ keystone user-role-list --user demo --tenant demo

2.1.3. 역할 삭제

  1. 다음 명령을 사용하여 사용자 프로젝트 쌍에서 역할을 삭제합니다. 역할을 삭제하면 연결된 사용자-프로젝트 쌍이 손실됩니다.

    $ keystone user-role-remove --user [USER_NAME] --role [ROLE] --tenant [TENANT_NAME]
  2. 역할 제거를 확인합니다.

    $ keystone user-role-list --user [USER_NAME] --tenant [TENANT_NAME]

    역할이 제거된 경우 명령 출력은 제거된 역할을 생략합니다.

3장. 그룹 관리

3.1. Keystone 그룹 관리

3.1.1. 명령줄 사용

ID 서비스(keystone) 그룹을 사용하여 여러 사용자 계정에 일관된 권한을 할당할 수 있습니다. 이 예제에서는 그룹을 생성한 다음 그룹에 권한을 할당합니다. 결과적으로 그룹 멤버는 그룹에 할당된 동일한 권한을 상속합니다.

참고

openstack group 하위 명령에는 keystone v3 이 필요합니다.

  1. grp-Auditors: 그룹을 생성합니다.

    $ openstack group create grp-Auditors
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description |                                  |
    | domain_id   | default                          |
    | id          | 2a4856fc242142a4aa7c02d28edfdfff |
    | name        | grp-Auditors                     |
    +-------------+----------------------------------+
  2. keystone 그룹 목록을 확인합니다.

    $ openstack group list --long
    +----------------------------------+--------------+-----------+-------------+
    | ID                               | Name         | Domain ID | Description |
    +----------------------------------+--------------+-----------+-------------+
    | 2a4856fc242142a4aa7c02d28edfdfff | grp-Auditors | default   |             |
    +----------------------------------+--------------+-----------+-------------+
  3. _member_ 역할을 사용하는 동안 grp-Auditors 그룹에 demo 프로젝트에 액세스할 수 있는 권한을 부여합니다.

    $ openstack role add _member_ --group grp-Auditors --project demo
  4. 기존 사용자 user1grp-Auditors 그룹에 추가합니다.

    $ openstack group add user grp-Auditors user1
    user1 added to group grp-Auditors
  5. user1grp-Auditors:의 멤버인지 확인합니다.

    $ openstack group contains user grp-Auditors user1
    user1 in group grp-Auditors
  6. user1 에 할당된 유효한 권한을 검토합니다.

    $ openstack role assignment list --effective --user user1
    +----------------------------------+----------------------------------+-------+----------------------------------+--------+-----------+
    | Role                             | User                             | Group | Project                          | Domain | Inherited |
    +----------------------------------+----------------------------------+-------+----------------------------------+--------+-----------+
    | 9fe2ff9ee4384b1894a90878d3e92bab | 3fefe5b4f6c948e6959d1feaef4822f2 |       | 0ce36252e2fb4ea8983bed2a568fa832 |        | False     |
    +----------------------------------+----------------------------------+-------+----------------------------------+--------+-----------+

3.1.2. 대시보드 사용

대시보드를 사용하여 keystone 그룹의 멤버십을 관리할 수 있습니다. 위 예제에서 다루는 대로 명령줄을 사용하여 그룹에 역할 권한을 할당해야 합니다.

3.1.2.1. 그룹 생성
  1. 대시보드에서 관리자로서 ID &gt ; 그룹을 선택합니다.
  2. +Create Group 을 클릭합니다.
  3. 그룹에 대한 이름 및 설명을 입력합니다.
  4. 그룹 생성을 클릭합니다.
3.1.2.2. 그룹 멤버십 관리

대시보드를 사용하여 keystone 그룹의 멤버십을 관리할 수 있습니다.

  1. 대시보드에서 관리자로서 ID &gt ; 그룹을 선택합니다.
  2. 편집해야 하는 그룹에 대해 Manage Members 를 클릭합니다.
  3. 사용자 추가 를 사용하여 그룹에 사용자를 추가합니다. 사용자를 제거해야 하는 경우 확인란을 표시하고 사용자를 클릭하거나 제거합니다.

4장. 할당량 관리

4.1. 할당량 관리

클라우드 관리자는 프로젝트의 할당량을 설정하고 관리할 수 있습니다. 각 프로젝트에는 리소스가 할당되며 프로젝트 사용자에게 이러한 리소스를 사용할 수 있는 액세스 권한이 부여됩니다. 이를 통해 여러 프로젝트에서 서로의 권한 및 리소스를 방해하지 않고 단일 클라우드를 사용할 수 있습니다. 새 테넌트가 생성되면 리소스 할당량 집합이 사전 구성됩니다. 할당량에는 테넌트에 할당할 수 있는 인스턴스, RAM, 유동 IP의 양이 포함됩니다. 할당량은 테넌트(또는 프로젝트)와 tenant-user 수준에서 모두 적용할 수 있습니다. 대시보드를 사용하여 새 테넌트 및 기존 테넌트에 대해 Compute 및 Block Storage 할당량을 설정하거나 수정할 수 있습니다. 대시보드 내에서 프로젝트 할당량을 설정하고 업데이트하는 방법에 대한 절차는 5장. 프로젝트 관리 를 참조하십시오.

4.1.1. 사용자의 Compute Quotas 보기

다음 명령을 실행하여 사용자의 현재 설정된 할당량 값을 나열합니다.

$ nova quota-show --user [USER] --tenant [TENANT]

$ nova quota-show --user demoUser --tenant demo
+-----------------------------+-------+
| Quota                       | Limit |
+-----------------------------+-------+
| instances                   | 10    |
| cores                       | 20    |
| ram                         | 51200 |
| floating_ips                | 5     |
| fixed_ips                   | -1    |
| metadata_items              | 128   |
| injected_files              | 5     |
| injected_file_content_bytes | 10240 |
| injected_file_path_bytes    | 255   |
| key_pairs                   | 100   |
| security_groups             | 10    |
| security_group_rules        | 20    |
| server_groups               | 10    |
| server_group_members        | 10    |
+-----------------------------+-------+

4.1.2. 사용자의 컴퓨팅 할당량 업데이트

다음 명령을 실행하여 특정 할당량 값을 업데이트합니다.

$ nova quota-update --user [USER] --[QUOTA_NAME] [QUOTA_VALUE] [TENANT]
$ nova quota-show --user [USER] --tenant [TENANT]

예제

$ nova quota-update --user demoUser --floating-ips 10 demo
$ nova quota-show --user demoUser --tenant demo
+-----------------------------+-------+
| Quota                       | Limit |
+-----------------------------+-------+
| instances                   | 10    |
| cores                       | 20    |
| ram                         | 51200 |
| floating_ips                | 10    |
| ...                         |       |
+-----------------------------+-------+

참고

quota-update 명령의 옵션 목록을 보려면 다음을 실행합니다.

$ nova help quota-update

4.1.3. 사용자의 오브젝트 스토리지 할당량 설정

오브젝트 스토리지 할당량은 다음 카테고리로 분류할 수 있습니다.

  • 컨테이너 할당량 - 단일 컨테이너에 저장할 수 있는 총 크기(바이트) 또는 오브젝트 수를 제한합니다.
  • 계정 할당량 - 사용자가 Object Storage 서비스에서 사용할 수 있는 총 크기(바이트)를 제한합니다.

컨테이너 할당량 또는 계정 할당량을 설정하려면 Object Storage 프록시 서버에 proxy-server.conf 파일의 [pipeline:main] 섹션에 추가된 container_quotas 또는 account_quotas (또는 둘 다) 매개 변수가 있어야 합니다.

[pipeline:main]
pipeline = catch_errors [...] tempauth container-quotas \
account-quotas slo dlo proxy-logging proxy-server

[filter:account_quotas]
use = egg:swift#account_quotas

[filter:container_quotas]
use = egg:swift#container_quotas

다음 명령을 사용하여 Object Storage 할당량을 보고 업데이트합니다. 프로젝트에 포함된 모든 사용자는 프로젝트에 배치된 할당량을 볼 수 있습니다. 프로젝트에서 오브젝트 스토리지 할당량을 업데이트하려면 프로젝트에서 ResellerAdmin의 역할이 있어야 합니다.

계정 할당량을 보려면 다음을 수행합니다.

# swift stat

Account: AUTH_b36ed2d326034beba0a9dd1fb19b70f9
Containers: 0
Objects: 0
Bytes: 0
Meta Quota-Bytes: 214748364800
X-Timestamp: 1351050521.29419
Content-Type: text/plain; charset=utf-8
Accept-Ranges: bytes

할당량을 업데이트하려면 다음을 수행합니다.

# swift post -m quota-bytes:<BYTES>

예를 들어 계정에 5GB 할당량을 배치하려면 다음을 수행합니다.

# swift post -m quota-bytes:5368709120

할당량을 확인하려면 swift stat 명령을 다시 실행합니다.

# swift stat

Account: AUTH_b36ed2d326034beba0a9dd1fb19b70f9
Containers: 0
Objects: 0
Bytes: 0
Meta Quota-Bytes: 5368709120
X-Timestamp: 1351541410.38328
Content-Type: text/plain; charset=utf-8
Accept-Ranges: bytes

5장. 프로젝트 관리

5.1. 프로젝트 관리

클라우드 관리자는 프로젝트(테넌트)를 만들고 관리할 수 있습니다. 테넌트는 할당된 수의 OpenStack 사용자 및 리소스가 있는 프로젝트를 설명합니다. 각 테넌트에 대한 할당량을 설정할 수 있습니다. 이를 통해 여러 프로젝트에서 서로의 권한 및 리소스를 방해하지 않고 단일 클라우드를 사용할 수 있습니다. 프로젝트와 테넌트라는 단어는 서로 바꿔 사용할 수 있습니다. 사용자는 둘 이상의 프로젝트와 연결할 수 있습니다. 각 사용자-프로젝트 페어링에는 연결된 역할이 있어야 합니다.

5.1.1. 프로젝트 생성

다음 절차에 따라 프로젝트를 생성하고, 프로젝트에 멤버를 추가하고, 프로젝트의 리소스 제한을 설정합니다.

  1. 대시보드에서 관리자로서 Identity > Projects 를 선택합니다.
  2. 프로젝트 만들기를 클릭합니다.
  3. 프로젝트 정보 탭에서 프로젝트에 대한 이름 및 설명을 입력합니다(기본적으로 Enabled 확인란이 선택됨).
  4. 프로젝트 멤버 탭의 모든 사용자 목록에서 프로젝트에 멤버를 추가합니다.
  5. Quotas 탭에서 프로젝트에 대한 리소스 제한을 지정합니다.
  6. 프로젝트 만들기를 클릭합니다.

5.1.2. 프로젝트 편집

프로젝트를 편집하여 이름 또는 설명을 변경하거나, 활성화 또는 일시적으로 비활성화하거나, 멤버를 업데이트할 수 있습니다.

  1. 대시보드에서 관리자로서 Identity > Projects 를 선택합니다.
  2. 프로젝트의 Actions 열에서 화살표를 클릭하고 프로젝트 편집을 클릭합니다.
  3. 프로젝트 편집 창에서 프로젝트를 업데이트하여 이름 또는 설명을 변경하고 프로젝트를 활성화하거나 일시적으로 비활성화할 수 있습니다.
  4. 프로젝트 멤버 탭에서 프로젝트에 멤버를 추가하거나 필요에 따라 제거합니다.
  5. 저장을 클릭합니다.
참고

Enabled 확인란은 기본적으로 선택됩니다. 프로젝트를 일시적으로 비활성화하려면 Enabled 확인란을 지웁니다. 비활성화된 프로젝트를 활성화하려면 Enabled 확인란을 선택합니다.

5.1.3. 프로젝트 삭제

  1. 대시보드에서 관리자로서 Identity > Projects 를 선택합니다.
  2. 삭제할 프로젝트를 선택합니다.
  3. Delete Projects 를 클릭합니다. Confirm Delete Projects 창이 표시됩니다.
  4. Delete Projects 를 클릭하여 작업을 확인합니다.

프로젝트가 삭제되고 모든 사용자 쌍이 연결 해제됩니다.

5.1.4. 프로젝트 할당량 업데이트

할당량은 클라우드 리소스를 최적화하기 위해 프로젝트별로 설정할 수 있는 운영 제한입니다. 프로젝트 리소스가 알림 없이 사용되지 않도록 할당량을 설정할 수 있습니다. 할당량은 프로젝트와 project-user 수준에서 모두 적용할 수 있습니다.

  1. 대시보드에서 관리자로서 Identity > Projects 를 선택합니다.
  2. 프로젝트의 Actions 열에서 화살표를 클릭하고 Modify Quotas 를 클릭합니다.
  3. 필요에 따라 Quota 탭에서 프로젝트 할당량을 수정합니다.
  4. 저장을 클릭합니다.

5.1.5. 활성 프로젝트 변경

사용자는 멤버로만 프로젝트를 활성 프로젝트로 설정할 수 있습니다. 또한 사용자가 두 개 이상의 프로젝트의 멤버여야 하며 Set as Active Project 옵션을 활성화해야 합니다. 프로젝트를 활성 프로젝트로 설정하면 활성 프로젝트의 대시보드에 있는 오브젝트에 액세스할 수 있습니다. 비활성화된 프로젝트는 다시 활성화되지 않는 한 활성 상태로 설정할 수 없습니다.

  1. 대시보드에서 관리자로서 Identity > Projects 를 선택합니다.
  2. 프로젝트의 Actions 열에서 화살표를 클릭하고 Set as Active Project 를 클릭합니다.
  3. 또는 관리자 이외의 사용자로 프로젝트의 작업 열에서 Set as Active Project 를 클릭하여 열의 기본 작업이 됩니다.

5.2. 프로젝트 보안 관리

보안 그룹은 프로젝트 인스턴스에 할당할 수 있고 인스턴스에 대한 네트워킹 액세스를 정의하는 IP 필터 규칙 집합입니다. 보안 그룹은 프로젝트에 따라 다릅니다. 프로젝트 멤버는 보안 그룹에 대한 기본 규칙을 편집하고 새 규칙 세트를 추가할 수 있습니다.

모든 프로젝트에는 기타 정의된 보안 그룹이 없는 인스턴스에 적용되는 기본 보안 그룹이 있습니다. 기본값을 변경하지 않는 한 이 보안 그룹은 들어오는 모든 트래픽을 거부하고 인스턴스로 나가는 트래픽만 허용합니다.

5.2.1. 보안 그룹 만들기

  1. 대시보드에서 Project > Compute > Access & Security 를 선택합니다.
  2. Security Groups 탭에서 Create Security Group 을 클릭합니다.
  3. 그룹에 대한 이름 및 설명을 제공하고 Create Security Group 을 클릭합니다.

5.2.2. 보안 그룹 규칙 추가

기본적으로 새 그룹의 규칙은 발신 액세스만 제공합니다. 추가 액세스를 제공하려면 새 규칙을 추가해야 합니다.

  1. 대시보드에서 Project > Compute > Access & Security 를 선택합니다.
  2. 보안 그룹 탭에서 편집하려는 보안 그룹에 대한 규칙 관리를 클릭합니다.
  3. Add Rule 을 클릭하여 새 규칙을 추가합니다.
  4. 규칙 값을 지정하고 추가 를 클릭합니다.

    다음 규칙 필드는 필수입니다.

    Rule

    규칙 유형. 규칙 템플릿(예: SSH)을 지정하면 해당 필드가 자동으로 채워집니다.

    • TCP: 일반적으로 시스템 간에 데이터를 교환하고 최종 사용자 통신에 사용됩니다.
    • UDP: 일반적으로 시스템, 특히 애플리케이션 수준에서 데이터를 교환하는 데 사용됩니다.
    • ICMP: 일반적으로 라우터와 같은 네트워크 장치에서 오류 메시지를 보내거나 메시지를 모니터링하는 데 사용됩니다.
    방향
    Ingress(inbound) 또는 Egress(outbound).
    포트 열기

    TCP 또는 UDP 규칙의 경우 포트 또는 포트 범위 (단일 포트 또는 포트 범위)를 엽니다.

    • 포트 범위의 경우 From PortTo Port 필드에 포트 값을 입력합니다.
    • 단일 포트의 경우 포트 필드에 포트 값을 입력합니다.
    유형
    ICMP 규칙 유형은 -1:255 범위에 있어야 합니다.
    코드
    ICMP 규칙에 대한 코드는 -1:255 범위에 있어야 합니다.
    원격

    이 규칙의 트래픽 소스:

    • CIDR(Classless Inter-Domain Routing): 블록 내의 IP에 대한 액세스를 제한하는 IP 주소 블록입니다. 소스 필드에 CIDR을 입력합니다.
    • 보안 그룹: 그룹의 모든 인스턴스가 다른 그룹 인스턴스에 액세스할 수 있도록 하는 소스 그룹입니다.

5.2.3. 보안 그룹 규칙 삭제

  1. 대시보드에서 Project > Compute > Access & Security 를 선택합니다.
  2. 보안 그룹 탭에서 보안 그룹에 대한 규칙 관리를 클릭합니다.
  3. 보안 그룹 규칙을 선택하고 Delete Rule 을 클릭합니다.
  4. Delete Rule 을 다시 클릭합니다.
참고

삭제 작업을 취소할 수 없습니다.

5.2.4. 보안 그룹 삭제

  1. 대시보드에서 Project > Compute > Access & Security 를 선택합니다.
  2. 보안 그룹 탭에서 그룹을 선택하고 Delete Security Groups 를 클릭합니다.
  3. Delete Security Groups 를 클릭합니다.
참고

삭제 작업을 취소할 수 없습니다.

5.3. ID 서비스의 계층적 멀티 테넌시

OpenStack ID 서비스(keystone)에서는 다중 테넌시를 사용하여 프로젝트를 중첩할 수 있습니다. 도메인은 이러한 각 도메인이 정확히 하나의 도메인에서 소유한 사용자, 그룹 및 프로젝트의 컬렉션을 나타냅니다. 사용자는 다른 도메인에서 소유한 프로젝트를 포함하여 프로젝트에 대한 역할을 부여하여 여러 프로젝트와 연결할 수 있습니다. 프로젝트는 리소스 컨테이너이며 할당량을 정의하고 VM 이미지에 대한 액세스를 정의합니다.

참고

멀티 테넌시는 기술 프리뷰로 사용할 수 있습니다. 기술 프리뷰로 표시된 기능의 지원 범위에 대한 자세한 내용은 https://access.redhat.com/support/offerings/techpreview/을 참조하십시오.

6장. 도메인 관리

ID 서비스(keystone) 도메인은 keystone에서 생성할 수 있는 추가 네임스페이스입니다. keystone 도메인을 사용하여 사용자, 그룹 및 프로젝트를 분할합니다. 이러한 별도의 도메인은 다른 LDAP 또는 Active Directory 환경에서 사용자를 인증하도록 구성할 수도 있습니다. 자세한 내용은 ID 서비스와의 통합을 참조하십시오.

참고

ID 서비스에는 Default 라는 기본 제공 도메인이 포함되어 있습니다. 이 도메인을 서비스 계정에 대해서만 예약하고 사용자 계정에 대해 별도의 도메인을 생성하는 것이 좋습니다.

6.1. 도메인 목록 보기

openstack domain list 를 사용하여 도메인 목록을 볼 수 있습니다. 예를 들면 다음과 같습니다.

$ openstack domain list
+----------------------------------+------------------+---------+--------------------+
| ID                               | Name             | Enabled | Description        |
+----------------------------------+------------------+---------+--------------------+
| 3abefa6f32c14db9a9703bf5ce6863e1 | TestDomain       | True    |                    |
| 69436408fdcb44ab9e111691f8e9216d | corp             | True    |                    |
| a4f61a8feb8d4253b260054c6aa41adb | federated_domain | True    |                    |
| default                          | Default          | True    | The default domain |
+----------------------------------+------------------+---------+--------------------+
참고

이 명령을 사용할 수 없는 경우 명령행 세션에 keystone v3을 활성화했는지 확인합니다.

6.2. 새 도메인 생성

openstack domain create 를 사용하여 새 도메인을 생성할 수 있습니다. 예를 들면 다음과 같습니다.

$ openstack domain create TestDomain
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description |                                  |
| enabled     | True                             |
| id          | 3abefa6f32c14db9a9703bf5ce6863e1 |
| name        | TestDomain                       |
+-------------+----------------------------------+

6.3. 도메인의 세부 정보 보기

openstack domain show 를 사용하여 도메인의 세부 정보를 볼 수 있습니다. 예를 들면 다음과 같습니다.

$ openstack domain show TestDomain
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description |                                  |
| enabled     | True                             |
| id          | 3abefa6f32c14db9a9703bf5ce6863e1 |
| name        | TestDomain                       |
+-------------+----------------------------------+

6.4. 도메인 비활성화

  1. --disable 을 사용하여 도메인을 비활성화할 수 있습니다. 예를 들면 다음과 같습니다.

    $ openstack domain set TestDomain --disable
  2. 도메인이 비활성화되었는지 확인합니다.

    $ openstack domain show TestDomain
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description |                                  |
    | enabled     | False                            |
    | id          | 3abefa6f32c14db9a9703bf5ce6863e1 |
    | name        | TestDomain                       |
    +-------------+----------------------------------+
  3. 필요한 경우 도메인을 다시 활성화할 수 있습니다.

    $ openstack domain set TestDomain --enable

7장. IdM (Identity Management)

7.1. 보안 LDAP 통신

LDAP 서버에서 ID 정보를 인증하거나 검색하도록 ID 서비스(keystone)를 구성한 경우 CA 인증서를 사용하여 ID 서비스의 LDAP 통신을 보호할 수 있습니다.

이 섹션에서는 Active Directory에서 CA 인증서를 가져오는 방법, CA 인증서 파일을 Privacy Enhanced mail(PEM) 파일 형식으로 변환하는 방법, ID 서비스에 대한 보안 LDAP 통신을 구성하는 세 가지 방법을 간략하게 설명합니다. 각 방법의 절차는 CA 신뢰의 위치와 방법에 따라 수행해야 합니다.

7.1.1. Active Directory에서 CA 인증서 가져오기

다음 코드는 Active Directory를 쿼리하여 CA 인증서를 가져오는 방법의 예를 보여줍니다. CA_NAME은 인증서의 이름이며(mmc.exe에서 볼 수 있음) 설정에 따라 나머지 매개변수를 변경할 수 있습니다.

CA_NAME="WIN2012DOM-WIN2012-CA"
AD_SUFFIX="dc=win2012dom,dc=com" LDAPURL="ldap://win2012.win2012dom.com"
ADMIN_DN="cn=Administrator,cn=Users,$AD_SUFFIX"
ADMINPASSWORD="MyPassword"

CA_CERT_DN="cn=latexmath:[$CA_NAME,cn=certification authorities,cn=public key services,cn=services,cn=configuration,$]AD_SUFFIX"

TMP_CACERT=/tmp/cacert.`date +'%Y%m%d%H%M%S'`.$$.pem

ldapsearch -xLLL -H
latexmath:[$LDAPURL -D `echo \"$]ADMIN_DN"`-W -s base -b`echo
"$CA_CERT_DN"` objectclass=* cACertificate

7.1.2. CA 인증서를 PEM 파일 형식으로 변환

아래 예제와 같이 /path/cacert.pem이라는 파일을 만들고 Active Directory에서 CA 인증서를 가져온 LDAP 쿼리의 내용을 헤더 및 footer 내에 포함합니다.

-----BEGIN CERTIFICATE-----
MIIDbzCCAlegAwIBAgIQQD14hh1Yz7tPFLXCkKUOszANB... -----END
CERTIFICATE-----

문제 해결을 위해 다음 쿼리를 실행하여 LDAP가 작동하는지 확인하고 PEM 인증서 파일이 올바르게 생성되었는지 확인할 수 있습니다.

LDAPTLS_CACERT=/path/cacert.pem ldapsearch -xLLL -ZZ -H $LDAPURL -s base -b "" "objectclass=*" currenttime

쿼리에서 다음과 유사한 결과를 반환해야 합니다.

dn: currentTime:
20141022050611.0Z

다음 명령을 실행하여 웹 서버에서 호스팅한 경우 CA 인증서를 가져올 수 있습니다.

  • $HOST=redhat.com
  • $PORT=443
# echo Q | openssl s_client -connect $HOST:$PORT | sed -n -e '/BEGIN CERTIFICATE/,/END CERTIFICATE/ p'

7.1.3. ID 서비스에 대한 보안 LDAP 통신 구성 방법

7.1.3.1. 방법 1

PEM 파일을 사용하여 CA 신뢰가 LDAP 수준에서 구성된 경우 이 방법을 사용합니다. CA 인증서 파일의 위치를 수동으로 지정합니다. 다음 절차에서는 OpenLDAP 라이브러리를 사용하는 모든 애플리케이션뿐만 아니라 ID 서비스뿐만 아니라 LDAP 통신을 보호합니다.

  1. PEM 형식의 CA 인증서 체인이 포함된 파일을 /etc/openldap/certs 디렉터리에 복사합니다.
  2. /etc/openldap/ldap.conf 를 편집하고 다음 지시문을 추가하여 [CA_FILE]을 CA 인증서 파일의 위치 및 이름으로 바꿉니다.

    TLS_CACERT /etc/openldap/certs/[CA_FILE]
  3. openstack-keystone 서비스를 다시 시작합니다.

    # systemctl restart openstack-keystone.service
7.1.3.2. 방법 2

NSS(Network Security Services) 데이터베이스를 사용하여 LDAP 라이브러리 수준에서 CA 신뢰가 구성된 경우 이 방법을 사용합니다. certutil 명령을 사용하여 OpenLDAP 라이브러리에서 사용하는 NSS 인증서 데이터베이스로 CA 인증서를 가져오고 신뢰합니다. 다음 절차에서는 OpenLDAP 라이브러리를 사용하는 모든 애플리케이션뿐만 아니라 ID 서비스뿐만 아니라 LDAP 통신을 보호합니다.

  1. [CA_FILE]을 CA 인증서 파일의 위치 및 이름으로 교체하여 인증서를 가져오고 신뢰합니다.

    # certutil -d /etc/openldap/certs -A -n "My CA" -t CT,, -a -i [CA_FILE]
  2. CA 인증서를 올바르게 가져왔는지 확인합니다.

    # certutil -d /etc/openldap/certs -L

    CA 인증서가 나열되고 신뢰 속성은 gRPC( ,)로 설정됩니다.

  3. openstack-keystone 서비스를 다시 시작합니다.

    # systemctl restart openstack-keystone.service
7.1.3.3. 방법 3

PEM 파일을 사용하여 Keystone 수준에서 CA 신뢰가 구성된 경우 이 방법을 사용합니다. ID 서비스와 LDAP 서버 간의 통신을 보호하는 마지막 방법은 ID 서비스에 대해 TLS를 구성하는 것입니다.

그러나 위의 두 방법과 달리 이 방법은 ID 서비스의 LDAP 통신만 보호하고 OpenLDAP 라이브러리를 사용하는 다른 애플리케이션의 LDAP 통신을 보호하지 않습니다.

다음 절차에서는 openstack-config 명령을 사용하여 /etc/keystone/keystone.conf 파일의 값을 편집합니다.

  1. TLS를 활성화합니다.

    # openstack-config --set /etc/keystone/keystone.conf ldap use_tls True
  2. 인증서 위치를 지정하고 [CA_FILE]을 CA 인증서 이름으로 교체합니다.

    # openstack-config --set /etc/keystone/keystone.conf ldap tls_cacertfile [CA_FILE]
  3. LDAP 서버에서 들어오는 TLS 세션에서 수행되는 클라이언트 인증서 검사를 지정하고 [CERT_BEHAVIOR]을 아래에 나열된 동작 중 하나로 교체합니다.

    수요
    인증서는 항상 LDAP 서버에서 요청합니다. 인증서를 제공하지 않거나 제공된 인증서를 기존 인증 기관 파일에 대해 확인할 수 없는 경우 세션이 종료됩니다.
    allow
    인증서는 항상 LDAP 서버에서 요청합니다. 이 세션은 인증서를 제공하지 않더라도 정상적으로 진행됩니다. 인증서가 제공되지만 기존 인증 기관 파일에 대해 확인할 수 없는 경우 인증서가 무시되고 세션은 정상적으로 진행됩니다.
    never
    인증서가 요청되지 않습니다.
    # openstack-config --set /etc/keystone/keystone.conf ldap tls_req_cert [CERT_BEHAVIOR]
  4. openstack-keystone 서비스를 다시 시작합니다.

    # systemctl restart openstack-keystone.service

법적 공지

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.