自慰套教室~女子全员妊娠,精品无码国产自产拍在线观看蜜桃,亚洲国产精品成人精品无码区,久别的草原在线看视频免费

集團站切換校區

驗證碼已發送,請查收短信

復制成功
微信號:togogoi
添加微信好友, 詳細了解課程
已復制成功,如果自動跳轉微信失敗,請前往微信添加好友
打開微信
圖標

業界新聞

當前位置:首頁 > >業界新聞 > >

大數據培訓_安全認證原理和認證機制

發布時間: 2019-05-25 11:05:35

  大數據培訓_安全認證原理和認證機制

  功能
  Kerberos這一名詞來源于希臘神話“三個頭的狗——地獄之門守護者”,后來沿用作為安全認證的概念,使用Kerberos的系統在設計上采用“客戶端/服務器”結構與AES等加密技術,并且能夠進行相互認證(即客戶端和服務器端均可對對方進行身份認證)??梢杂糜诜乐垢`聽、防止replay攻擊、保護數據完整性等場合,是一種應用對稱密鑰體制進行密鑰管理的系統。
  結構
  Kerberos的原理架構如圖1所示,各模塊的說明如表1所示。

  原理架構

?


  步驟原理說明:
  應用客戶端(Application Client)可以是集群內某個服務,也可以是客戶二次開發的一個應用程序,應用程序可以向應用服務提交任務或者作業。
  應用程序在提交任務或者作業前,需要向Kerberos服務申請TGT(Ticket-Granting Ticket),用于建立和Kerberos服務器的安全會話。
  Kerberos服務在收到TGT請求后,會解析其中的參數來生成對應的TGT,使用客戶端指定的用戶名的密鑰進行加密響應消息。
  應用客戶端收到TGT響應消息后,解析獲取TGT,此時,再由應用客戶端(通常是rpc底層)向Kerberos服務獲取應用服務端的ST(Server Ticket)。
  Kerberos服務在收到ST請求后,校驗其中的TGT合法后,生成對應的應用服務的ST,再使用應用服務密鑰將響應消息進行加密處理。
  應用客戶端收到ST響應消息后,將ST打包到發給應用服務的消息里面傳輸給對應的應用服務端(Application Server)。
  應用服務端收到請求后,使用本端應用服務對應的密鑰解析其中的ST,并校驗成功后,本次請求合法通過。
  基本概念
  以下為常見的基本概念,可以幫助用戶減少在學習Kerberos框架所花費的時間,有助于更好的理解Kerberos業務。以HDFS安全認證為例:
  TGT
  票據授權票據(Ticket-Granting Ticket),由Kerberos服務生成,提供給應用程序與Kerberos服務器建立認證安全會話,該票據的默認有效期為24小時,24小時后該票據自動過期。
  TGT申請方式:

  通過HDFS提供的接口獲?。ň唧w接口信息可以參考HDFS二次開發指南)。

private Boolean login(Configuration conf){

   boolean flag = false;

   UserGroupInformation.setConfiguration(conf);

     try {

        UserGroupInformation.loginUserFromKeytab(conf.get(PRINCIPAL),conf.get(KEYTAB));

        System.out.println("UserGroupInformation.isLoginKeytabBased():" +UserGroupInformation.isLoginKeytabBased());

   flag = true;

         } catch (IOException e) {

   e.printStackTrace();

         }

   return flag;

         }


  通過客戶端shell命令以kinit方式獲取,具體使用方式可參考Shell操作維護命令說明書。
  ST
  服務票據(Server Ticket),由Kerberos服務生成,提供給應用程序與應用服務建立安全會話,該票據一次性有效。
  ST的生成在FusionInsight產品中,基于hadoop-rpc通信,由rpc底層自動向Kerberos服務端提交請求,由Kerberos服務端生成。

  認證代碼實例講解?

private  void init() throws IOException {  

 

        Configuration conf = new Configuration();  

        // conf file  

        conf.addResource(new Path(System.getProperty("user.dir")  

                + File.separator + "conf" + File.separator + "hdfs-site.xml"));  

        conf.addResource(new Path(System.getProperty("user.dir")  

                + File.separator + "conf" + File.separator + "core-site.xml"));  

        // security mode  

        if ("kerberos".equalsIgnoreCase(conf  

                .get("hadoop.security.authentication"))) {  

 

            // [1]  

            conf.set(PRINCIPAL, "hdfstest@HADOOP.COM");  

            // keytab file  

            conf.set(KEYTAB, System.getProperty("user.dir") + File.separator  

                    + "conf" + File.separator + "user.keytab");  

            // kerberos path  

            String krbfilepath = System.getProperty("user.dir")  

                    + File.separator + "conf" + File.separator + "krb5.conf";  

            System.setProperty("java.security.krb5.conf", krbfilepath);  

            login(conf); //[2]

        }  

        // get filesystem  

        try {  

            fSystem = FileSystem.get(conf); //[3]

        } catch (IOException e) {  

            throw new IOException("Get fileSystem failed.");  

        }  

    }

private Boolean login(Configuration conf){  

    boolean flag = false;  

    UserGroupInformation.setConfiguration(conf);  

 

    try {  

      UserGroupInformation.loginUserFromKeytab(conf.get(PRINCIPAL), conf.get(KEYTAB));  

      System.out.println("UserGroupInformation.isLoginKeytabBased(): " +UserGroupInformation.isLoginKeytabBased());  

      flag = true;  

    } catch (IOException e) {  

      e.printStackTrace();  

    }  

    return flag;  

  }

 

上一篇: 大數據培訓_hadoop YARN的資源管理之靜態資源

下一篇: 大數據培訓_Flink業界認可度高的開源流處理引擎

在線咨詢 ×

您好,請問有什么可以幫您?我們將竭誠提供最優質服務!

<蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>