aws-kafka 认证

本地kafak集群需要读取aws-kafka的topic数据,可以参考aws官网指引,完成数据接入。

下面摘取官网说明:
可以使用登录凭证来控制对 Amazon MSK 集群的访问权限,这些凭证使用存储和保护 AWS Secrets Manager。将用户凭证存储在 Secrets Manager 中可以减少集群身份验证的开销,例如审计、更新和轮换凭证。Secrets Manager 还能够跨集群共享用户凭证。

工作方式

Amazon 的登录凭证身份验证MSK使用SASL/SCRAM(简单身份验证和安全层/Salted Challenge 响应机制)身份验证。要为群集设置登录凭据身份验证,请在中创建一个 Secret 资源 并将登录凭据与该密钥相关联。
SCRAM使用安全的哈希算法,并且不在客户端和服务器之间传输纯文本登录凭证。

当您为集群设置SASL/SCRAM身份验证时,Amazon MSK 会为客户端和代理之间的所有流量启用TLS加密。

为 Amazon MSK 集群设置SASL/SCRAM身份验证

在为 Amazon MSK 集群创建密钥时,请注意以下要求:
(1)为密钥类型选择其他类型的密API钥(例如密钥)。
(2)机密名称必须以前缀 Amazon MSK _ 开头。
(3)必须使用现有的自定义设置 AWS KMS 键入或创建新的自定义 AWS KMS 你的秘密的密钥。Secrets Manager 使用默认值 AWS KMS 默认情况下,密钥是密钥。
使用默认值创建的密钥 AWS KMS 密钥不能用于 Amazon MSK 集群。
(4)您的登录凭证数据必须采用以下格式,才能使用明文选项输入键值对。

{
  "username": "alice",
  "password": "alice-secret"
}

(5)记录您的密钥的ARN(Amazon 资源名称)值。
不能将 Secrets Manager 密钥与超出 调整集群的大小:每个代理的分区数量 中所述限制的集群关联。
(6)如果您将 AWS CLI 要创建密钥,请ARN为kms-key-id参数指定密钥 ID 或。不要指定别名。
(7)要将密钥与您的集群关联,请使用 Amazon MSK 控制台或 BatchAssociateScramSecret操作。

以下BatchAssociateScramSecret操作的示例JSON输入将密钥与集群相关联:
{
  "clusterArn" : "arn:aws:kafka:us-west-2:0123456789019:cluster/SalesCluster/abcd1234-abcd-cafe-abab-9876543210ab-4",          
  "secretArnList": [
    "arn:aws:secretsmanager:us-west-2:0123456789019:secret:AmazonMSK_MyClusterSecret"
  ]
}

使用登录凭证连接到集群

在创建密钥并将其与集群关联后,您便可以将客户端连接到集群。以下示例步骤演示如何将客户端连接到使用SASL/SCRAM身份验证的集群,以及如何使用示例主题。

1.在装有... 的计算机上运行以下命令 AWS CLI已安装,正在更换 clusterARN 与您的ARN集群的。

aws kafka get-bootstrap-brokers --cluster-arn clusterARN

2.要创建示例主题,请运行以下命令,替换 BootstrapServerString 使用您在上一步中获得的代理端点之一。

<path-to-your-kafka-installation>/bin/kafka-topics.sh --create --bootstrap-server BootstrapServerString --replication-factor 3 --partitions 1 --topic ExampleTopicName

3.在您的客户端计算机上,创建一个包含存储在您的密钥中的用户凭据的JAAS配置文件。例如,对于用户 alice,使用以下内容创建一个名为 users_jaas.conf 的文件。

KafkaClient {
   org.apache.kafka.common.security.scram.ScramLoginModule required
   username="alice"
   password="alice-secret";
};

4.使用以下命令将您的JAAS配置文件导出为KAFKA_OPTS环境参数。

export KAFKA_OPTS=-Djava.security.auth.login.config=<path-to-jaas-file>/users_jaas.conf

