4. Getting Started with Your User Pools in Amazon Cognito - AWS June 2016 Webinar Series
# Youtube
<iframe width="560" height="315" src="https://www.youtube.com/embed/vr1njQyqlbk" frameborder="0" allowfullscreen></iframe>
# 概要
Congnitoの解説
# 時間
54:05
# メモ
- OpenID Provider(Twitter, Google...)で認証できる
- AD, SAMLでの認証も可能
- Data Syncronization. Syncronize user's data across devices and platforms via the cloud.
- デバイスがオフラインでもデータは使える。そのデバイスがオンラインになったときに同期可能。双方向。
- Lambdaでトリガー実装
- Post User sign-inでwelcome email送れる
- トリガー増えてる
-
- 1. usernameとpasswrodをcognitoに送信
- 2. Access, ID Tokenを取ってくる
- 3. AWS Scoped Credentialsをゲット
- 4. それを使ってAWS Resourcesにアクセス
- デモ 23分くらいから
- ユーザ登録->SMS->コード入力->登録完了
- usernameの代わりにemai, phone numberを使うことができる。認証済みの場合。エイリアス機能。
3. dotScale 2017 - Mitchell Hashimoto - Scaling Security
Youtube
dotScale 2017 - Mitchell Hashimoto - Scaling Security
GitHub
概要
Vaultを使うとDev, Sec, Opsがやりやすくなるよ。 Dev, Sec, Opsな人それぞれの視点を整理。 システムのスケールさせようとするDevのボトルネックにならないようにセキュリティを担保するやり方。
時間
18:28
対象者
DevSecOps
レベル
初級
メモ
- 10年前くらいからDevとOpsが仲良くなった。
- Securityはどうよ?
- 開発をデプロイをいかに短いサイクルでやるかって感じだけど、セキュリティはそのサイクルに入ってなかった。
- セキュリティは、素早くパラレルにプロダクトを拡大していくスケーリングと相性悪い。セキュリティの優先順位は低かった。
- ここ10年間は開発者はどーやって早く構築するか、オペレータはどーやってレスポンシブルにするかを考えてた。
- 2年前くらいから、どーやってセキュアなシステムを作っていけばいいのか?ってのが加わった。
- Vault
- アプリケーション開発で必要なセキュリティ機能をVaultが提供し、HTTPSでAPI化する
- パスワードはハッシュしてDBに格納してるけど、名前、住所とかの個人情報、秘密の質問とかDB内部は平文じゃだめよね。漏れたらやばいよ。
- Vaultに平文なげたら暗号化してVaultの後ろにあるDBに格納して、暗号化した文字列を返してくれるよ。
- 鍵管理、ローテーション、auditはVaultがやってくれるよ。
- Let’s encryptなどのお陰でサーバブラウザ間はHTTPS化された
- 内部のサービス間はHTTPS化されてない
- Vaultは有料だけどHA化できる
- セキュリティ的に重要なデータはVaultに集約される
- Trust But Verify Every Level
- Devの人たちはSecurityなんぞ気にしていない。どんだけ早く開発、デプロイするか。
- セキュリティな人がアプリケーションを把握してダブルチェックしないといけない。
- セキュリティな人にとってはVaultがあるとセンシティブなデータは中央に集約されるし、このAPIたたいてねというだけで良いので助かる。
- Vaultを使えばアプリケーション、システムのスケールを邪魔することなくセキュリティな人とうまくやれるよ。
感想
- Mitchell Hashimotoの英語は聞き取りやすい
- だた字幕なしだと辛い部分がある。悔しい。
- Vaultの機能をもっと調べてみよっと。
2. Capital Go 2017 - Set Up a Portable Go Testing Rig with Docker and GoConvey by Alison Rowland
package package_name import ( "testing" . "github.com/smartystreets/goconvey/convey" ) func TestIntegerStuff(t *testing.T) { Convey("Given some integer with a starting value", t, func() { x := 1 Convey("When the integer is incremented", func() { x++ Convey("The value should be greater by one", func() { So(x, ShouldEqual, 2) }) }) }) }