7.8.2.4. 테넌트가 아닌 사용자의 버킷을 테넌트 사용자로 이동

테넌트가 아닌 사용자의 버킷을 테넌트 사용자로 이동할 수 있습니다.

절차

  1. 선택 사항: 아직 여러 개의 테넌트가 없는 경우 rgw_keystone_implicit_tenants 를 활성화하고 외부 테넌트에서 Ceph Object Gateway에 액세스하여 생성할 수 있습니다.

    rgw_keystone_implicit_tenants 옵션을 활성화합니다.

    예제

    [root@mon ~]# ceph config set client.rgw rgw_keystone_implicit_tenants true

    s3cmd 또는 swift 명령을 사용하여 tenant 테넌트에서 Ceph Object Gateway에 액세스합니다.

    # swift list

    또는 s3cmd 를 사용하십시오.

    # s3cmd ls

    외부 테넌트에서 첫 번째 액세스 권한은 동일한 Ceph Object Gateway 사용자를 생성합니다.

  2. 버킷을 테넌트된 사용자로 이동합니다.

    radosgw-admin bucket link --bucket=/bucket --uid='tenant$user'

    교체:

    • 버킷 이름으로 버킷
    • 새 사용자가 있는 테넌트의 이름이 인 테넌트
    • 사용자의 사용자 이름이 있는 사용자

    예를 들어 데이터 버킷을 테스트 테넌트 내부의 tenanted-user 로 이동하려면 다음을 수행합니다.

    # radosgw-admin bucket link --bucket=/data --uid='test$tenanted-user'
  3. 데이터 버킷이 tenanted-user 에 연결되었는지 확인합니다.

    # radosgw-admin bucket list --uid='test$tenanted-user'
    [
        "data"
    ]
  4. 버킷의 소유권을 새 사용자로 변경합니다.

    radosgw-admin bucket chown --bucket='tenant/bucket name' --uid='tenant$user'

    교체:

    • 버킷 이름으로 버킷
    • 새 사용자가 있는 테넌트의 이름이 인 테넌트
    • 사용자의 사용자 이름이 있는 사용자

    예를 들어 데이터 버킷의 소유권을 테스트 테넌트 내부에 있는 tenanted-user 로 변경하려면 다음을 수행합니다.

    # radosgw-admin bucket chown --bucket='test/data' --uid='test$tenanted-user'
  5. 다음 명령의 출력에서 owner 행을 확인하여 데이터 버킷의 소유권이 성공적으로 변경되었는지 확인합니다.

    # radosgw-admin bucket list --bucket=test/data