검색

6.2. Active Directory 및 Ceph Object Gateway 구성

download PDF

다음 단계를 수행하여 Ceph Object Gateway 사용자를 인증하도록 Active Directory 서버를 구성합니다.

6.2.1. Microsoft Active Directory 사용

Ceph Object Gateway LDAP 인증은 Microsoft Active Directory를 포함하여 간단한 바인딩용으로 구성할 수 있는 모든 LDAP 호환 디렉터리 서비스와 호환됩니다. Active Directory는 Ceph Object Gateway가 rgw_ldap_binddn 설정에 구성된 사용자로 바인딩하고 LDAP를 사용하여 보안을 보장하는 점에서 RH Directory 서버를 사용하는 것과 유사합니다.

Active Directory를 구성하는 프로세스는 기본적으로 LDAP 및 Ceph Object Gateway 구성과 동일하지만 일부 Windows별 사용이 있을 수 있습니다.

6.2.2. LDAPS용 Active Directory 구성

Active Directory LDAP 서버는 기본적으로 LDAP를 사용하도록 구성됩니다. Windows Server 2012 이상에서는 Active Directory 인증서 서비스를 사용할 수 있습니다. Active Directory LDAP와 함께 사용할 SSL 인증서를 생성하고 설치하는 방법은 다음 MS Cryostat 문서: LDAP over SSL (LDAPS) 인증서 를 참조하십시오.

참고

Active Directory 호스트에서 포트 636 이 열려 있는지 확인합니다.

6.2.3. gateway 사용자가 있는지 확인합니다.

gateway 사용자를 만들기 전에 Ceph Object Gateway에 사용자가 없는지 확인합니다.

예제

[ceph: root@host01 /]# radosgw-admin metadata list user

사용자 이름은 이 사용자 목록에 없어야 합니다.

6.2.4. 게이트웨이 사용자 추가

사용자 LDAP에 Ceph Object Gateway 사용자를 만듭니다.

프로세스

  1. Ceph Object Gateway에 대한 LDAP 사용자를 만들고 binddn 을 기록합니다. Ceph 개체 게이트웨이는 ceph 사용자를 사용하므로 사용자 이름으로 ceph 를 사용하는 것이 좋습니다. 사용자에게 디렉터리를 검색할 수 있는 권한이 있어야 합니다. Ceph Object Gateway는 rgw_ldap_binddn 에 지정된 대로 이 사용자에게 바인딩합니다.
  2. 사용자 생성이 작동하는지 테스트합니다. 여기서 cephPeople 의 사용자 ID이고 example.com 은 도메인이므로 사용자를 검색할 수 있습니다.

    # ldapsearch -x -D "uid=ceph,ou=People,dc=example,dc=com" -W -H ldaps://example.com -b "ou=People,dc=example,dc=com" -s sub 'uid=ceph'
  3. 각 게이트웨이 노드에서 사용자 시크릿에 대한 파일을 생성합니다. 예를 들어 시크릿은 /etc/bindpass 가 부여된 파일에 저장할 수 있습니다. 보안을 위해 이 파일의 소유자를 ceph 사용자 및 그룹으로 변경하여 전역에서 읽을 수 없도록 합니다.
  4. rgw_ldap_secret 옵션을 추가합니다.

    구문

    ceph config set client.rgw OPTION VALUE

    예제

    [ceph: root@host01 /]# ceph config set client.rgw rgw_ldap_secret /etc/bindpass

  5. 바인딩 암호 파일을 Ceph Object Gateway 컨테이너에 패치하고 Ceph Object Gateway 사양을 다시 적용합니다.

    예제

    service_type: rgw
    service_id: rgw.1
    service_name: rgw.rgw.1
    placement:
      label: rgw
      extra_container_args:
      - -v
      - /etc/bindpass:/etc/bindpass

    참고

    /etc/bindpass 는 Red Hat Ceph Storage에서 자동으로 제공되지 않으며 가능한 모든 Ceph Object Gateway 인스턴스 노드에서 콘텐츠를 사용할 수 있는지 확인해야 합니다.

6.2.5. Active Directory를 사용하도록 게이트웨이 구성

  1. rgw_ldap_secret 설정을 설정한 후 다음 옵션을 추가합니다.

    구문

    ceph config set client.rgw OPTION VALUE

    예제

    [ceph: root@host01 /]# ceph config set client.rgw rgw_ldap_uri ldaps://_FQDN_:636
    [ceph: root@host01 /]# ceph config set client.rgw rgw_ldap_binddn "_BINDDN_"
    [ceph: root@host01 /]# ceph config set client.rgw rgw_ldap_searchdn "_SEARCHDN_"
    [ceph: root@host01 /]# ceph config set client.rgw rgw_ldap_dnattr "cn"
    [ceph: root@host01 /]# ceph config set client.rgw rgw_s3_auth_use_ldap true

    rgw_ldap_uri 설정의 경우 FQDN 을 LDAP 서버의 정규화된 도메인 이름으로 대체합니다. LDAP 서버가 두 개 이상 있는 경우 각 도메인을 지정합니다.

    rgw_ldap_binddn 설정의 경우 BINDDN 을 bind 도메인으로 대체합니다. example.com 도메인과 ceph 사용자가 사용자 및 계정 아래에 있으면 다음과 같이 표시됩니다.

    예제

    rgw_ldap_binddn "uid=ceph,cn=users,cn=accounts,dc=example,dc=com"

    rgw_ldap_searchdn 설정의 경우 SEARCHDN 을 검색 도메인으로 대체합니다. example.com 도메인과 사용자 및 계정 아래의 사용자는 다음과 같습니다.

    rgw_ldap_searchdn "cn=users,cn=accounts,dc=example,dc=com"
  2. Ceph Object Gateway를 다시 시작합니다.

    참고

    NAME 열에 있는 ceph orch ps 명령의 출력을 사용하여 SERVICE_TYPE.ID 정보를 가져옵니다.

    1. 스토리지 클러스터의 개별 노드에서 Ceph Object Gateway를 다시 시작하려면 다음을 수행합니다.

      구문

      systemctl restart ceph-CLUSTER_ID@SERVICE_TYPE.ID.service

      예제

      [root@host01 ~]# systemctl restart ceph-c4b34c6f-8365-11ba-dc31-529020a7702d@rgw.realm.zone.host01.gwasto.service

    2. 스토리지 클러스터의 모든 노드에서 Ceph Object Gateway를 다시 시작하려면 다음을 수행합니다.

      구문

      ceph orch restart SERVICE_TYPE

      예제

      [ceph: root@host01 /]# ceph orch restart rgw

