我正在使用AWS Lambda将数据插入Amazon Elasticsearch Service。
要与Elasticsearch实例建立连接,我正在使用boto3.session.get_credentials()
。我想了解如何将其用作安全性度量? Elasticsearch实例不应该具有密码或固定的access_key或其他内容吗?
credentials = boto3.Session().get_credentials()
awsauth = AWS4Auth(credentials.access_key, credentials.secret_key, region, service, session_token=credentials.token)
es = Elasticsearch(
host=host,
port=portOfElasticsearch,
connection_class=RequestsHttpConnection,
http_auth=awsauth
)
答案 0 :(得分:1)
AWS Elasticsearch解决方案具有一些自定义功能,允许通过IAM进行身份验证。
这意味着您将使用允许您在Elasticsearch上进行连接的某些IAM策略来验证连接。
这就是为什么要这样做:http_auth=awsauth
此代码:boto3.session.get_credentials()
获取与您的Lambda关联的当前凭据。
您没有提及,但可能您与Lamda相关联。该角色有权连接Elasticsearch。