Skip to content

Instantly share code, notes, and snippets.

@limitusus
Last active April 5, 2018 07:53
Show Gist options
  • Save limitusus/d48ad9d3ca14491f94cb305c436d80ce to your computer and use it in GitHub Desktop.
Save limitusus/d48ad9d3ca14491f94cb305c436d80ce to your computer and use it in GitHub Desktop.
KibanaをCognitoでユーザ認証する appendix

KibanaをCognitoでユーザ認証する appendix

まずはクラスメソッドの資料を読み、User PoolやIdentitiy Poolを作成しておく

各種要望に応える

サーバからのみ認証なしで使えるようにしたい

  • Curatorとかで自動処理したい
  • Officeからは認証を必須にしたい

ElasticSearchのAccess PolicyでAction EsHttp*SourceIpで制限する

認証でのログインもOfficeからのみに制限する

認証済みユーザ用のRoleのpolicyでSourceIpで制限する

設定上の注意

認証済みユーザ用のTrusted IdentityではCognitoのIdentity Poolを指定する

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "cognito-identity.amazonaws.com"
      },
      "Action": "sts:AssumeRoleWithWebIdentity",
      "Condition": {
        "StringEquals": {
          "cognito-identity.amazonaws.com:aud": "ap-northeast-1:81238e5b-f3d4-46e5-8d86-a1b036e345ea"
        },
        "ForAnyValue:StringLike": {
          "cognito-identity.amazonaws.com:amr": "authenticated"
        }
      }
    }
  ]
}

結果

Access 結果 メモ
Officeからのcurl NG
Officeからのブラウザ OK Cognito認証を通過する
Office以外からのブラウザ NG Cognitoでの認証画面は出るが通らない
Serverからのcurl OK
Public curl NG
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment