この記事は ACCESS Advent Calendar 2018、19日目の記事です。
はじめまして。今年入社したElixir大好きっ子の@ttokitです。
Elixir好きをアピールしつつ、この記事はElixirとは何の関連もありません。ごめんなさい。
はじめに
2018年11月26日(月)~30日(金)にラスベガスで開催されたAWS re:Invent 2018に参加してきました。
この記事では、私が聴講したセッションについて簡単にまとめます。
新発表のサービスやキーノートなどについては、AWSの公式サイトや日本語記事がたくさんありますので、適宜探してください。
いくつか参考リンクを掲載しておきます。
-
YouTube - Keynote with Andy Jassy (CEO)
- 特にオススメです。このキーノートを生で聴講して、私はAWSのファンになりました。(笑)
-
YouTube - Keynote with Werner Vogels (CTO)
- 会場の規模感は、この動画の最初の部分が分かりやすいかも。
- AWS re:Invent 2018 で発表された新サービスと機能 | AWS - Amazon AWS
- AWS re:Invent 2018 Japan Wrap-up Session
- クラスメソッドさんのブログ記事
以下の点は予めご了承ください。
- 一部、意訳が含まれる部分がありますが、翻訳精度は保証されません。全セッションについて、原文へのリンクを掲載していますので、正確な英語記述についてはそちらをご覧ください。
- タイトルにある通り、参加セッションの一部を載せています。
決して全部書こうとして間に合わなかったわけではありません。
引用について:本記事内の画像は、一部を除いて各セッションのスライドから引用させていただいております。画像毎にSource linkを記述はしていませんが、セッション毎にスライドへのリンクを記述していますので、そちらをご覧ください。
Notice: Most images in this article are quoted from session slides. Although source link is not described for each image, the link to the slide described for each session is source.
AWS re:Invent 2018 基本概要
- AWSが年1回ラスベガスで開催する学習型イベント
- 今年で7回目
- Have Funイベントも充実
- 年々規模が拡大し、今年は7つの会場
(Source: http://reinvent.awseventsjapan.com/campus/)- 端から端までは、バス約18分、徒歩約45分
セッション選びの際の気持ち的な所
私はre:Inventへの参加は初めてですし、入社1年目で、AWSを業務として触った経験が長いわけではありません。
実際の業務に直結する、というよりも自身の興味を基にセッションを選びました。
re:Inventでは各セッション毎に以下の種類やレベルがあります。
- Session Type
- Session
- Bootcamp
- Chalk Talk
- Hackathon
- Workshop
- Overflow
- etc.
- Session Level
- 200 - Introductory
- 300 - Advanced
- 400 - Expert
Session Typeは"Session"が大人数が参加可能な講義形式ですが、その他は少人数制のものが多く、予約の段階で埋まっているものも多々ありました。
"Overflow"は少し独特で、大部屋を色ごと(White, Yellowなど)で区切り、様々なセッションの中継を大画面モニターで映す形式です。
一つ一つの椅子にヘッドフォンが用意されており、それを着用します。
また、"Overflow"は予約不要なので、(開始時間が合えば)時間潰しにセッション聴講したり、急遽予定していたものとは別のセッションを聴く、といったことも可能です。
残念ながら英語スキルが壊滅的な私は、Sessionをメインにスケジュールを組みました。
当初はIntroductoryのSessionを多くしようと考えていましたが、興味のあるセッションを選ぶうちに、最終的にはAdvancedの方が少し多いくらいの構成になりました。
(Expertに挑む勇気は無かった。。)
セッションまとめ
Security & Compliance for Modern Serverless Applications
Speaker
David Behroozi - Software Development Engineer, AWS
Daniel Lees - Principal Cloud Architect, HSBC
Abstract
Serverless architecture and a microservices approach has changed the way we develop applications. Increased composability doesn't have to mean decreased auditability or security. In this talk, we discuss the security model for applications based on AWS Lambda functions and Amazon API Gateway. Learn about the security and compliance that comes with Lambda right out of the box and with no extra charge or management. We also cover services like AWS Config, AWS Identity and Access Management (IAM), Amazon Cognito, and AWS Secrets Manager available on the platform to help manage application security.
In short
AWS Lambda関数とAmazon API Gatewayに基づくサーバレスアプリケーションのセキュリティモデルについて。
また、アプリケーションセキュリティの管理を支援するためのAWS Config, AWS Identity and Access Management (IAM), Amazon Cognito, AWS Secrets Managerなどのサービスも紹介。
Session Level
300 - Advanced
Content
- 参考リンク
Introduction
-
Amazon Cognito
- ウェブアプリケーションやモバイルアプリケーションの認証、許可、ユーザー管理をサポートするサービス。
- Bto*、IoT向けなど、様々なシナリオが用意されている。
- サインアップ、サインイン機能や、サインインの為のUI、ソーシャルサインイン機能などを有したユーザープールと呼ばれるユーザーディレクトリがある。
- AWS Systems Manager Parameter Store
- 設定データ管理のための階層型ストレージ。
- IAMと統合され、階層ツリーの個々のパラメータまたはブランチに対して、細かいアクセス制御が可能。
-
AWS WAF
- Web Application Firewall
- DDoS、アプリケーション攻撃、ボットからの保護
-
AWS CloudTrail
- 自身のAWSアカウント内のユーザーアクティビティとAPI使用状況の追跡。
- 操作上のトラブルシューティングを支援する。
- AWS Config
- AWSリソースの設定を評価、監査、審査できるサービス。
以降は、様々な脅威シナリオと、それを解決する為の方法を紹介する形で講義が進む。
Protecting the front door
- エンドユーザーによる単純なパスワードの利用やサイト間のパスワードの使い回し。
- ユーザーの認証にAmazon Cognitoを使う。
- Amazon Cognitoの高度なセキュリティ機能を有効にする。
- 生存期間の長いcredential。
- エンドユーザの認証にAmazon Cognitoを使う。
- API Gatewayを使用してAmazon Cogniteトークンを自動的に検証する。APIの中で検証をしてはいけない。
- AWS Secrets Managerを使用して、API GatewayのAPIキーを定期的にrotateする。
- サービスは複数のAPIを持ち、その全てに対して一貫した認証が必要である。
- 認可の実施を中央化する。
- つまり、Cognito AuthorizersをAPI Gatewayに設定したり、Lambda Authorizerを使う。
- あるいは、ALB authenticationを使うことでロードバランサーのレイヤーで認証を強制する。
- 複数の種類のトークンを許容しない。
- 認可の実施を中央化する。
Securing your resources
- 悪者が悪意あるinputでリソースやユーザへのアクセスを試みる。(未検証の入力値に対する脅威)
- 全ての入力に対し、フィルター、エスケープ、サニタイズを行う。
- 入力サイズを制限する。
- PreparedStatementを使う。
- AWS WAFを有効にする。
- secretや生存期間の長いcredentialがハードコードされている。
- secretはコードから分離して保存する。
- 機密情報に対してLambdaの環境変数を使わない。
- AWS Secret Managerを使って、DBパスワードやその他のsecretを保存する。
- AWS Systems Manager Parameter Storeを使って設定を保存し、secretと設定の一貫性のあるビューを提供する。
Keeping a paper trail
- Loggingが不完全だと、障害やエラーが起きた際のトラブルシューティングが不可能になってしまう。
- 最低でも、誰が「いつ」「何を」したのかをログを取るべきである。
- AWS X-Rayを有効化し、他のサービスに対する呼び出しについて詳細を監視する。
- リソースへの認可されていないアクセス
- ログイン情報を使い回さず、分離したIAMユーザーやフェデレーションユーザーを用いる。
- MFA(Multi-Factor Authentication)を有効化する。
- CroudTrailを使い、API権限の変更などを検知できるようにする。
Unleash Team Productivity with Real-Time Operations
Speaker
Shannon Lietz - Director, Intuit
Dave Cliffe - Head of Strategy - New Use Cases, PagerDuty
Ophir Ronen , Director, Digital Operations Insights
Abstract
For today’s digital organizations, even a few minutes of downtime can mean millions of dollars lost and customers who go elsewhere. To keep up with customer expectations, organizations must handle and prioritize real-time operations at a scale that didn’t exist before. However, developing this competency is easier said than done, especially without a solid understanding of the capabilities needed to drive real-time operations across cloud and on-premises environments. In this session, we explore how innovations around machine learning, automation, and analytics, when combined with modern incident management best practices, can improve operational performance, team productivity, and drive business results. This session is brought to you by AWS partner, PagerDuty, Inc.
In short
今日のデジタル組織では、数分のダウンタイムでも何百万ドルも失われたり、顧客が離れていってしまう可能性がある。
このセッションでは、AWSパートナーであるPagerDuty社が、現代のインシデント管理のベストプラクティスと組み合わされた機械学習、自動化、および分析により、運用パフォーマンスやチームの生産性を向上させ、ビジネス成果を向上させる方法を紹介する。
Session Level
200 - Introductory
Content
- 参考リンク
SpeakerのDave Cliffe氏がとてもユーモアのある方なので、YouTubeを見ることをオススメします。
ただしPagerDuty社から貰った、re:Inventで初めてのステッカーにが居たことは忘れないからな←
Operational Models - a Journey to Real-time Operations
- 48%の開発者たちが、セキュリティの重要性を理解している。しかし、セキュリティに割く時間は十分では無い。
- DevSecOpsとは?
- Development + Security + Operations
- 「開発チームと運用チームがお互いに協調し合うことで、開発・運用するソフトウェアによってビジネスの価値を高め、それをもって顧客に価値を届ける」というDevOpsの概念にセキュリティの観点を加えたもの。
- マインドセットと全体論のアプローチであり、ワンパターンのアプローチでは無い。
- プロセスとツールの集合であり、単一のツールや手法では無い。
- ソフトウェアにおけるセキュリティやコンプライアンスの構築を意味しており、継続的デリバリに対してセキュリティを追加するだけでは無い。
- コミュニティ主導型の取り組みであり、ベンダーにより作られるものでは無い。
- 学習と実験によって推進されるストラテジーであり、完全性とコンプライアンスによって推進される戦略では無い。
PagerDutyがどのようにDevSecOpsをサポートするか
- セルフサービスプラットフォーム / オンデマンドの専門知識
- 共通地盤の構築
- セキュリティ衛生管理
- セキュリティの説明責任を共有する
Real-time Operations includes DevSecOps
Amazon Linux 2: A Stable, Secure, High-Performance Linux Environment
Speaker
Samartha Chandrashekar - Senior Product Manager, Amazon Web Services
Abstract
In this session, learn about Amazon Linux 2, the next generation Amazon Linux operating system that now comes with five years of support. See what’s new with Amazon Linux 2, how it's different from other distributions of Linux, and understand why it’s rapidly becoming the go-to operating system for AWS customers.
In short
次世代のAmazon Linux OSであるAmazon Linux 2に関して、新機能や他のLinuxディストリビューションなどについて。
Session Level
200 - Introductory
Content
- 参考リンク
Long-term support
- 2023年6月までのセキュリティ・メンテナンスアップデート。
Java support
- 2023年6月までのOpenJDK 8, 11のサポート。
-
Amazon Corretto
- LTSが含まれたOpenJDKディストリビューション。
Optimized for AWS
- Modern Kernel (4.14)のAmazon EC2への最適化。
- Amazon EC2 Bare Metal上でbare-metal OSまたはKVM仮想化ホストとして動作可能。
Universal availability for diverse use cases
- .Net Core, PowerShell Core, AWS CLIがインストール、設定済みのAMI。
- オンプレミス環境での仮想マシンとして、VMware, Hyper-V, Virtual Box, KVMが利用可能。
No cost
額面通り。
[OVERFLOW] Deep Dive on Amazon Rekognition
Speaker
Jon Turow - Head of Product, Amazon Rekognition
Rudi De Sousa - Director or Engineering and Architecture, News UK & Ireland Limited
Tom Jacques - VP Engineering, Tinder
Abstract
Join us for a deep dive on the latest features of Amazon Rekognition. Learn how to easily add intelligent image and video analysis to applications in order to automate manual workflows, enhance creativity, and provide more personalized customer experiences. We share best practices for fine-tuning and optimizing Amazon Rekognition for a variety of use cases, including moderating content, creating searchable content libraries, and integrating secondary authentication into existing applications.
In short
Amazon Rekognitionの最新機能について深く掘り下げる。
コンテンツのモデレート、検索可能なコンテンツライブラリの作成、セカンダリ認証の既存アプリケーションへの統合など、さまざまなユースケースに対してAmazon Rekognitionを調整し、最適化するためのベストプラクティスを共有する。
Session Level
300 - Advanced
Content
- 参考リンク
Amazon Rekognitionの利点
- 最先端の能力
- 継続的な改善
- 迅速なインテグレーション
- 低コスト
- サーバレス
- データは自分自身のもの
Use cases and features
ユースケースについて
- ライブイベント、メディアライブラリ内の分析、ソーシャルメディア分析、インフルエンサーマーケティング
- Who, What, Where
機能について
- ビデオや写真内からの高速な有名人の判別を行うCelebrity detection。
- 写真から物体とシーンを検出し、物体のラベリングや信頼度の提供するObject and scene detection。
- 新機能として、バウンディングボックスの表示が可能に。オブジェクト数やオブジェクト間の関連性が確認できるようになる。
- 様々なレイアウト、フォント、スタイルが存在する実世界の写真からのテキストコンテンツの抽出。
- (新発表のAmazon Textractとは別物です)
- 新機能として、水平エリアに対して-90度から+90度まで回転されたテキストをサポート。
Tinderの事例紹介(登壇)
- マッチングサービスを提供する。
- いわゆる出会い系サービスのように思うが、中の人は「出会い系サービスではなく社会的なつながりを作り出すサービス」と否定しているらしい。
- 参考:Wikipedia
- 写真へのタグ付けやユーザーレコメンドに利用している。
- Coffee Meets Bagelでは、Amazon Rekognitionを使うことで人間の関与の必要性を97%削減し、従業員はより戦略的なビジネスタスクに集中でき、モデレーションコストを72%削減できた。
News UKの事例紹介(登壇)
- 233年分の画像コンテンツを所有している。
- S3バケットからlambda経由でRekognitionで分析し、Kibanaで可視化する。
Aella Creditからのコメント
新興市場における数十億人の人々の信用を構築する上で、ユーザーを適切に識別する能力は非常に重要であり、Rekognizeは一貫して90%の精度を提供する。 - これは市場でテストされた他のどのツールよりも優れている。
K Star Groupからのコメント
我々はAmazon Rekognitionを使った"Face Ticket"サービスを開発した。新しい"Face Ticket"は参加者の利便性の向上やと面白い体験を与え、コンサートの列を短くすることに貢献した。
How to Get Started With Amazon Rekognization
- AWSマネジメントコンソールから数クリックで使うことが出来る。
- Rekognitionのフローの前後をAmazon Kinesis Video Streamsで挟むことでストリーミングビデオに対してAmazon Rekognitionを適用することが可能。
Deep Dive on Amazon S3 Security and Management
Speaker
PD Dutta - Sr. Product Manager, Amazon Web Services
Christopher Schultz - Director, Software Engineering, Capital One
Abstract
In this session, learn best practices for data security in Amazon S3. We discuss the fundamentals of Amazon S3 security architecture and dive deep into the latest enhancements in usability and functionality. We investigate options for encryption, access control, security monitoring, auditing, and remediation.
In short
Amazon S3のデータセキュリティのベストプラクティスの紹介。
暗号化、アクセス制御、セキュリティモニタリング、監査、改善のオプションについても調査する。
Session Level
300 - Advanced
Content
- 参考リンク
Amazon S3 access control mechanisms
- AWS IAMポリシー
- ユーザーがAWS上で「何が」出来るかを定義するもの。
- 全てのAWSサービスを制御する。
- S3バケットポリシー
- 「誰が」S3上のリソースへアクセス出来るかを定義するもの。
- IAMロールを使わずにS3バケットにクロスアカウントアクセスを付与できる。
- S3 ACLs(Access Control Lists)
- アクセス許可のみ可能。(拒否は不可)
- XML形式で記述される。
- ポリシーに比べて、権限の有限集合で表現される。
- READ, WRITE, FULL_CONTROLなど
- S3 VPCEポリシー
- VPC Endpoint
- S3 Private Endpointを使うことで、(EC2インスタンスから)NATインスタンスやゲートウェイを使わずにS3へのアクセスが可能になる。
- つまり、VPC内にS3を構築可能ということ。
- 署名付きURL
- URL生成の際にIAMユーザー/ロールの権限を使う。
- 有効期限があり、期間中のみ有効。
- 注意:このURLを使うことで、誰でも署名中に含まれる操作を実行できます。
(NEW) Amazon S3 Block Public Access
パブリックアクセスとは?
- 匿名または過度に許容されるアクセスはパブリックアクセスとみなされる。
- "All Users"や"Any authenticated user"といった権限が付与されたACLs。
- 過度に許容されるバケットポリシー。
- ワイルドカード
*
の使用など。
- ワイルドカード
- 明白なクロスアカウントアクセスはパブリックアクセスとみなされない。
S3 Block Public Accessの設定
現在S3で新規にバケットを作成しようとすると、上記の設定項目が表示されますが、これがS3 Block Public Accessの設定に当たるものです。
基本的には項目は全てデフォルトでチェック済み、かつ「付与しない」が選択されており、高いセキュリティの付与が推奨されています。
もちろん、既存のバケットについても編集可能です。
Encryption in the cloud
Encryption in Transit
- HTTPS/TLS
Encryption at rest
- サーバサイド暗号化
- SSE-S3(Amazon S3 managed keys)
- SSE-KMS(AWS Key Management Service)
- SSE-C(customer provided keys)
- クライアントサイド暗号化
- クライアント側でデータを暗号化した後、S3へアップロードする。
Let's recap some of the best practices
- 常に最小権限の原則に従う。
- ほとんどのユースケースでパブリックアクセスは必要ない。その為、Amazon S3 Block Public Access設定を有効にすることを推奨する。
- 認可: 全ての判定は拒否から始まる。
- 認可: 明示的な拒否は許可を上書きする。
- デフォルトの暗号化を使用してデータを保護する。
- AWS Trusted Advisor、AWS Config、AWS CloudTrail、およびS3 Inventoryなどのツールを使用してデータを監視および監査する。
Top Cloud Security Myths - Dispelled!
Speaker
Myles Hosford - FSI Compliance Specialist , AWS Business Development, AWS
Phil Rodrigues - Principal Security Solutions Architect, AWS Solutions Architecture, AWS
Abstract
In this session, we cover the most common cloud security questions that we hear from customers. We provide detailed answers for each question, distilled from our practical experience working with organizations around the world. This session is for everyone who is curious about the cloud, cautious about the cloud, or excited about the cloud.
In short
顧客から寄せられる一般的なクラウドセキュリティに関する質問(都市伝説)と、それに対する詳細な回答の紹介。
Session Level
200 - Introductory
Content
-
参考リンク
-
Security is job zero for AWS. It’s the most important thing we do. Even more than infrastructure-as-a-service, what we offer, what we sell is trust. And that’s why we spend a disproportionate amount of time, energy, and funds to ensure that our customers are protected.
このセッションは、
- 13のMythsをQ&A形式(スライド中ではMythと呼ばれているのでM&Aですね:) )で
- 2名のSpeakerがお互いにMythを問いかけ、それに対する回答と次のMythをもう一人に問いかける
を繰り返すという、他のセッションとは少し違う独特な発表方式でした。
ここでは文章に起こしていますが、図有りでMythもAnswerも1枚のスライドに収まっていて、とても読みやすいと思うので、是非上述のSlideShare(or YouTube)を見てみてください。
Part1: General cloud security
-
Myth 01: パブリッククラウドは、オンプレミス環境やプライベートクラウドよりもセキュアでは無い。
- AWSのグローバルインフラストラクチャは、世界で最もセキュリティに敏感な組織の要件を満たすように構築されています。
-
Myth 02: クラウドへデータを送信すると、その所有権を失い、国境を超えてデータが流出してしまうかもしれない。
- あなたはコンテンツの所有権と管理権を保持しており、そのコンテンツが存在する地域を選択します。
-
Myth 03: コンプライアンス要求に応えるために、非常に規制された業務であり、クラウドを使うことが出来ない。
- 我々のセキュリティ保証プログラムは、業界、国固有およびグローバルなセキュリティ要件を満たしています。
-
Myth 04: 業務で機密データを扱うので、クラウドを使うことが出来ない。
- AWS暗号化サービスは多数のサービスに統合され、業界の厳しい要件を満たしています。
-
Myth 05: セキュリティテストが必要だが、クラウドでは出来ない。
- AWSでは、利用規定に沿ったリソースのセキュリティテストを許可しており、お客様に役立つツールを提供しています。
Part2: Specific service security
-
Myth 06: クラウド上では、自動でOSにパッチが当たってしまう。
- 管理しているOSにパッチを当てる責任は、あなた自身にあります。 私たちは、AWSが管理するサービスのパッチ適用に責任を持ちます。
-
Myth 07: 誰からもアクセスできてしまうので、機密データを保存するためにクラウドを使うことが出来ない。
- Amazon S3と他のストレージサービスはデフォルトで安全です。 顧客はデータにアクセスできるユーザーを制御し、AWSは複数のツールを提供し、アクセスの設定方法を理解することができます。
-
Myth 08: secret keyが盗まれたことを聞くが、(その場合)アクセス許可の方法はセキュアではない。
- AWSには、IDとアクセス資格情報を保護し、悪用の検出に役立つさまざまなツールが用意されています。
-
Myth 09: データの削除をコントロール出来ないし、削除されたことを確認することも出来ない。
- あなたがデータを削除する時、我々がデータを実際に削除し、最終的に破壊するために複数のステップを踏みます。このプロセスは、独立した第三者によって検証されています。
-
Myth 10: サーバレスサービスは複数の顧客間で共有されているため、セキュアではない。
- AWSのサーバレスサービスを使用する時には、AWSのコアサービスに組み込まれている何層もの強力なセキュリティ管理が継承されます。
Part3: Data access security
-
Myth 11: 政府はいつでも私のデータにアクセスできる。
- Amazonは法的に妥当で拘束力のある命令を遵守するために必要な場合を除き、顧客情報を開示しません。 顧客を保護するために公然と行動する必要がある場合、私たちはそれを行います。
-
Myth 12: 悪意ある内部者は、共有された管理アクセスを介して私のデータを見ることができてしまいます。
- AWSは、サービスに対する稀な管理を厳密に制御します。 このプロセスはAWS内で監視され、独立した第三者によって検証されます。
-
Myth 13: AWSのアイソレーション(分離)技術を回避し、他人のデータにアクセスすることが可能である。
- AWSは、セキュアな仮想化技術を10年以上経験してきました。 私たちは、クラウド内で深いレベルの分離を提供します。
最後に
当初の予定よりも分量が大きくなってしまい、参加した全てのセッションを紹介することが出来ませんでしたが、皆さんの興味を引くようなセッションはあったでしょうか。
各参考リンクやYouTubeを見て、深掘りしていくきっかけになれたら幸いです。
自分はAWS初心者なので、これからどんどんAWSサービスについて勉強したいと思います!
明日の担当は@ikeyasuです、お楽しみに!