node.js - lambda 函数中的 kerberos 身份验证

标签 node.js amazon-web-services aws-lambda

我现在有一个 aws lambda 函数 (nodejs),可以将一些数据写入测试 kafka 集群。生产中的那个使用 kerberos 进行身份验证,所以我想知道是否有办法设置我的 lambda 函数以使用 kerberos 进行身份验证。我在网上找不到很多关于这个的信息......

最佳答案

有两种处理方法。

调出 CLI 实用程序

这需要您在部署包中或通过层提供 krb5-workstation 及其依赖项 libkadm5 的内容。

  1. Lambda execution environment's AMI 启动一个 EC2 实例
  2. 更新所有包:sudo yum update
  3. 安装 MIT Kerberos 实用程序:sudo yum install krb5-workstation
  4. 制作Layer skeleton : mkdir bin lib
  5. 填充二进制文件:rpm -ql krb5-workstation | grep bin | xargs -I %% cp -a %% bin
  6. 填充他们的库:rpm -ql libkadm5 | xargs -I %% cp -a %% lib
  7. 准备图层:zip -r9 krb5-workstation-layer.zip bin lib
  8. 创建图层并从您的 Lambda 函数中引用它。
  9. 从您的函数内部调用(例如)/opt/bin/kinit

原生

事实证明,如果您的代码调用 gss_acquire_cred ,大多数代码通常通过绑定(bind)和抽象层来完成,您不需要 CLI 实用程序。

  1. 为您的函数提供客户端 key 表文件,方法是将其与部署包捆绑在一起,或者(可能更好)从 S3 + KMS 获取它。
  2. 设置KRB5_CLIENT_KTNAME环境变量到 keytab 文件的位置。

请求的附录

无论哪种情况,如果您发现需要指定额外的 Kerberos 配置,请参阅 krb5.conf文档了解详情。如果 /etc 不在表中,则“可以在 [the] KRB5_CONFIG [环境变量] 中指定多个以冒号分隔的文件名;将读取所有存在的文件。”

关于node.js - lambda 函数中的 kerberos 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42093119/

相关文章:

javascript - Node 未处理的 Promise 问题

java - AWS Lambda 性能问题

amazon-web-services - SSL 证书错误 : [SSL: CERTIFICATE_VERIFY_FAILED] when using aws client in windows 10

amazon-web-services - 事件驱动的 Lambda 消息的分类?

python - 使用 Python 解析包含来自 AWS Lambda 的图像的 Base64 编码数据

javascript - 如何让 Protractor 等待 webpack-dev-server 启动?

javascript - 使用 Azure Function 响应 Node.JS 中的 JSON 对象

node.js - 静态模式方法: Cannot read property 'myFindOrCreate' of undefined

amazon-web-services - 如何为ecs任务添加预热时间?

java - AWS lambda java : How to set the class path while compiling on the fly