文档

密钥管理

更新时间:

配置密钥可以避免明文AccessKey、密码等信息带来的安全风险,支持在SQL作业、查询脚本、日志配置和创建Catalog中使用。本文为您介绍如何配置密钥以及其使用方法。

前提条件

请确认您的账号为目标项目空间中具有editor或owner权限的成员。授权操作详情请参见项目空间授权

使用限制

  • 仅支持新增和删除密钥,不支持修改和查看密钥值。

  • 不支持一个密钥名称配置多个密钥值。

  • 仅支持在创建临时表(即CREATE TEMPORARY TABLE)时的WITH参数中调用密钥,如果在持久表(即CREATE TABLE)的WITH参数中调用密钥,则这张表会无法正常使用。

注意事项

请谨慎删除已创建的密钥,可能会导致开发中的SQL作业无法部署,或需要重新部署已上线的作业。但不影响已经上线作业的运行。

新增密钥

  1. 登录实时计算控制台,在Flink全托管页签,单击目标工作空间操作列下的控制台

  2. 安全中心页面,单击密钥托管页签。

  3. 单击新增密钥,填写密钥名称密钥值。

    重要

    密钥值的字母大小写敏感,请注意密钥值的字母大小写。

  4. 单击确定

调用密钥

新增密钥后,您可以在SQL作业的DDL、日志配置(包含配置管理中的日志和作业部署详情的日志)和UI界面(创建Catalog)中调用已配置的密钥。

SQL作业

  1. 单击开发控制台左侧导航栏的SQL开发

  2. 在目标作业的SQL编辑器中调用。

    调用密钥的整体格式为${secret_values.密钥名},调用时您仅需将其中的密钥名进行修改,其他部分保留不变,具体示例如下。

    CREATE TEMPORARY table datahub_source(
      name VARCHAR
    ) WITH (
      'connector' = 'datagen'
    );
    
    CREATE TEMPORARY table datahub_sink(
      name  VARCHAR  
    ) WITH (
      'connector'='datahub',
      'endpoint'='<yourEndpoint>',
      'project'='<yourProject>',
      'topic'='<yourTopic>',
      'accessId'='<yourAccessId>',
      'accessKey'='${secret_values.test_ak}'   --此处调用名称为test_ak的密钥,请不要删除secret_values前缀。
    );
    
    INSERT INTO datahub_sink
    SELECT 
      LOWER(name)
    from datahub_source;

日志配置

  1. 进入日志配置页面。

  2. 在日志配置中调用密钥。

    与在SQL中使用方式相同。例如,在配置作业日志输出到SLS时调用AccessKey密钥示例如下,完整日志输出配置信息具体请参见配置作业日志输出

    <Appender name="SLS" type="SLS">
      <Layout pattern="%d{yyyy-MM-dd HH:mm:ss,SSS}{GMT+8} %-5p %-60c %x - %m%n" type="PatternLayout" charset="UTF-8"/>  
    
      <!-- The final effective log path is: ${baseUri}/logs/${namespace}/${deploymentId}/{jobId}/ -->
      <Property name="namespace">{{ namespace }}</Property> <!-- Do not modify this line -->
      <Property name="project">YOUR-SLS-PROJECT</Property>  
      <Property name="logStore">YOUR-SLS-LOGSTORE</Property> 
      <Property name="endpoint">YOUR-SLS-ENDPOINT</Property> 
      <Property name="accessKeyId">${secret_values.accessKeyId}</Property> 
      <Property name="accessKeySecret">${secret_values.accessKeySecret}</Property> 
      <Property name="topic">{{ namespace }}:{{ deploymentId }}:{{ jobId }}</Property>
      <Property name="deploymentName">{{ deploymentName }}</Property>
      <Property name="flushIntervalSeconds">10</Property>
      <Property name="flushIntervalEventCount">100</Property>
    </Appender>

UI界面

在通过UI界面方式创建Catalog时,您可以在配置项中调用密钥。

  1. 在Flink开发控制台左侧导航栏,单击元数据管理

  2. 在创建Catalog页面调用密钥。例如在MySQL Catalog中调用密钥配置示例如下。

    image.png

相关文档

  • 本页导读 (1)
文档反馈