4.3. 공유 액세스 권한 부여

계산 인스턴스와 같은 클라이언트에 공유를 마운트하려면 다음과 유사한 명령을 사용하여 클라이언트에 공유에 대한 액세스 권한을 부여해야 합니다.

# manila access-allow <share> <accesstype> --access-level <accesslevel>  <clientidentifier>

다음 값을 바꿉니다.

  • 공유 - 4.1.5절. “공유 생성” 에 생성된 공유의 공유 이름 또는 ID입니다.
  • accesstype - 공유에서 요청할 액세스 유형입니다. 몇 가지 유형은 다음과 같습니다.

    • user: 를 사용하여 사용자 또는 그룹 이름으로 인증합니다.
    • IP: 을 사용하여 IP 주소를 통해 인스턴스를 인증합니다.
    • cephx: 를 사용하여 기본 CephFS 클라이언트 사용자 이름으로 인증합니다.

      참고

      액세스 유형은 공유의 프로토콜에 따라 다릅니다. NFS 공유의 경우 ip 액세스 유형만 허용됩니다. CIFS의 경우 사용자 액세스 유형이 적합합니다. 기본 CephFS 공유의 경우 cephx 를 사용해야 합니다.

  • accessLevel - 선택 사항, 기본값은 rw입니다.

    • w: 공유에 대한 읽기-쓰기 액세스.
    • ro: 공유에 대한 읽기 전용 액세스.
  • 클라이언트 ID - 액세스 유형에 따라 다릅니다.

    • ip 액세스 유형에 IP 주소를 사용합니다.
    • 사용자 액세스 유형에는 CIFS 사용자 또는 그룹을 사용합니다.
    • cephx 액세스 유형에 사용자 이름 문자열을 사용합니다.

4.3.1. 공유에 대한 액세스 권한 부여

사용자가 공유에서 데이터를 읽고 데이터를 작성할 수 있도록 최종 사용자 클라이언트에 공유에 대한 액세스 권한을 부여해야 합니다.

이 절차를 사용하여 인스턴스의 IP 주소를 통해 NFS 공유에 대한 클라이언트 계산 인스턴스 액세스 권한을 부여합니다. CIFS 공유 및 CephFS 공유에 대한 cephx 규칙의 사용자 규칙은 유사한 패턴을 따릅니다. usercephx 액세스 유형을 사용하면 필요한 경우 여러 클라이언트에서 동일한 클라이언트 ID를 사용할 수 있습니다.

참고

예제 절차에서 클라이언트의 IP 주소 제품군 버전은 중요하지 않습니다. 이 절차의 단계에서는 IPv4 주소를 사용하지만 단계는 IPv6와 동일합니다.

절차

  1. 공유를 마운트하려는 클라이언트 계산 인스턴스의 IP 주소를 검색합니다. 공유에 연결할 수 있는 네트워크에 해당하는 IP 주소를 선택해야 합니다. 이 예제에서는 StorageNFS 네트워크의 IP 주소입니다.

    (user) [stack@undercloud-0 ~]$ openstack server list -f yaml
    - Flavor: m1.micro
      ID: 0b878c11-e791-434b-ab63-274ecfc957e8
      Image: manila-test
      Name: demo-instance0
      Networks: demo-network=172.20.0.4, 10.0.0.53;
      StorageNFS=172.17.5.160
      Status: ACTIVE
    
    (user) [stack@undercloud-0 ~]$ manila access-allow share-01 ip 172.17.5.160
    참고

    공유에 대한 액세스에는 자체 ID(accessid)가 있습니다.

    +-----------------+---------------------------------------+
    | Property        | Value                                 |
    +-----------------+---------------------------------------+
    | access_key      | None
    | share_id        | db3bedd8-bc82-4100-a65d-53ec51b5cba3
    | created_at      | 2018-09-17T21:57:42.000000
    | updated_at      | None
    | access_type     | ip
    | access_to       | 172.17.5.160
    | access_level    | rw
    | state           | queued_to_apply
    | id              | 875c6251-c17e-4c45-8516-fe0928004fff
    +-----------------+---------------------------------------+
  2. 액세스 구성이 성공적으로 수행되었는지 확인합니다.

    (user) [stack@undercloud-0 ~]$ manila access-list share-01
    
    +--------------+-------------+--------------+--------------+--------+ ...
    | id           | access_type | access_to    | access_level | state  | ...
    +--------------+-------------+--------------+--------------+--------+
    | 875c6251-... | ip          | 172.17.5.160 | rw       	   | active | ...
    +--------------+------------+--------------+--------------+---------+ ...

4.3.2. 공유에 대한 액세스 박탈

공유 소유자는 어떠한 이유로 공유에 대한 액세스를 취소할 수 있습니다. 이전에 제공된 공유에 대한 액세스를 취소하려면 다음 단계를 완료합니다.

절차

  1. 공유에 대한 액세스를 취소합니다.

    # manila access-deny <share> <accessid>
    참고

    <share> 를 공유 이름 또는 공유 ID로 바꿉니다.

    예를 들면 다음과 같습니다.

    (user) [stack@undercloud-0 ~]$ manila access-list share-01
    +--------------+-------------+--------------+--------------+--------+
    | id           | access_type | access_to    | access_level | state  | ...
    +--------------+-------------+--------------+--------------+--------+ ...
    | 875c6251-... | ip          | 172.17.5.160 | rw       	   | active | ...
    +--------------+-------------+--------------+--------------+--------+
    
    (user) [stack@undercloud-0 ~]$ manila access-deny share-01 875c6251-c17e-4c45-8516-fe0928004fff
    
    (user) [stack@undercloud-0 ~]$ manila access-list share-01
    
    +--------------+------------+--------------+--------------+--------+ ...
    | id           | access_type| access_to    | access_level | state  | ...
    +--------------+------------+--------------+--------------+--------+ ...
    +--------------+------------+--------------+--------------+--------+ ...
참고

읽기-쓰기 권한이 있는 기존 클라이언트가 있는 경우 공유에 대한 액세스를 취소하고 클라이언트가 읽기 전용 권한을 갖도록 하려면 읽기 전용 규칙을 추가해야 합니다.