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ロールでのアクセスが提供されている

connvoi's Picture

About connvoi

肉とビールと料理と写真とゲーム たまに技術 python / Solr / PHP / ansible

Jp, Tokyo https://connvoi.com