SlideShare une entreprise Scribd logo
1  sur  34
DeNA の AWS アカウント管理と
セキュリティ監査自動化
髙橋 祐真
システム本部 IT 基盤部第一グループ
株式会社ディー・エヌ・エー
髙橋 祐真 (Yuma Takahashi)
• 所属
• システム本部 IT 基盤部第一グループ グループリーダー
• 経歴
• 2013 年 4 月 大学院修士課程修了後 DeNA 新卒入社
• 2013 年 ~ 国内向けゲームプラットフォームの運用を担当
• 2014 年 ~ エンタメ系サービスの運用を担当
• 2015 年 ~ ヘルスケア系サービスの運用を担当
• 2018 年 ~ グループリーダー (現職)
• エンタメ、ヘルスケア、ライブ配信、スポーツ、AI サービスのインフラを担当
• クラウド移行におけるセキュリティ環境整備のチームのリーダーも兼任
2
目次
3
背景
DeNA のインフラの概況とセキュリティ環境整備の必要性
課題を解決する施策
AWS アカウント管理とセキュリティ監査自動化
まとめ
まとめと今後の展望
1
3
2
背景
DeNA のインフラの概況とセキュリティ環境整備の必要性
4
DeNA のインフラの概況
• オンプレからクラウドへ
• メインのシステム基盤はオンプレ
• 2013 年 ~ クラウド利用開始、以降適材適所でクラウドを利用
• 2015 年 ~ クラウド利用急増
• 2018 年 6 月にクラウドへの全面移行を決定
• 移行プロジェクトスケジュール
• 2018 年 ~ 移行の準備期間
• クラウドに最適化したシステム基盤の設計・実装
• クラウド利用時の本格的なセキュリティ環境整備
• 2019 年 ~ 本格移行期間
• 2020 年 ~ 完全移行、仕上げ期間
5
DeNA のインフラの組織構成
6
AI
ゲーム エンター
テインメント
eコマース ソーシャルLIVE
スポーツオート
モーティブ
ヘルスケア
インフラ部門 & 監査実施部門
インフラ部門 ... 上記サービスのインフラ運用だけでなく各種契約まわりも管理
AWS 利用のセキュリティ環境整備の必要性
• DeNA の抱える課題
• 多数の AWS アカウントを多数のラインで様々な用途で利用しているため管理が難しい
• 利用者によってセキュリティレベルに差異がでてしまう
• セキュリティ監査の工数が膨大にかかる
7
課題を解決する施策
AWS アカウント管理とセキュリティ監査自動化
8
課題を解決する施策
• 課題と施策
• 多数のAWSアカウントを多数のラインで様々な用途で利用しているため管理が難しい
• AWS アカウント管理
• root ユーザー管理
• IAM ユーザー管理
• 利用者によってセキュリティレベルに差異がでてしまう
• AWS セキュリティ標準の策定
• セキュリティ監査の工数が膨大にかかる
• AWS セキュリティ監査自動化
9
AWS アカウント管理
• 課題
• 多数のAWSアカウントを多数のラインで様々な用途で利用しているため管理が難しい
• AWS アカウント数は約 250 個
• 月に 10 個のペースで増加
• 利用部門数は約 60
• 対策
• AWS アカウントの一元管理と開発自由度の両立
• インフラ部門が全社横断の管理部門として一括で集中管理している
• 各サービス担当から 1 人ずつ集めたパブリッククラウド管理チーム
• 基本的に全ての設定や操作は利用者サイドでできるようにしている
• あくまで管理は「薄く」、最低限守るべきラインを担保するのみに留めている
• AWS Organizations を利用したマルチアカウント管理
• AWS アカウントの情報を管理するシステムを作成
• AWSアカウントの作成粒度や命名規則のガイドラインを作成
• AWS アカウント作成時の初期設定や設定変更方法の整備
10
AWS Organizations を利用したマルチアカウント管理
• アカウントの作成を AWS Organizations から実施
• aws organizations create-account コマンドで作成
• 連絡先情報やクレジットカード情報の入力が不要
• AWS Organizations のすべての機能を有効にしている
• 一括請求 (Consolidated Billing)
• アカウントの請求と支払いを統合
• リザーブドインスタンスの共有
• 組織内のすべてのアカウントは、他のアカウントで購入したリザーブドインスタン
スを共有することができ「余さずに」使える
• サービスコントロールポリシー (SCP) の利用
• 間違った使い方がコストに大きく響いてしまう機能について明示的 deny を適用
• そういったものはインフラ部門で集中管理対象としている
11
AWS Organizations を利用したマルチアカウント管理
• マスターアカウント
• すべてのアカウントに対する AdministratorAccess 権限
• 請求と支払い管理
• ロギングアカウント
• 全 AWS アカウントの CloudTrail のログを保管
• 監査アカウント
• セキュリティ監査実施元
• 各種共有サービスアカウント
• 共有ネットワーク用アカウント
• ハブアンドスポーク型による管理の簡略化と運用コスト削減
• CDN 用アカウント
• DNS 用アカウント
• 踏み台用アカウント
12
本番
アカウントC
本番
アカウントB
AWS Organizations を利用したマルチアカウント管理
13
AWS Organizations
ロギング
アカウント
マスター
アカウント
監査
アカウント
踏み台用
アカウント
本番
アカウントA
本番
アカウントC
本番
アカウントB
ステージング
アカウントA
本番
アカウントC
本番
アカウントB
開発
アカウントA
監査実施担当者
開発者
請求管理者
AWS アカウントの情報を管理するシステムを作成
• システムアセット管理システム
• 全てのパブリッククラウドのアカウントを管理
• 全体でアカウント数は数百以上
• AWS アカウントの様々な情報を管理
• 案件名、利用部門、担当グループ、連絡先、など
• 社内におけるパブリッククラウドアカウントのマスタとして管理会計や監査時などにも
利用
• API 連携機能
• 検索機能
14
システムアセット管理システム
15
AWSアカウントの作成粒度や命名規則のガイドラインを作成
• アカウントの命名規則
• プロジェクト名や環境名の組み合わせ方を決めておく
• 例: hoge-dev、fuga-prod
• アカウントの粒度
• サービスやプロジェクトごとにアカウントを作成
• 基本的には開発環境用と本番環境用を分ける
• セキュリティ要件等でさらに分けたい場合は複数作成可能
• アカウントの連携方法
• VPC Peering は原則利用しない
• すべてのアカウントをTransit Gateway を利用して制御
• インターネットを利用した API 経由での連携は許可
16
AWS アカウント作成時の初期設定や設定変更方法の整備
• アカウントの作成と解約はすべてインフラ部門が実施
• 事業部から申請をもらってから作成
• コマンドひとつでアカウント作成と初期設定
• 初期設定
• MFA 登録
• IAM パスワードポリシーの適用
• セキュリティログ保管用アカウントに S3 バケットの作成
• CloudTrail 設定
• 各種必要なロールの設定
• アカウント設定変更用ロール
• セキュリティ監査用ロール、など
• 上述の設定が正しい状態か監視している
• 全アカウントに対する設定変更スクリプトも作成
17
root ユーザー管理
• 課題
• 異動・退職者に対するケアができていない
• 各ラインに root 権限を渡して長年経過すると行方不明になることもしばしば
• 対策
• root でログインは基本的に禁止とし、ログインされた場合に気付けるようにする
• 一度 root 権限を得た場合、その権限を確実に削除するにはパスワードまたは MFA
を変更する必要がある
• これらを機械的に変更する方法があれば良いが、今の所 API の提供がなく変更作
業は手動で行わざるを得ない
• root はインフラ部門で一括管理する
• パスワードはクラウドストレージで権限を設定し管理
• MFA token は権限を絞ったサーバ上で生成
18
IAM ユーザー管理
• 課題
• IAM ユーザーが増えすぎて異動退職に伴う棚卸を効率的にやるのが難しい
• IAM ユーザーの分類
• プログラマティックアクセス用の IAM ユーザー
• AWS マネジメントコンソール用の IAM ユーザー
• 今回の対象はこちら
• 対策
• ID フェデレーションによる AWS コンソールログイン
• 社内ディレクトリで管理されるフェデレーティッドユーザーを利用した AWS マネ
ジメントコンソールログイン
• SAML 2.0 を使用した ID フェデレーション
• 退職時は社内ディレクトリから自動で削除されるため自動で棚卸しがされる
19
ID フェデレーションによる AWS コンソールログイン
20
ユーザー
step account
Amazon EC2
AWS IAM
同期1. IdP にログイン
2. SAML レスポンス
3. lAM ロール選択
AWS Management
Console
4. AWS STS token
5. コンソールログイン
ロール
- step-service-account1-admin
- step-service-account1-read
... 通知
社内ディレクトリ
の情報を元に
定期メンテナンス
データ取得
IdP
Slack
社内ディレクトリ
ID フェデレーションによる AWS コンソールログイン
21
ユーザー
step account
Amazon EC2
AWS IAMAWS Management
Console
5. コンソール
ログイン ロール
- step-service-account1-admin
- step-service-account1-read
...
通知
社内ディレクトリ
の情報を元に定期
メンテナンス
データ取得
service account1
AWS IAMAWS Management
Console
ロール
- AdministratorAccess
- ReadonlyAccess
...
6. Switch Role
Slack
社内ディレクトリ
AWS セキュリティ標準の策定
• 課題
• 利用者によってセキュリティレベルに差異がでてしまう
• 設定の指針が無く利用方法の相談を都度する必要があり、工数や業務スピードに問
題が生じていた
• 対策
• 社内向けの AWS セキュリティガイドを作成
• DeNA には Group Information Security Policy (GISP) というポリシがある
• AWS を利用する上で GISP を守るために必要な点をリスト化したもの
• 外部協力会社への提供も可能
• AWS サービスごとに項目を分類し、要件、推奨レベルがある
• サービス
• IAM、VPC、EC2、S3、KMS、RDS、etc.
• 推奨レベル
• 必須、条件付き必須、推奨
22
AWS セキュリティガイド項目例
• [root] ルートユーザーに対して MFA を有効化すること
• [root] ルートユーザーのアクセスキーは利用せず、発行した場合は削除すること
• [IAM] 利用が完了し使われてないアクセスキーは無効化・削除すること
• [IAM] パスワードポリシーで GISP に従ったポリシーを設定すること
• [EC2] ELB のアクセスログを有効化すること
• [RDS] インターネットからのアクセスが不要な場合はパブリックアクセシビリティを無効
にすること
23
AWS セキュリティ監査自動化
• 課題
• アカウント数や監査項目数が多いためセキュリティ監査の工数が膨大にかかる
• 対策
• AWS セキュリティ監査自動化システム
• システムは独自実装
• AWS マネージドサービスではカバーできない範囲を実装
• 低コストで運用を実現
• AWS CLI 等で情報を取得して判定
• 通知宛先はアカウント管理者
• アカウント、ルール、リソースごとに指定期間の通知停止設定が可能
• 自動化が難しい項目は監査実施担当者がコンソールから直接設定を確認
• 長期間通知が無視されているものや通知停止理由も定期的に確認
24
AWS セキュリティ監査自動化システム
25
security account
ユーザー
SSO
権限制御
Amazon EC2
Application
Load Balancer
Amazon S3
Amazon SES
監査実施担当者 Amazon CloudWatch
service account1
ユーザー
service account2
ユーザー
service account3
ユーザー
...
自動監査
通知
長期間通知が無視されているものや通知停止理由を確認
自動監査できないものは手動確認
異常を通知
IdP
AWS セキュリティ監査自動化システム
26
AWS セキュリティ監査自動化システム
27
AWS セキュリティ監査自動化システム
28
AWS セキュリティ監査自動化システムの実装例
• [root] ルートユーザーに対して MFA を有効化すること
• 認証情報レポートでルートユーザに対して mfa_active が true であるか確認
• [IAM] 利用が完了し使われてないアクセスキーは無効化・削除すること
• list-access-keys で Status が Active なものの中で、 get-access-key-last-used か
ら得られる LastUsedDate が特定の期間内であるか確認
• [EC2] ELB のアクセスログを有効化すること
• describe-load-balancer-attributes で AccessLog の Enabled が true であるか確認
• [RDS] インターネットからのアクセスが不要な場合はパブリックアクセシビリティを無効
にすること
• describe-db-instances で PubliclyAccessible が false であるか確認
29
まとめ
まとめと今後の展望
30
まとめ
• 多数の AWS アカウントに対して効率的な管理ができている
• セキュリティ標準を策定したため利用者による差異が減った
• セキュリティ監査自動化によって大幅な工数削減につながった
31
今後の展望
• AWS Organizations の OU や SCP の有効活用
• OU と SCP を組み合わせることで設定が単純になる
• SCP は root ユーザーの行動も制御できる
• プログラマティックアクセス用の IAM ユーザーの効率的な管理
• IAM ロールが使用できない場面での IAM ユーザーの管理
• AWS セキュリティガイドの補強
• 未記載の AWS サービスの追加
• AWS セキュリティ監査自動化の対象拡大
• 上記追加項目の実装
32
最後に
• 今後インフラ部門では Twitter やブログで継続的にノウハウを発信していきます
• Twitter
• @DeNAxTech
• ブログ
• https://engineer.dena.jp
33
34
ご静聴ありがとうございました

