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


# メモ

- Amazon SNSは200カ国にSMSできる

- OpenID Provider(Twitter, Google...)で認証できる

- AD, SAMLでの認証も可能

- Data Syncronization. Syncronize user's data across devices and platforms via the cloud.

- デバイスがオフラインでもデータは使える。そのデバイスがオンラインになったときに同期可能。双方向。

- Lambdaでトリガー実装

f:id:kotakanbe:20170705234614p:plain

- Post User sign-inでwelcome email送れる

- トリガー増えてる 

-

docs.aws.amazon.com

f:id:kotakanbe:20170705235411p:plain

- 1. usernameとpasswrodをcognitoに送信

- 2. Access, ID Tokenを取ってくる

- 3. AWS Scoped Credentialsをゲット

- 4. それを使ってAWS Resourcesにアクセス

- デモ 23分くらいから

- ユーザ登録->SMS->コード入力->登録完了f:id:kotakanbe:20170706001140p:plain

- usernameの代わりにemai, phone numberを使うことができる。認証済みの場合。エイリアス機能。

 

3. dotScale 2017 - Mitchell Hashimoto - Scaling Security

Youtube


dotScale 2017 - Mitchell Hashimoto - Scaling Security

GitHub

github.com

概要

Vaultを使うとDev, Sec, Opsがやりやすくなるよ。 Dev, Sec, Opsな人それぞれの視点を整理。 システムのスケールさせようとするDevのボトルネックにならないようにセキュリティを担保するやり方。

時間

18:28

対象者

DevSecOps

レベル

初級

メモ

  • 10年前くらいからDevとOpsが仲良くなった。
  • Securityはどうよ?
  • 開発をデプロイをいかに短いサイクルでやるかって感じだけど、セキュリティはそのサイクルに入ってなかった。
  • セキュリティは、素早くパラレルにプロダクトを拡大していくスケーリングと相性悪い。セキュリティの優先順位は低かった。
  • ここ10年間は開発者はどーやって早く構築するか、オペレータはどーやってレスポンシブルにするかを考えてた。
  • 2年前くらいから、どーやってセキュアなシステムを作っていけばいいのか?ってのが加わった。
  • f:id:kotakanbe:20170629235017p:plain
  • Vault
  • f:id:kotakanbe:20170629235648p:plain
  • アプリケーション開発で必要なセキュリティ機能をVaultが提供し、HTTPSAPI化する
  • パスワードはハッシュしてDBに格納してるけど、名前、住所とかの個人情報、秘密の質問とかDB内部は平文じゃだめよね。漏れたらやばいよ。
  • Vaultに平文なげたら暗号化してVaultの後ろにあるDBに格納して、暗号化した文字列を返してくれるよ。
  • 鍵管理、ローテーション、auditはVaultがやってくれるよ。
  • Let’s encryptなどのお陰でサーバブラウザ間はHTTPS化された
  • 内部のサービス間はHTTPS化されてない
  • Vaultは有料だけどHA化できる
  • f:id:kotakanbe:20170630000053p:plain
  • f:id:kotakanbe:20170630000249p:plain
  • セキュリティ的に重要なデータはVaultに集約される
  • f:id:kotakanbe:20170630000654p:plain
  • 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

 
 
概要
goconveyを使ったテスト方法
 
時間
19:18
 
対象者
- Go開発者
- 開発時、ローカルホストでファイル変更時に自動でテストしたいひと
- その結果をブラウザで見たい人
 
レベル
初級
 
メモ
- GoConveyはローカルマシンで動かす
- ファイルの変更を検知して自動テスト
- Test History Viewで履歴見れる
- pauseボタンで自動テスト停止
- coolなUI
- goconveyをローカルのDockerコンテナで動かしとるよ
- Coverageをブラウザで見れる
 
感想
- ファイルの変更を検知して自動でテストしてくれるのはいいね
- Coverageはvim-goでいいや
- Dockerいらね。Makefileでいいや。
- テストコードの変更が必要。Vulsを変更する気にはならないけど、新規プロジェクトで試してもいいかもなぁ。
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)
            })
        })
    })
}
 

1. Go Development with Vim-go

Vim + Go歴1年半の僕ですが今まではvim-goの上っ面の部分しか知りませんでした、サーセンした、という動画。vimrcいじりながら見ると見終わる頃には超快適なGo開発環境が出来上がりますぞ。
 
 
この動画のチュートリアル
 
概要
 
時間
56:29
 
対象者
GO + Vimの人。vim-goを使いこなしたい人
 
レベル
初級
 
オススメ度
vim-goをなんとなく使ってる人は見た方が良い。
わたくし、vim-gor歴1年だけど知らない機能がたくさんあった。
 
メモ
- コンパイルエラーは:cnext, :cpreviousでジャンプ可能 
- :GoTestFuncでカーソル上のテストのみを実行可能
- :GoCoverageでカバレッジを色づけ可能
- :GoCoverageBrowserでカバレッジをブラウザ上で見れる
- vif ... v inner function
- vaf ... v all function
- AST解析して選択範囲を割り出しているらしい
- snippetは https://github.com/SirVer/ultisnips を使ってみる
- structのJSONタグ付け :GoAddTags
- structのXMLタグ付け :GoAddTags xml
- g:go_snippet_case_type="camelcase"でキャメルケースでタグ付け可能
- :GoErrCheckで関数戻り値のerrをチェックしているかチェック可能
- :GoAlternateで今のバッファに対応するテストファイルを開く
- :GoDefStackでgo-defで飛びまくった場所の一覧が見れ、ジャンプできる
- :GoDefStackClearでスタックをクリア
- :GoDeclsでファイル内の関数、type定義にジャンプ
- GoDeclsDirでディレクトリ内の"
- ]] [[で前後に定義されている関数間のジャンプが可能
- :GoDocのショートカットはK
- let g:go_auto_type_info=1でカーソル上の関数、structの型情報が自動表示される
-  :GoRenameでリファクタリング
- :GoSameIdsAutoToggleでカーソル上の変数名と同じものを自動でハイライトする
- :GoImplementsでinterfaceを実装してるやつの一覧を出す
- :GoWhicherrsでどの型のエラーが帰ってくるかわかる
- :GoPlayでブラウザ開いてgo playgoundにコピーしてくれる