
# 创建Kafka_SSL类型跨源认证
#### 操作场景
通过在DLI控制台创建的Kafka_SSL类型的跨源认证，将Kafka的认证信息存储到DLI，无需在SQL作业中配置账号密码，安全访问Kafka实例。
![](https://support.huaweicloud.com/usermanual-dli/public_sys-resources/note_3.0-zh-cn.png)
- MRS Kafka开启Kerberos认证，未开启SSL认证时，创建Kerberos类型的认证。建表时通过krb_auth_name关联跨源认证。
- MRS Kafka开启Kerberos认证，同时开启了SSL认证时，需要同时创建Kerberos和Kafka_SSL类型的认证。建表时分别通过krb_auth_name和ssl_auth_name关联跨源认证。
- MRS Kafka未开启Kerberos认证，仅开启了SASL认证时（例如使用账号密码认证PlainLoginModule场景），无需使用跨源认证。
- MRS Kafka未开启Kerberos认证，仅开启了SSL认证时，创建Kafka_SSL类型的认证。建表时通过ssl_auth_name关联跨源认证。
- MRS Kafka未开启Kerberos认证，开启了SASL认证和SSL认证时，创建Kafka_SSL类型的认证。建表时通过ssl_auth_name关联跨源认证。
 
#### Kafka_SSL类型跨源认证支持连接的数据源
Kafka_SSL类型跨源认证支持连接的数据源如[表1]所示。
 表1Kafka_SSL类型跨源认证支持连接的数据源 
| 作业类型                 | 表类型    | 数据源   | 约束与限制                                                                                                                   |
|:---|:---|:---|:---|
| Flink OpenSource SQL | 源表、结果表 | Kafka | DMS Kafka开启SASL_SSL认证。 MRS Kafka开启SASL认证。 MRS Kafka开启SSL认证。 |
   
#### 操作步骤
1. 下载认证凭证。
   - **DMS Kafka**
     1. 登录DMS Kafka控制台，单击实例名称进入详情页面。
     
     2. 在连接信息中，找到SSL证书，单击"下载"。 解压下载的kafka-certs压缩包，获取client.jks和phy_ca.crt文件。
        
      
   
   - **MRS** **Kafka**
     1. 登录MRS Manager界面。
     
     2. 选择"系统 \> 权限 \> 用户"。
     
     3. 单击"更多 \> 下载认证凭据"，保存后解压得到Truststore文件。
      
    
2. 上传认证凭证到OBS桶。 关于如何创建OBS桶并上传数据，请参考《[对象存储服务快速入门](https://support.huaweicloud.com/qs-obs/obs_qs_0001.html)》。
   
3. 创建跨源认证。
   1. 登录DLI管理控制台。
   
   2. 选择"跨源管理 \> 跨源认证"。
   
   3. 单击"创建"。 填写Kafka认证信息，详细参数说明请参考[表2]。
       表2参数说明 
      | 参数           | 参数说明                                                                                                                                                                                                                                                                                        |
      |:---|:---|
      | 类型           | 选择Kafka_SSL。                                                                                                                                                                                                                                                                                |
      | 认证信息名称       | 所创建的跨源认证信息名称。 - 名称只能包含数字、英文字母和下划线，但不能是纯数字，且不能以下划线开头。  - 输入长度不能超过128个字符。                                    |
      | Truststore路径 | 上传SSL Truststore文件的OBS路径。 - MRS Kafka请填写Truststore.jks文件的OBS路径。  - DMS Kafka请填写client.jks文件的OBS路径。   |
      | Truststore密码 | truststore密码。                                                                                                                                                                                                                                                                               |
      | Keystore路径   | 上传SSL KEYSTORE(密钥和证书)文件的OBS路径。                                                                                                                                                                                                                                                              |
      | Keystore密码   | keystore(密钥和证书)密码。                                                                                                                                                                                                                                                                          |
      | Key密码        | keystore中的私钥密码。                                                                                                                                                                                                                                                                             |
         
      图1创建认证信息-Kafka_SSL   
      ![](https://support.huaweicloud.com/usermanual-dli/zh-cn_image_0000001570184690.png "点击放大") 
    
4. 访问开启SASL_SSL认证的Kafka。 跨源认证创建成功后，在创建访问数据源时只需关联跨源认证即可安全访问数据源。
   建表时关联跨源认证的字段请参考[表3]。
   
    表3建表时与Kafka_SSL类型跨源认证关联的字段 
   | 参数            | 是否必选 | 数据类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   |:---|:---|:---|:---|
   | ssl_auth_name | 否    | String | 创建源表、结果表、维表时均使用该字段关联跨源认证。 创建的Kafka_SSL类型的跨源认证名称。Kafka配置SSL时使用该配置。 - 如果仅使用SSL类型，则需要同时配置以下参数： 'properties.security.protocol '= 'SSL';   - 如果使用SASL_SSL类型，则需要同时配置以下参数： - 'properties.security.protocol' = 'SASL_SSL'、  - 'properties.sasl.mechanism' = 'GSSAPI或者PLAIN'、  - 'properties.sasl.jaas.config' = 'org.apache.kafka.common.security.plain.PlainLoginModule required username=\\"xxx\\" password=\\"xxx\\";'     |
      
   具体的建表操作指导请参考DLI 语法参考。
   - Flink OpenSource SQL语法参考：[创建Kafka源表](https://support.huaweicloud.com/sqlref-flink-dli/dli_08_0386.html)
    
 