Contenu connexe

Tendances

Tendances (20)

AWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon KinesisAWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon Kinesis
 
20190723 AWS Black Belt Online Seminar AWS CloudHSM
20190723 AWS Black Belt Online Seminar AWS CloudHSM 20190723 AWS Black Belt Online Seminar AWS CloudHSM
20190723 AWS Black Belt Online Seminar AWS CloudHSM
 
20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation 20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation
 
20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSync20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSync
 
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
 
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
 
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
 
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
 
Serverless時代のJavaについて
Serverless時代のJavaについてServerless時代のJavaについて
Serverless時代のJavaについて
 
AWS Black Belt Online Seminar - Amazon Lightsail
AWS Black Belt Online Seminar - Amazon Lightsail AWS Black Belt Online Seminar - Amazon Lightsail
AWS Black Belt Online Seminar - Amazon Lightsail
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
 
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
 
20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway 20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway
 
20190326 AWS Black Belt Online Seminar Amazon CloudWatch
20190326 AWS Black Belt Online Seminar Amazon CloudWatch20190326 AWS Black Belt Online Seminar Amazon CloudWatch
20190326 AWS Black Belt Online Seminar Amazon CloudWatch
 
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
 
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
 
AWS Black Belt Online Seminar 2017 AWS Storage Gateway
AWS Black Belt Online Seminar 2017 AWS Storage GatewayAWS Black Belt Online Seminar 2017 AWS Storage Gateway
AWS Black Belt Online Seminar 2017 AWS Storage Gateway
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
20200811 AWS Black Belt Online Seminar CloudEndure
20200811 AWS Black Belt Online Seminar CloudEndure20200811 AWS Black Belt Online Seminar CloudEndure
20200811 AWS Black Belt Online Seminar CloudEndure
 
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue
 

Similaire à DeNA の AWS アカウント管理とセキュリティ監査自動化

Asahikawa_Ict 20120726
Asahikawa_Ict 20120726Asahikawa_Ict 20120726
Asahikawa_Ict 20120726
kspro
 
Share file業務で使うクラウドストレージ 〜無限に拡がるデータの活用形態〜
Share file業務で使うクラウドストレージ 〜無限に拡がるデータの活用形態〜Share file業務で使うクラウドストレージ 〜無限に拡がるデータの活用形態〜
Share file業務で使うクラウドストレージ 〜無限に拡がるデータの活用形態〜
Citrix Systems Japan
 

Similaire à DeNA の AWS アカウント管理とセキュリティ監査自動化 (20)

アイデンティティ (ID) 技術の最新動向とこれから
アイデンティティ (ID) 技術の最新動向とこれからアイデンティティ (ID) 技術の最新動向とこれから
アイデンティティ (ID) 技術の最新動向とこれから
 
詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編
詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編
詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編
 
Asahikawa_Ict 20120726
Asahikawa_Ict 20120726Asahikawa_Ict 20120726
Asahikawa_Ict 20120726
 
スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:
スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:
スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:
 
【de:code 2020】 Apps on Azure AD - アプリケーション連携 WHY と HOW
【de:code 2020】 Apps on Azure AD - アプリケーション連携 WHY と HOW【de:code 2020】 Apps on Azure AD - アプリケーション連携 WHY と HOW
【de:code 2020】 Apps on Azure AD - アプリケーション連携 WHY と HOW
 
Hinemosによるクラウド運用管理の最新情報
Hinemosによるクラウド運用管理の最新情報Hinemosによるクラウド運用管理の最新情報
Hinemosによるクラウド運用管理の最新情報
 
[SC13] ログ管理で向上させるセキュリティ
[SC13] ログ管理で向上させるセキュリティ[SC13] ログ管理で向上させるセキュリティ
[SC13] ログ管理で向上させるセキュリティ
 
アカデミックIDaaS最前線
アカデミックIDaaS最前線アカデミックIDaaS最前線
アカデミックIDaaS最前線
 
Azureの運用に欠かせないサービスたち一挙解説
Azureの運用に欠かせないサービスたち一挙解説Azureの運用に欠かせないサービスたち一挙解説
Azureの運用に欠かせないサービスたち一挙解説
 
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか
 
Sec004 cloud first、_mobile_first_におけるid
Sec004 cloud first、_mobile_first_におけるidSec004 cloud first、_mobile_first_におけるid
Sec004 cloud first、_mobile_first_におけるid
 
Share file業務で使うクラウドストレージ 〜無限に拡がるデータの活用形態〜
Share file業務で使うクラウドストレージ 〜無限に拡がるデータの活用形態〜Share file業務で使うクラウドストレージ 〜無限に拡がるデータの活用形態〜
Share file業務で使うクラウドストレージ 〜無限に拡がるデータの活用形態〜
 
Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版
 