5.在 ./tmp 目录中创建一个名为 kafka.client.truststore.jks 的文件。
6.使用以下命令将JDK密钥库文件从您的JVMcacerts文件夹复制到您在上一步中创建kafka.client.truststore.jks的文件中。Replace(替换) JDKFolder 使用您的实例上JDK文件夹的名称。例如,您的JDK文件夹可能被命名为java-1.8.0-openjdk-1.8.0.201.b09-0.amzn2.x86_64。

cp /usr/lib/jvm/JDKFolder/jre/lib/security/cacerts /tmp/kafka.client.truststore.jks

7.在 Apache Kafka 安装的 bin 目录中,创建一个名为 client_sasl.properties 的客户端属性文件,其中包含以下内容。此文件定义了SASL机制和协议。

#JKS文件很重要
security.protocol=SASL_SSL
sasl.mechanism=SCRAM-SHA-512
ssl.truststore.location=<path-to-keystore-file>/kafka.client.truststore.jks

8.使用以下命令检索引导代理字符串。Replace(替换) ClusterArn 使用您的集群的 Amazon 资源名称 (ARN):

aws kafka get-bootstrap-brokers --cluster-arn ClusterArn

根据命令的JSON结果,保存与名为的字符串关联的值BootstrapBrokerStringSaslScram。

9.要生成您创建的示例主题,请在客户端计算机上运行以下命令。Replace(替换) BootstrapBrokerStringSaslScram 使用您在上一步中检索到的值。

<path-to-your-kafka-installation>/bin/kafka-console-producer.sh --broker-list BootstrapBrokerStringSaslScram --topic ExampleTopicName --producer.config client_sasl.properties

10.要使用您创建的主题,在您的客户端计算机上运行以下命令。Replace(替换) BootstrapBrokerStringSaslScram 使用你之前获得的价值。

<path-to-your-kafka-installation>/bin/kafka-console-consumer.sh --bootstrap-server BootstrapBrokerStringSaslScram --topic ExampleTopicName --from-beginning --consumer.config client_sasl.properties

使用用户

创建用户:您在密钥中以键值对的形式创建用户。在 Secrets Manager 控制台中使用明文选项时,应按以下格式指定登录凭证数据。

{
  "username": "alice",
  "password": "alice-secret"
}

撤消用户访问权限:要撤消用户访问集群的证书,建议先在集群ACL上删除或强制执行,然后取消关联该密钥。这是因为:
移除用户并不能关闭现有连接。
对密钥的更改最多需要 10 分钟才能传播。

JKS文件

jks是一种数字证书和密钥管理文件。

jks文件是Java KeyStore文件的扩展名,主要用于存储私钥和公钥证书。它通常用于保护应用程序的安全连接,特别是在客户端与服务器之间进行安全通信时。这些文件有助于验证服务器身份,确保安全的数据传输。
此外,jks文件还可以用于存储其他类型的密钥和证书信息,如身份验证和授权相关的数据。

一个jks文件包含了一个或多个密钥条目。每个条目都与特定的别名相关联,并通过加密方式保护其安全。文件内还包含关于如何解密和保护这些密钥的元信息。
通过这种方式,只有具备正确权限和知识的用户才能访问和管理这些密钥和证书。这有助于维护数字安全和保密性。这种文件的最大特点是其强大的加密功能,确保数据的安全性和完整性。

在实际应用中,jks文件通常用于Web服务器、客户端应用程序和其他需要加密保护的系统中。这些系统依赖于jks文件来验证和管理用户身份、加密数据以及在分布式系统中处理各种安全操作。
在企业环境中,特别是在采用公钥基础设施的大型系统中,jks文件的运用十分常见且关键。它们是信息安全和数据保密的关键组成部分。开发人员和管理员通过正确生成、存储和使用这些文件,来确保网络的安全运行。
随着信息技术的不断进步和网络安全需求的增加,jks文件的应用前景将越来越广泛。同时还需要定期进行安全性评估和备份以确保数据安全性和可用性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,324评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,356评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,328评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,147评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,160评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,115评论 1 296
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,025评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,867评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,307评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,528评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,688评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,409评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,001评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,657评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,811评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,685评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,573评论 2 353

推荐阅读更多精彩内容