まずはクラスメソッドの資料を読み、User PoolやIdentitiy Poolを作成しておく
- Curatorとかで自動処理したい
- Officeからは認証を必須にしたい
ElasticSearchのAccess PolicyでAction EsHttp*
をSourceIp
で制限する
認証済みユーザ用の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 |