Azure Active Directory 利用開始への第一歩
Azure Active Directory 利用開始への第一歩Azure Active Directory 利用開始への第一歩
Azure Active Directory 利用開始への第一歩
 
DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術
 
20 分で理解する Azure Active Directory 最新アップデートと利活用シナリオ
20 分で理解する Azure Active Directory 最新アップデートと利活用シナリオ20 分で理解する Azure Active Directory 最新アップデートと利活用シナリオ
20 分で理解する Azure Active Directory 最新アップデートと利活用シナリオ
 
これからのインフラエンジニアについて考えていること
これからのインフラエンジニアについて考えていることこれからのインフラエンジニアについて考えていること
これからのインフラエンジニアについて考えていること
 
クラウドの新潮流! “クラウドネイティブなオンプレ”とは?
クラウドの新潮流! “クラウドネイティブなオンプレ”とは?クラウドの新潮流! “クラウドネイティブなオンプレ”とは?
クラウドの新潮流! “クラウドネイティブなオンプレ”とは?
 
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。 複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
 
[teratail Study ~機械学習編#2~] Microsoft AzureのAI関連サービス
[teratail Study ~機械学習編#2~] Microsoft AzureのAI関連サービス[teratail Study ~機械学習編#2~] Microsoft AzureのAI関連サービス
[teratail Study ~機械学習編#2~] Microsoft AzureのAI関連サービス
 

Plus de DeNA

Plus de DeNA (20)

DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
 
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
 
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
 
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
 
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
 
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
 
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
 
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
 
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
 
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
 
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
 
DeNA の Slack 導入と活用の事例紹介
DeNA の Slack 導入と活用の事例紹介DeNA の Slack 導入と活用の事例紹介
DeNA の Slack 導入と活用の事例紹介
 
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
 
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれオートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
 
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
 
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
 
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
 
MOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについてMOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについて
 
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
 
DeNAのQCTマネジメント IaaS利用のベストプラクティス [AWS Summit Tokyo 2019]
DeNAのQCTマネジメント IaaS利用のベストプラクティス [AWS Summit Tokyo 2019]DeNAのQCTマネジメント IaaS利用のベストプラクティス [AWS Summit Tokyo 2019]
DeNAのQCTマネジメント IaaS利用のベストプラクティス [AWS Summit Tokyo 2019]
 

Dernier

物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
Michael Rada
 
Service-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadershipService-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadership
Yasuyoshi Minehisa
 

Dernier (8)

物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
 
202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)
202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)
202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)
 
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
 
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdf
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdfストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdf
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdf
 
UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチ
UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチUP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチ
UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチ
 
事例DBサービス紹介資料(Case Study DB service introduction)
事例DBサービス紹介資料(Case Study DB service introduction)事例DBサービス紹介資料(Case Study DB service introduction)
事例DBサービス紹介資料(Case Study DB service introduction)
 
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料
 
Service-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadershipService-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadership
 