6.2.6. LDAP 서버에 S3 사용자 추가

LDAP 서버의 관리 콘솔에서 S3 클라이언트에서 LDAP 사용자 자격 증명을 사용할 수 있도록 하나 이상의 S3 사용자를 생성합니다. 인증 정보를 S3 클라이언트에 전달할 때 사용할 사용자 이름과 시크릿을 기록해 둡니다.

6.2.7. LDAP 토큰 내보내기

LDAP를 사용하여 Ceph Object Gateway를 실행하는 경우 액세스 토큰이 모두 필요합니다. 그러나 액세스 토큰은 액세스 키 및 시크릿 키에서 생성됩니다. 액세스 키와 시크릿 키를 LDAP 토큰으로 내보냅니다.

  1. 액세스 키를 내보냅니다.

    구문

    export RGW_ACCESS_KEY_ID="USERNAME"

  2. 시크릿 키를 내보냅니다.

    구문

    export RGW_SECRET_ACCESS_KEY="PASSWORD"

  3. 토큰을 내보냅니다. LDAP의 경우 ldap 를 토큰 유형(ttype)으로 사용합니다.

    예제

    radosgw-token --encode --ttype=ldap

    Active Directory의 경우 ad 를 토큰 유형으로 사용합니다.

    예제

    radosgw-token --encode --ttype=ad

    결과적으로 액세스 토큰인 base-64로 인코딩된 문자열이 생성됩니다. 액세스 키 대신 S3 클라이언트에 이 액세스 토큰을 제공합니다. 시크릿 키는 더 이상 필요하지 않습니다.

  4. 선택 사항: 추가 편의를 위해 S3 클라이언트에서 환경 변수를 사용하는 경우 base-64로 인코딩된 문자열을 RGW_ACCESS_KEY_ID 환경 변수로 내보냅니다.

    예제

    export RGW_ACCESS_KEY_ID="ewogICAgIlJHV19UT0tFTiI6IHsKICAgICAgICAidmVyc2lvbiI6IDEsCiAgICAgICAgInR5cGUiOiAibGRhcCIsCiAgICAgICAgImlkIjogImNlcGgiLAogICAgICAgICJrZXkiOiAiODAwI0dvcmlsbGEiCiAgICB9Cn0K"

6.2.8. S3 클라이언트로 구성 테스트

Python Boto와 같은 스크립트를 사용하여 Ceph Object Gateway 클라이언트로 구성을 테스트합니다.

절차.

  1. RGW_ACCESS_KEY_ID 환경 변수를 사용하여 Ceph Object Gateway 클라이언트를 구성합니다. 또는 base-64로 인코딩된 문자열을 복사하여 액세스 키로 지정할 수 있습니다. 다음은 구성된 S3 클라이언트의 예입니다.

    예제

    cat .aws/credentials
    
    [default]
    aws_access_key_id = ewogICaGbnjlwe9UT0tFTiI6IHsKICAgICAgICAidmVyc2lvbiI6IDEsCiAgICAgICAgInR5cGUiOiAiYWQiLAogICAgICAgICJpZCI6ICJjZXBoIiwKICAgICAgICAia2V5IjogInBhc3M0Q2VwaCIKICAgIH0KfQo=
    aws_secret_access_key =

    참고

    시크릿 키는 더 이상 필요하지 않습니다.

  2. aws s3 ls 명령을 실행하여 사용자를 확인합니다.

    예제

    [root@host01 ~]# aws s3 ls --endpoint http://host03
    
    2023-12-11 17:08:50 mybucket
    2023-12-24 14:55:44 mybucket2

  3. 선택 사항: radosgw-admin 사용자 명령을 실행하여 디렉터리의 사용자를 확인할 수도 있습니다.

    예제

    [root@host01 ~]# radosgw-admin user info --uid dir1
    {
        "user_id": "dir1",
        "display_name": "dir1",
        "email": "",
        "suspended": 0,
        "max_buckets": 1000,
        "subusers": [],
        "keys": [],
        "swift_keys": [],
        "caps": [],
        "op_mask": "read, write, delete",
        "default_placement": "",
        "default_storage_class": "",
        "placement_tags": [],
        "bucket_quota": {
            "enabled": false,
            "check_on_raw": false,
            "max_size": -1,
            "max_size_kb": 0,
            "max_objects": -1
        },
        "user_quota": {
            "enabled": false,
            "check_on_raw": false,
            "max_size": -1,
            "max_size_kb": 0,
            "max_objects": -1
        },
        "temp_url_keys": [],
        "type": "ldap",
        "mfa_ids": []
    }

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.