アカウントの作成と管理
    • PDF

    アカウントの作成と管理

    • PDF

    Article Summary

    VPC環境で利用できます。

    Data Forestのアカウントとアプリを作成して管理する方法を説明します。

    アカウント作成

    Data Forestのアカウントを作成する方法は、次の通りです。

    1. NAVERクラウドプラットフォームコンソールにアクセスします。
    2. Platformメニューの VPCをクリックして VPC環境に変更します。
    3. Services > Big Data & Analytics > Data Forestメニューを順にクリックします。
    4. Accounts> [アカウント作成] ボタンをクリックします。
    5. アカウント名アカウントのパスワードを入力します。
      • アカウント名: アプリの提出時に必要なアカウントの名前を入力。 (2文字以上16文字以内のアルファベットと数字を組み合わせて作成。アカウント名はクラスタ内で固有の値でなければならないため、[重複チェック] ボタンをクリックして重複していないか確認)
      • アカウントのパスワード: アカウントでログインする際に使用するパスワードを入力。(8文字以上20文字以内のアルファベットの大文字と小文字、特殊文字、数字をそれぞれ1文字以上入力)
    6. [作成] ボタンをクリックします。
    7. アカウントリストでアカウントが作成されたか確認します。
      • アカウントの作成が完了するまで2~3分ほどかかります。
      • アカウントが正常に作成されると、アカウントのステータスが運用中に変更されます。
    8. アカウントのステータスが運用中になっているか確認します。
      df-account_03_vpc_ko
    参考

    Data Forestではユーザー別に1つのアカウントのみ作成・使用できます。

    アカウントの管理

    クラスタアクセス情報の確認

    クラスタのアプリケーションタイプ別のアクセス情報を確認する方法は、次の通りです。

    1. NAVERクラウドプラットフォームコンソールで、Services > Big Data & Analytics > Data Forestメニューを順にクリックします。
    2. 左側の Data Forest > Appsメニューをクリックします。
    3. 作成したアプリを選択した後、アプリ詳細情報の Quick links > [アクセス情報の詳細を見る] をクリックします。
    4. クラスタのアプリケーションタイプ別のアクセス情報を確認します。
      df-account_13_vpc_ko

    キータブのダウンロード

    当該アカウントでクラスタにアクセスするには、キータブファイルが必要です。キータブファイルをダウンロードする方法は、次の通りです。

    1. NAVERクラウドプラットフォームコンソールの Services > Big Data & Analytics > Data Forest > Accountsメニューを順にクリックします。
    2. アカウントを選択してクラスタのアクセス情報 > Kerberos keytabのダウンロードをクリックします。
    3. ダウンロード画面が表示された [ダウンロード] ボタンをクリックします。
      df-account_05_vpc_ko

    HDFS Quota の変更

    アカウントが使用するクラスタの名前空間に応じて、各 HDFSのファイル数とファイル容量を変更できます。

    1. NAVERクラウドプラットフォームコンソールの Services > Big Data & Analytics > Data Forest > Accountsメニューを順にクリックします。
    2. HDFS Quotaを変更するアカウントを選択し、アカウント設定の変更 > HDFS Quotaの変更をクリックします。
    3. HDFS Quotaの変更画面が表示されたら、情報を変更して [変更] ボタンをクリックします。
      df-account_06_vpc_ko
      • 名前空間: 名前空間を選択
      • 変更するファイル数: 最小100万個から最大500万個まで、100万個単位で選択可能(デフォルト値: 100万個)
      • 変更するファイル容量: 最小200TBから最大500TBまで、100TB単位で選択可能(デフォルト値: 200TB)

    Kerberos Keytabの初期化

    ダウンロードしたキータブを紛失したかキータブの変更が必要な場合、Kerberos Keytabを初期化できます。

    Kerberos Keytabを初期化する方法は、次の通りです。

    1. NAVERクラウドプラットフォームコンソールの Services > Big Data & Analytics > Data Forest > Accountsメニューを順にクリックします。
    2. キータブを変更するアカウントを選択してアカウント設定の変更 > Kerberos keytabの初期化をクリックします。
    3. Kerberos Keytabの初期化画面が表示されたら、情報を確認して [初期化] ボタンをクリックします。
    注意

    Kerberos Keytabを初期化すると、既存キータブを使用するアプリケーション、バッチジョブはすべて失敗しますので、ご注意ください。

    アカウントパスワードの初期化

    アカウントのパスワードを紛失したかパスワードの変更が必要な場合、パスワードを変更できます。
    アカウントのパスワードを初期化する方法は、次の通りです。

    1. NAVERクラウドプラットフォームコンソールの Services > Big Data & Analytics > Data Forest > Accountsメニューを順にクリックします。
    2. アカウントのパスワードを初期化するアカウントを選択してアカウント設定の変更 > アカウントパスワードの初期化をクリックします。
    3. アカウントパスワードの変更初期化画面が表示されたら、変更する新規パスワードを入力して [変更] ボタンをクリックします。

    アカウント削除

    使用しなくなったアカウントは削除できます。アカウントを削除する方法は、次の通りです。

    1. NAVERクラウドプラットフォームコンソールの Services > Big Data & Analytics > Data Forest > Accountsメニューを順にクリックします。
    2. 削除するアカウントを選択し、[削除] ボタンをクリックします。
    3. アカウントの削除画面に削除するアカウントの名前を入力して [削除] ボタンをクリックします。
    注意
    • アカウントにアプリが存在する場合、そのアカウントは削除できません。アカウントを削除する前に、アプリを先に削除してください。
    • アカウントを削除する場合、そのアカウントの HDFSに保存されたデータとファイルもすべて削除され復旧できなくなりますので、ご注意ください。

    アカウントの認証

    Data Forestでユーザーを認証する方法は2つあります。アカウント名とパスワードを使用する方法と、Kerberosプリンシパルとキータブを使用する方法を説明します。

    アカウント名とパスワードを使用する

    Web UI - SSO

    Data Forestは kr.df.naverncp.com ドメインを使用します。クッキー情報を基にログイン情報を維持するため、同じドメインに限っては別途ログインする必要がありません。koya-nn1.kr.df.naverncp.comにログインしたら rm1.kr.df.naverncp.comにもすぐアクセスできます。HTTPクッキーを基盤に動作する SSOであるため、ドメインが異なる場合には SSOが適用されません。

    Web UIにログインする方法は、次の通りです。

    1. Web SSOをサポートするウェブサーバにアクセスします。
    2. ログイン画面が表示されたら、Username、Password項目に Data Forest作成時に指定したアカウント名とパスワードをそれぞれ入力して [LOGIN] ボタンをクリックします。
      df-auth_01_vpc_ko
    参考

    アカウント名とパスワードが一致しない場合、IDとパスワードの入力を求めるポップアップが表示されます。ポップアップに情報を入力しないで [キャンセル] ボタンをクリックし、以前のログイン UIで再度ログインをお試しください。
    df-auth_02_vpc_ko

    認証過程ではセッションクッキーを使用します。ログインセッションは最大10時間維持されます。そのため、ブラウザを終了させなかった場合は10時間後に再ログインが求められます。ログアウト機能は特にありません。ブラウザを完全に終了させるか、クッキーを削除するとログアウトできます。(kr.df.naverncp.comドメインに対し、hadoop.authhadoop-jwtクッキーを削除)

    Web UIからログアウトする方法は、次の通りです。

    1. Chromeブラウザを基準として、ブラウザで [その他のツール] > [デベロッパーツール] ボタンをクリックします。
      df-auth_04_vpc_ko
    2. [Application] タブで [Storage] > [Cookies] をクリックします。
    3. kr.df.naverncp.comドメインのクッキーをクリックします。
      df-auth_05_vpc_ko
    4. hadoop.auth, hadoop-jwtを右クリックし、[Delete] をクリックします。クッキーが削除されます。
      df-auth_06_vpc_ko

    HTTP API - Basic

    Basic Authenticationを使用する HTTP APIには、-uオプションを使用してusername:passwordを明示します。

    $ curl -s -u example  "https://sso.kr.df.naverncp.com/gateway/koya-auth-basic/webhdfs/v1?op=GETHOMEDIRECTORY" | python -m json.tool
    Enter host password for user 'example':
    {
        "Path": "/user/example"
    }
    

    または、Authorization: Basic $ENCODED_STRINGヘッダを与えると-uオプションなしでも認証できます。ENCODED_STRINGusername:passwordを Base64形式でエンコードした値です。

     curl -s -H "Authorization: Basic ZXhhbXBsZTohQFF3ZXJ0MTI=" "https://sso.kr.df.naverncp.com/gateway/koya-auth-basic/webhdfs/v1?op=GETHOMEDIRECTORY" | python -m json.tool
    {
        "Path": "/user/example"
    }
    

    Kerberos principal とキータブを使用する

    Kerberos principalは Kerberosシステムで固有のアイデンティティを示します。キータブファイルは Kerberos principalに対応する対称キーアルゴリズムで使用する暗号化キーを持つことで、パスワードの役割を果たします。Kerberos認証には使用するホストに追加設定が必要であり、OS別に設定方法が異なります。

    注意

    Kerberosキータブファイルは担当者以外はアクセスできないように管理してください。Kerberosキータブファイルが漏洩した場合、そのファイルを取得した第三者がキータブに明示された Principalの権限を使用できます。Publicサーバや誰もがアクセスできる Privateソースのストレージにキータブファイルをアップロードしないようにご注意ください。

    キータブ認証と内容の確認

    アップロードされたキーはkinitコマンドを使用して認証できます。

    参考

    キーを HDFSにアップロードする方法は、Devアプリを使用する > Kerberosの認証をご参照ください。

    CentOS7

    $ kinit example -kt df.example.keytab
    $ klist -5
    Ticket cache: FILE:/tmp/krb5cc_p46655
    Default principal: example@KR.DF.NAVERNCP.COM
    
    Valid starting       Expires              Service principal
    04/05/2021 18:02:22  04/06/2021 18:02:22  krbtgt/KR.DF.NAVERNCP.COM@KR.DF.NAVERNCP.COM
            renew until 04/12/2021 18:02:22
    

    キータブファイルの内容を確認するにはklistコマンドを使用してください。

    $ klist -kte df.example.keytab
    Keytab name: FILE:df.example.keytab
    KVNO Timestamp           Principal
    ---- ------------------- ------------------------------------------------------
       4 12/28/2020 11:13:57 example@KR.DF.NAVERNCP.COM (aes256-cts-hmac-sha1-96)
       4 12/28/2020 11:13:57 example@KR.DF.NAVERNCP.COM (aes128-cts-hmac-sha1-96)
       4 12/28/2020 11:13:57 example@KR.DF.NAVERNCP.COM (des3-cbc-sha1)
    

    macOS

    $ kinit --keytab=df.example.keytab example
    $ klist -5
    Credentials cache: API:B94B9BE6-0510-4621-B6B9-E48F30488DAC
            Principal: example@KR.DF.NAVERNCP.COM
    
      Issued                Expires               Principal
    Apr  5 18:11:06 2021  Apr  6 18:11:06 2021  krbtgt/KR.DF.NAVERNCP.COM@KR.DF.NAVERNCP.COM
    $ ktutil --keytab=df.example.keytab list
    df.example.keytab:
    
    Vno  Type                     Principal                   Aliases
      4  aes256-cts-hmac-sha1-96  example@KR.DF.NAVERNCP.COM
      4  aes128-cts-hmac-sha1-96  example@KR.DF.NAVERNCP.COM
      4  des3-cbc-sha1            example@KR.DF.NAVERNCP.COM
    

    HTTP API - SPNEGO

    HTTP APIは SPNEGOを使用します。HTTP APIは呼び出しの前に Kerberos認証を先に行います。Kerberos認証後には cURLで簡単に SPNEGOを使用できます。

    注意

    wgetは SPNEGOをサポートしません。

    キータブ認証と内容の確認を参考にして先にkinitを実行し、-u : --negotiateオプションを使用してください。

    $ kinit example -kt df.example.keytab
    $ curl -u : --negotiate "https://sso.kr.df.naverncp.com/gateway/koya-auth-kerb/webhdfs/v1/user/example?op=GETHOMEDIRECTORY" | python -m json.tool
    {
        "Path": "/user/example"
    }
    

    または、Authorization: Negotiate $ENCODED_STRINGヘッダを与えると-uオプションなしでも認証できます。ENCODED_STRINGgssapi-dataを Base64形式でエンコードした値です。

     curl -s -H "Authorization: Negotiate ZXhhbXBsZTohQFF3ZXJ0MTI=" "https://sso.kr.df.naverncp.com/gateway/koya-auth-kerb/webhdfs/v1/user/example?op=GETHOMEDIRECTORY" | python -m json.tool
    {
        "Path": "/user/example"
    }
    
    参考

    cURLは、ビルドのバージョンによっては SPNEGOをサポートしない場合があります。ビルドのバージョンを確認し、Featuresに GSS-NegotiateSPNEGOがあるかどうか確認してください

    $ curl --version
    curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.44 zlib/1.2.7 libidn/1.28 libssh2/1.8.0
    Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
    Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz unix-sockets
    

    HTTP API 認証方法の確認

    エンドポイントだけを見てどのような認証方法を使用するのか分かりにくい場合は、認証情報なしにリクエストを呼び出すことができます。WWW-Authenticateヘッダ値に応じて認証方法を確認できます。

    WWW-Authenticate認証方法
    BasicBasic Auth
    NegotiateSPENGO

    Basic Auth

    $ curl -i "https://sso.kr.df.naverncp.com/gateway/koya-auth-basic/webhdfs/v1?op=GETHOMEDIRECTORY"
    HTTP/1.1 401 Unauthorized
    Date: Mon, 05 Apr 2021 09:39:53 GMT
    Server: Jetty(9.4.12.v20180830)
    WWW-Authenticate: BASIC realm="application"
    Content-Length: 0
    Set-Cookie: ROUTEID=.1; path=/
    

    SPENGO

    $ curl -i "https://sso.kr.df.naverncp.com/gateway/koya-auth-kerb/webhdfs/v1/user/example?op=GETFILESTATUS"
    HTTP/1.1 401 Authentication required
    Date: Mon, 05 Apr 2021 09:39:04 GMT
    Server: Jetty(9.4.12.v20180830)
    WWW-Authenticate: Negotiate
    Cache-Control: must-revalidate,no-cache,no-store
    Content-Type: text/html;charset=iso-8859-1
    Content-Length: 391
    Set-Cookie: hadoop.auth=; Path=gateway/koya-auth-kerb; Domain=sso.kr.df.naverncp.com; Secure; HttpOnly
    Set-Cookie: ROUTEID=.2; path=/
    

    この記事は役に立ちましたか?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.