首页 > 其他 > 详细

Amazon Elasticsearch Service入门-使用Amazon Cognito进行Kibana访问控制

时间:2020-06-26 09:10:46      阅读:88      评论:0      收藏:0      [点我收藏+]

用户需求

  • ES & Kibana安全规范

1.设置Cognito

2.创建Amazon ES

3.在Cognito用户池中创建用户和用户组

4.修改ES访问策略

  • 注意替换aws信息
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:sts::账号iD:assumed-role/Cognito_用户池Auth_Role/CognitoIdentityCredentials"
      },
      "Action": "es:ESHttp*",
      "Resource": "arn:aws:es:us-east-1:账号iD:domain/es名称/*"
    }
  ]
}

5.es访问策略及角色配置

  • 默认用户池中的用户对于配置了此用户池的es域都有访问权
  • 需要针对于ES给指定用户授权,其他未授权用户无法访问
  • 权限控制需要使用用户组和IAM角色配置完成
  • 创建es访问策略
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "es:esHttp*"
      ],
      "Resource": "arn:aws:es:region:账号ID:domain/es名称/*"
    }
  ]
}
  • 创建访问es角色
    • 因为es服务未在角色列表中,所以选择EC2服务作为占位服务
    • 选择刚才创建的es访问策略
    • 编辑信任关系---将原有内容替换以下内容
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "cognito-identity.amazonaws.com"
      },
      "Action": "sts:AssumeRoleWithWebIdentity"
    }
  ] 
}

6.es访问权限颗粒度配置

  • 编辑Cognito用户池中的用户组

    • 选择刚才创建的es角色
    • 将希望访问该es域的用户添加此用户组中
    • 其他未在此用户组的用户无法访问该es域
  • 修改Cognito身份池认证配置

    • 身份池控制面板
    • 编辑身份池
    • 编辑身份验证提供商
    • 找到对应的es域对应的用户池ID和应用程序客户端ID
    • 选择的经过身份验证的角色
      • 使用令牌选择角色
        • 角色解析-拒绝

参考链接

Amazon Elasticsearch Service入门-使用Amazon Cognito进行Kibana访问控制

原文:https://www.cnblogs.com/zhanmeiliang/p/13193567.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!