DeNA の AWS アカウント管理とセキュリティ監査自動化

  • 1. DeNA の AWS アカウント管理と セキュリティ監査自動化 髙橋 祐真 システム本部 IT 基盤部第一グループ 株式会社ディー・エヌ・エー
  • 2. 髙橋 祐真 (Yuma Takahashi) • 所属 • システム本部 IT 基盤部第一グループ グループリーダー • 経歴 • 2013 年 4 月 大学院修士課程修了後 DeNA 新卒入社 • 2013 年 ~ 国内向けゲームプラットフォームの運用を担当 • 2014 年 ~ エンタメ系サービスの運用を担当 • 2015 年 ~ ヘルスケア系サービスの運用を担当 • 2018 年 ~ グループリーダー (現職) • エンタメ、ヘルスケア、ライブ配信、スポーツ、AI サービスのインフラを担当 • クラウド移行におけるセキュリティ環境整備のチームのリーダーも兼任 2
  • 5. DeNA のインフラの概況 • オンプレからクラウドへ • メインのシステム基盤はオンプレ • 2013 年 ~ クラウド利用開始、以降適材適所でクラウドを利用 • 2015 年 ~ クラウド利用急増 • 2018 年 6 月にクラウドへの全面移行を決定 • 移行プロジェクトスケジュール • 2018 年 ~ 移行の準備期間 • クラウドに最適化したシステム基盤の設計・実装 • クラウド利用時の本格的なセキュリティ環境整備 • 2019 年 ~ 本格移行期間 • 2020 年 ~ 完全移行、仕上げ期間 5
  • 6. DeNA のインフラの組織構成 6 AI ゲーム エンター テインメント eコマース ソーシャルLIVE スポーツオート モーティブ ヘルスケア インフラ部門 & 監査実施部門 インフラ部門 ... 上記サービスのインフラ運用だけでなく各種契約まわりも管理
  • 7. AWS 利用のセキュリティ環境整備の必要性 • DeNA の抱える課題 • 多数の AWS アカウントを多数のラインで様々な用途で利用しているため管理が難しい • 利用者によってセキュリティレベルに差異がでてしまう • セキュリティ監査の工数が膨大にかかる 7
  • 9. 課題を解決する施策 • 課題と施策 • 多数のAWSアカウントを多数のラインで様々な用途で利用しているため管理が難しい • AWS アカウント管理 • root ユーザー管理 • IAM ユーザー管理 • 利用者によってセキュリティレベルに差異がでてしまう • AWS セキュリティ標準の策定 • セキュリティ監査の工数が膨大にかかる • AWS セキュリティ監査自動化 9
  • 10. AWS アカウント管理 • 課題 • 多数のAWSアカウントを多数のラインで様々な用途で利用しているため管理が難しい • AWS アカウント数は約 250 個 • 月に 10 個のペースで増加 • 利用部門数は約 60 • 対策 • AWS アカウントの一元管理と開発自由度の両立 • インフラ部門が全社横断の管理部門として一括で集中管理している • 各サービス担当から 1 人ずつ集めたパブリッククラウド管理チーム • 基本的に全ての設定や操作は利用者サイドでできるようにしている • あくまで管理は「薄く」、最低限守るべきラインを担保するのみに留めている • AWS Organizations を利用したマルチアカウント管理 • AWS アカウントの情報を管理するシステムを作成 • AWSアカウントの作成粒度や命名規則のガイドラインを作成 • AWS アカウント作成時の初期設定や設定変更方法の整備 10
  • 11. AWS Organizations を利用したマルチアカウント管理 • アカウントの作成を AWS Organizations から実施 • aws organizations create-account コマンドで作成 • 連絡先情報やクレジットカード情報の入力が不要 • AWS Organizations のすべての機能を有効にしている • 一括請求 (Consolidated Billing) • アカウントの請求と支払いを統合 • リザーブドインスタンスの共有 • 組織内のすべてのアカウントは、他のアカウントで購入したリザーブドインスタン スを共有することができ「余さずに」使える • サービスコントロールポリシー (SCP) の利用 • 間違った使い方がコストに大きく響いてしまう機能について明示的 deny を適用 • そういったものはインフラ部門で集中管理対象としている 11
  • 12. AWS Organizations を利用したマルチアカウント管理 • マスターアカウント • すべてのアカウントに対する AdministratorAccess 権限 • 請求と支払い管理 • ロギングアカウント • 全 AWS アカウントの CloudTrail のログを保管 • 監査アカウント • セキュリティ監査実施元 • 各種共有サービスアカウント • 共有ネットワーク用アカウント • ハブアンドスポーク型による管理の簡略化と運用コスト削減 • CDN 用アカウント • DNS 用アカウント • 踏み台用アカウント 12
  • 13. 本番 アカウントC 本番 アカウントB AWS Organizations を利用したマルチアカウント管理 13 AWS Organizations ロギング アカウント マスター アカウント 監査 アカウント 踏み台用 アカウント 本番 アカウントA 本番 アカウントC 本番 アカウントB ステージング アカウントA 本番 アカウントC 本番 アカウントB 開発 アカウントA 監査実施担当者 開発者 請求管理者
  • 14. AWS アカウントの情報を管理するシステムを作成 • システムアセット管理システム • 全てのパブリッククラウドのアカウントを管理 • 全体でアカウント数は数百以上 • AWS アカウントの様々な情報を管理 • 案件名、利用部門、担当グループ、連絡先、など • 社内におけるパブリッククラウドアカウントのマスタとして管理会計や監査時などにも 利用 • API 連携機能 • 検索機能 14
  • 16. AWSアカウントの作成粒度や命名規則のガイドラインを作成 • アカウントの命名規則 • プロジェクト名や環境名の組み合わせ方を決めておく • 例: hoge-dev、fuga-prod • アカウントの粒度 • サービスやプロジェクトごとにアカウントを作成 • 基本的には開発環境用と本番環境用を分ける • セキュリティ要件等でさらに分けたい場合は複数作成可能 • アカウントの連携方法 • VPC Peering は原則利用しない • すべてのアカウントをTransit Gateway を利用して制御 • インターネットを利用した API 経由での連携は許可 16
  • 17. AWS アカウント作成時の初期設定や設定変更方法の整備 • アカウントの作成と解約はすべてインフラ部門が実施 • 事業部から申請をもらってから作成 • コマンドひとつでアカウント作成と初期設定 • 初期設定 • MFA 登録 • IAM パスワードポリシーの適用 • セキュリティログ保管用アカウントに S3 バケットの作成 • CloudTrail 設定 • 各種必要なロールの設定 • アカウント設定変更用ロール • セキュリティ監査用ロール、など • 上述の設定が正しい状態か監視している • 全アカウントに対する設定変更スクリプトも作成 17
  • 18. root ユーザー管理 • 課題 • 異動・退職者に対するケアができていない • 各ラインに root 権限を渡して長年経過すると行方不明になることもしばしば • 対策 • root でログインは基本的に禁止とし、ログインされた場合に気付けるようにする • 一度 root 権限を得た場合、その権限を確実に削除するにはパスワードまたは MFA を変更する必要がある • これらを機械的に変更する方法があれば良いが、今の所 API の提供がなく変更作 業は手動で行わざるを得ない • root はインフラ部門で一括管理する • パスワードはクラウドストレージで権限を設定し管理 • MFA token は権限を絞ったサーバ上で生成 18
  • 19. IAM ユーザー管理 • 課題 • IAM ユーザーが増えすぎて異動退職に伴う棚卸を効率的にやるのが難しい • IAM ユーザーの分類 • プログラマティックアクセス用の IAM ユーザー • AWS マネジメントコンソール用の IAM ユーザー • 今回の対象はこちら • 対策 • ID フェデレーションによる AWS コンソールログイン • 社内ディレクトリで管理されるフェデレーティッドユーザーを利用した AWS マネ ジメントコンソールログイン • SAML 2.0 を使用した ID フェデレーション • 退職時は社内ディレクトリから自動で削除されるため自動で棚卸しがされる 19
  • 20. ID フェデレーションによる AWS コンソールログイン 20 ユーザー step account Amazon EC2 AWS IAM 同期1. IdP にログイン 2. SAML レスポンス 3. lAM ロール選択 AWS Management Console 4. AWS STS token 5. コンソールログイン ロール - step-service-account1-admin - step-service-account1-read ... 通知 社内ディレクトリ の情報を元に 定期メンテナンス データ取得 IdP Slack 社内ディレクトリ
  • 21. ID フェデレーションによる AWS コンソールログイン 21 ユーザー step account Amazon EC2 AWS IAMAWS Management Console 5. コンソール ログイン ロール - step-service-account1-admin - step-service-account1-read ... 通知 社内ディレクトリ の情報を元に定期 メンテナンス データ取得 service account1 AWS IAMAWS Management Console ロール - AdministratorAccess - ReadonlyAccess ... 6. Switch Role Slack 社内ディレクトリ
  • 22. AWS セキュリティ標準の策定 • 課題 • 利用者によってセキュリティレベルに差異がでてしまう • 設定の指針が無く利用方法の相談を都度する必要があり、工数や業務スピードに問 題が生じていた • 対策 • 社内向けの AWS セキュリティガイドを作成 • DeNA には Group Information Security Policy (GISP) というポリシがある • AWS を利用する上で GISP を守るために必要な点をリスト化したもの • 外部協力会社への提供も可能 • AWS サービスごとに項目を分類し、要件、推奨レベルがある • サービス • IAM、VPC、EC2、S3、KMS、RDS、etc. • 推奨レベル • 必須、条件付き必須、推奨 22
  • 23. AWS セキュリティガイド項目例 • [root] ルートユーザーに対して MFA を有効化すること • [root] ルートユーザーのアクセスキーは利用せず、発行した場合は削除すること • [IAM] 利用が完了し使われてないアクセスキーは無効化・削除すること • [IAM] パスワードポリシーで GISP に従ったポリシーを設定すること • [EC2] ELB のアクセスログを有効化すること • [RDS] インターネットからのアクセスが不要な場合はパブリックアクセシビリティを無効 にすること 23
  • 24. AWS セキュリティ監査自動化 • 課題 • アカウント数や監査項目数が多いためセキュリティ監査の工数が膨大にかかる • 対策 • AWS セキュリティ監査自動化システム • システムは独自実装 • AWS マネージドサービスではカバーできない範囲を実装 • 低コストで運用を実現 • AWS CLI 等で情報を取得して判定 • 通知宛先はアカウント管理者 • アカウント、ルール、リソースごとに指定期間の通知停止設定が可能 • 自動化が難しい項目は監査実施担当者がコンソールから直接設定を確認 • 長期間通知が無視されているものや通知停止理由も定期的に確認 24
  • 25. AWS セキュリティ監査自動化システム 25 security account ユーザー SSO 権限制御 Amazon EC2 Application Load Balancer Amazon S3 Amazon SES 監査実施担当者 Amazon CloudWatch service account1 ユーザー service account2 ユーザー service account3 ユーザー ... 自動監査 通知 長期間通知が無視されているものや通知停止理由を確認 自動監査できないものは手動確認 異常を通知 IdP
  • 29. AWS セキュリティ監査自動化システムの実装例 • [root] ルートユーザーに対して MFA を有効化すること • 認証情報レポートでルートユーザに対して mfa_active が true であるか確認 • [IAM] 利用が完了し使われてないアクセスキーは無効化・削除すること • list-access-keys で Status が Active なものの中で、 get-access-key-last-used か ら得られる LastUsedDate が特定の期間内であるか確認 • [EC2] ELB のアクセスログを有効化すること • describe-load-balancer-attributes で AccessLog の Enabled が true であるか確認 • [RDS] インターネットからのアクセスが不要な場合はパブリックアクセシビリティを無効 にすること • describe-db-instances で PubliclyAccessible が false であるか確認 29
  • 31. まとめ • 多数の AWS アカウントに対して効率的な管理ができている • セキュリティ標準を策定したため利用者による差異が減った • セキュリティ監査自動化によって大幅な工数削減につながった 31
  • 32. 今後の展望 • AWS Organizations の OU や SCP の有効活用 • OU と SCP を組み合わせることで設定が単純になる • SCP は root ユーザーの行動も制御できる • プログラマティックアクセス用の IAM ユーザーの効率的な管理 • IAM ロールが使用できない場面での IAM ユーザーの管理 • AWS セキュリティガイドの補強 • 未記載の AWS サービスの追加 • AWS セキュリティ監査自動化の対象拡大 • 上記追加項目の実装 32
  • 33. 最後に • 今後インフラ部門では Twitter やブログで継続的にノウハウを発信していきます • Twitter • @DeNAxTech • ブログ • https://engineer.dena.jp 33