1人 もくもく Cloud勉強会 #2
Public Cloudのことをもくもくしていく。#2
AWSのアクセス制御のめも
RDS
- AWSアカウントアクセス
- IAMロール
- サーバ間のアクセス制御はセキュリティグループ
が使える。またIAMポリシーを設定することで、テーブルへの細かい権限も設定することが可能。
Readshift
- Redshiftのクラスターに対してセキュリティグループがあり、そこにIAMポリシーを割り当てる。(IAMを使うところは他と一緒だけど、クラスターに対してセキュリティーグループを割り当てるところが微妙に違う。)
S3
- バケットへのアクセス: バケットポリシー、IAM認証、著名付きのURL
- 更新や削除などのアクセス: AWSルートアカウント、IAM
また、特定のVPCのみからアクセスできるようにする。VPC Endpointがある(重要)
lambda
- lamdataから他のリソースにアクセスする場合はIAMロールを利用する
- AWSイベント(S3のイベント),SNSの受信,API gatewayなどからlambdaはキックされる(1台のVPCからアクセスも可能)
VPCエンドポイント
特定のVPCからのみしか接続できないようにすること。IAMポリシーで設定することができる。
設定できるサービス
- DynamoDB
- S3
#特定のVPCからのみS3バケットへのアクセスを許可するポリシーの例
{
"Version": "2012-10-17",
"Id": "Policy1415115909152",
"Statement": [
{
"Sid": "Access-to-specific-VPCE-only",
"Principal": "*",
"Action": "s3:*",
"Effect": "Deny",
"Resource": ["arn:aws:s3:::my_secure_bucket",
"arn:aws:s3:::my_secure_bucket/*"],
"Condition": {
"StringNotEquals": {
"aws:sourceVpce": "vpce-1a2b3c4d"
}
}
}
]
}
ベストプラクティス
基本的にはAWSルートアカウントではIAMのユーザーを作るだけして、権限を与えられたIAMユーザーで操作をしていくのがいいらしい。
S3, DynamoDBではVPCエンドポイント。redshiftはクラスターに対ししてセキュリティポリシーを当てる。その他は基本的にAWSルートアカウント、IAMロールでのアクセスが提供されている