7.6. 사용자 관리

Ceph Object Storage 사용자 관리는 Ceph Storage 클러스터의 클라이언트 애플리케이션으로 Ceph Object Gateway가 아닌 Ceph Object Storage 서비스의 클라이언트 애플리케이션인 사용자를 나타냅니다. 클라이언트 애플리케이션이 Ceph Object Gateway 서비스와 상호 작용할 수 있도록 사용자를 생성하고 키 및 시크릿에 액세스해야 합니다.

다음 두 가지 사용자 유형이 있습니다.

  • 사용자: 'user'라는 용어는 S3 인터페이스의 사용자를 반영합니다.
  • 하위 사용자: 'subuser'라는 용어는 Swift 인터페이스의 사용자를 반영합니다. 하위 사용자는 사용자와 연결됩니다.

사용자와 하위 사용자를 생성, 수정, 보기, 일시 중단 및 제거할 수 있습니다.

중요

다중 사이트 배포에서 사용자를 관리하는 경우 ALWAYS는 사용자가 master 영역 그룹의 마스터 영역 내의 Ceph Object Gateway 노드에서 radosgw-admin 명령을 실행하여 사용자가 다중 사이트 클러스터 전체에서 동기화되도록 합니다. 보조 영역 또는 보조 영역 그룹에서 다중 사이트 클러스터에서 사용자를 생성, 수정 또는 삭제하지 마십시오. 이 문서에서는 [root@master-zone]# 을 마스터 영역 그룹의 마스터 영역에 있는 호스트에 대한 명령줄 규칙으로 사용합니다.

사용자 및 하위 사용자 ID를 만드는 것 외에도 사용자의 표시 이름과 이메일 주소를 추가할 수 있습니다. 키와 시크릿을 지정하거나 키와 시크릿을 자동으로 생성할 수 있습니다. 키를 생성하거나 지정할 때 사용자 ID는 S3 키 유형에 해당하고 하위 사용자 ID는 swift 키 유형에 해당합니다. Swift 키에는 읽기,쓰기, 읽기, 전체 의 액세스 수준도 있습니다.

사용자 관리 명령줄 구문은 일반적으로 user <command> <user-id> 패턴을 따릅니다. 여기서 <user-id>--uid= 옵션 다음에 사용자 ID(S3) 또는 --subuser= 옵션 뒤에 사용자 이름(Swift)이 옵니다. 예를 들면 다음과 같습니다.

[root@master-zone]# radosgw-admin user <create|modify|info|rm|suspend|enable|check|stats> <--uid={id}|--subuser={name}> [other-options]

실행하는 명령에 따라 추가 옵션이 필요할 수도 있습니다.

7.6.1. 멀티 테넌시

Red Hat Ceph Storage 2 이상에서 Ceph Object Gateway는 S3 및 Swift API 모두에 대해 멀티 테넌시를 지원합니다. 여기서 각 사용자 및 버킷은 "테넌트"에 있습니다. 멀티 테넌시는 여러 테넌트가 "테스트", "main" 등과 같은 일반적인 버킷 이름을 사용할 때 네임스페이스 충돌을 방지합니다.

각 사용자 및 버킷은 테넌트 아래에 있습니다. 이전 버전과의 호환성을 위해 이름이 비어 있는 "기존" 테넌트가 추가됩니다. 특히 테넌트를 지정하지 않고 버킷을 참조할 때마다 Swift API는 "기존" 테넌트를 가정합니다. 기존 사용자는 또한 레거시 테넌트 아래에 저장되므로 이전 릴리스와 동일한 방식으로 버킷 및 개체에 액세스합니다.

따라서 테넌트에는 어떤 작업도 없습니다. 사용자를 관리할 때 필요에 따라 표시 및 사라집니다. 명시적 테넌트가 있는 사용자를 생성, 수정 및 제거하려면 추가 옵션 --tenant 이 제공되거나 radosgw-admin 명령의 매개 변수에 "<tenant>$<user>" 구문을 사용합니다.

S3에 대한 testx$tester 사용자를 만들려면 다음을 실행합니다.

[root@master-zone]# radosgw-admin --tenant testx --uid tester \
                    --display-name "Test User" --access_key TESTER \
                    --secret test123 user create

Swift에 대한 testx$tester 사용자를 만들려면 다음 중 하나를 실행합니다.

[root@master-zone]# radosgw-admin --tenant testx --uid tester \
                    --display-name "Test User" --subuser tester:swift \
                    --key-type swift --access full subuser create

[root@master-zone]# radosgw-admin key create --subuser 'testx$tester:swift' \
                    --key-type swift --secret test123
참고

명시적 테넌트가 있는 하위 사용자를 쉘에 따옴표로 묶어야 합니다.