Amazon Web Services ブログ

Amazon Cognito を使ってユーザー名を安全に検証

こちらは AWS コミュニティヒーローの Larry Ogrodnek によるゲストポストです。Larry は、クラウドアーキテクチャ、DevOps、サーバーレス、そして AWS における一般的なソフトウェア開発を専門とする独立系コンサルタントです。彼は、コーヒーを飲みながらいつでも AWS について話したいと考え、開発や他の開発者のサポートを楽しんで行っています。 あなたのシステムではどのような方法でユーザーを識別していますか? ユーザー名? E メール? それらが一意であることは重要ですか? Amazon Cognito ではユーザー名も E メールも大文字と小文字を区別して取り扱っていると知ったら、あなたは驚くかもしれません。私も以前はそうでした。つまり “JohnSmith” と “johnsmith” は異なり、”jOhNSmiTh” もさらに別の人になります。 E メールアドレスも同様です。こちらはさらに SMTP RFC に指定されているので、”smith” および “Smith” というユーザーは、別のメールボックスを持つ可能性があります。すごいでしょう。 私は最近、Amazon Cognito にカスタムのサインアップ検証を追加しました。今回の投稿はこの実装についてお話します。 一意性にまつわる問題 一意性の判定は、大文字と小文字を区別すること以上に難しい問題です。私はこれまで、国際化ドメイン名のホモグラフ攻撃を取り上げたメールを多くの方々から受け取ってきました。あるサイトは、”example.com” というドメイン名で登録されていましたが、使用されている “a” はキリル文字で、真正のサイトになりすまして情報を収集することをたくらんでいたのです。こうした攻撃は、ユーザー名の登録でも行われる可能性があります。もし私がチェックをしなければ、誰かが私のサイトで別のユーザーになりすますことが可能かもしれません。 予約していますか? アプリケーションには、ユーザーが作成したメッセージやコンテンツが含まれていますか? 一意性に対処することに加えて、特定の名前を予約しておくとよいかもしれません。例えば、user.myapp.com または myapp.com/user といった場所に、ユーザーが編集できる情報を保持していた場合、誰かが “signup”、”faq”、”support” の登録を行ったらどうなるでしょう。 あるいはそれが “billing” だったら? 悪意のあるユーザーが私のサイトになりすまし、攻撃の一手段として私のサイトを利用することは起こり得るのです。ユーザーが、どんな種類のものであれ受信箱やメッセージングを利用していれば、似たような攻撃も可能です。ユーザー名を予約しておくことに加えて、混乱を避けるために、ユーザーコンテンツをそれ自身のドメインから分離させておくことも必要でしょう。GitHub が、こうした攻撃に対処するために、 […]

Read More

Amazon Comprehend と Amazon SageMaker ノートブックを使ったコンテンツの分析

今日の「つながった」世界では、企業にとってソーシャルメディアチャネルを監視し、それぞれのブランドと顧客関係を保護することが重要です。企業はソーシャルメディア、E メール、およびその他のコミュニケーションを通じてその顧客、製品、およびサービスについて理解しようとしています。機械学習 (ML) モデルは、これらのニーズに対応するために役立ちますが、独自のモデルを構築して訓練するプロセスは、複雑で時間がかかるものになり得ます。Amazon Machine Learning プラットフォームは、Jupyter ノートブックを使用して Amazon SageMaker 内でアクセスできる事前に訓練されたモデルを提供します。Amazon SageMaker は、モジュラー設計の完全マネージド型エンドツーエンド ML プラットフォームですが、この例ではホストされているノートブックインスタンスのみを使用します。Amazon Comprehend は、テキスト内のインサイトと関係性を見つけるために機械学習を使用する自然言語処理 (NLP) サービスです。 このブログ記事では、ノートブック内で Twitter センチメントを分析するために Amazon Comprehend を使用する方法を説明します。 Amazon Comprehend の仕組み Amazon Comprehend は、ソーシャルメディアの記事、E メール、ウェブページ、ドキュメント、およびトランスクリプションなどの非構造型データを入力として使用します。次に、NLP アルゴリズムの力を使ってその入力を分析し、キーフレーズ、エンティティ、およびセンチメントを自動的に抽出します。また、入力データの言語を検知したり、トピックモデリングアルゴリズムを使用してデータの関連グループを見つけたりすることもできます。以下の図は、Amazon Comprehend のワークフローを説明したものです。 Amazon Comprehend Custom を使用すると、あらかじめ設定された汎用エンティティタイプとしてサポートされていない新しいエンティティタイプを識別する、またはビジネス固有の用語とフレーズについて顧客フィードバックを分析することができます。例えば、顧客がいつチャーン (解約) するか、またはいつ固有の製品 ID の 1 つに言及するかを学ぶことが可能です。 ステップ 1: Amazon SageMaker ノートブックをセットアップする AWS マネジメントコンソールで [すべてのサービス] を選択してから、機械学習にある [Amazon […]

Read More

[AWS Black Belt Online Seminar] Amazon VPC Advanced 資料及び QA 公開

先日 (2019/4/17) 開催しました AWS Black Belt Online Seminar「Amazon VPC Advanced」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20190417 AWS Black Belt Online Seminar Amazon VPC Advanced from Amazon Web Services Japan AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. Transit Gatewayが使えるようになった今、Virtual Gatewayを用いたVPN・DXを敢えて採用するようなケース・利点はあるものでしょうか A. VPC間で通信しない、従来通りのユースケースでは引き続き有効です。Transit Gatewayは機能が多い代わりに通常のVPN/DXとVGWを使うものよりコストがかかりますので、比較検討することが重要になります。https://aws.amazon.com/jp/transit-gateway/pricing/ Q. VPC Sharing にはAWS Organizationsが必要とのことなのですが、一括請求機能の利用だけで要件を満たすのでしょうか? A. いいえ。一括請求機能では要件を満たしません。 https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-sharing.html#vpc-share-prerequisites より — 共有 VPC の前提条件 組織のマスターアカウントで、リソース共有を有効にしておく必要があります。リソース共有の有効化の詳細については、AWS RAM User Guide の「AWS Organizations での共有の有効化」を参照してください。 […]

Read More

Amazon SageMaker Ground Truth を使って大量ラベル付けの品質保証を簡単に行う

このブログの記事では、大量のデータにラベル付けする機械学習システムを構築したばかりで、ラベルの一部に対して手動の品質保証(QA)を行おうとしている皆さんにご覧いただきたいと思います。限られた人員を大量の作業で困らせることなく、これを実現するためにはどうすれば良いでしょうか。本記事では、Amazon SageMaker Ground Truth のカスタムラベリングジョブを使用した実現方法を示します。 一度に1項目ずつワーカーに検証を依頼すると多くの作業が発生してしまいます。そこで、同じラベルが付与された項目をまとめて提示するカスタムラベル付け方法を実現し、各ワーカーには正しくないものをマークするように依頼します。 こうすると、ワーカーは、すべて最初からラベル付けするよりもはるかに多くのデータ量を迅速に評価できます。 品質保証が必要なユースケースの作業には、次のようなものがあります。 判断が難しいユースケースにおいて、実際に使用する前に対象分野の専門家によるレビューと承認を必要とする ラベルを確認して、ラベルを作成したモデルの品質をテストする ラベルに誤りがある項目を特定してカウントし、修正し、学習データセットに戻す モデルによって割り当てられたラベルの正確性と確信度の分析する 単一のしきい値をすべての分類クラスに適用できるか、あるいはクラスごとに異なるしきい値を使用するかどうかを確認する 初期データのラベル付けにより単純なモデルを使用し、次に品質保証のプロセスにより結果を検証し、再学習させることでモデルを改善する このブログ記事では、これらのユースケースに対応する例について説明します。 背景とソリューションの概要 Amazon SageMaker Ground Truth は、パブリックおよびプライベートのラベル付けワーカーに簡単にアクセスする機能や、一般的なラベリングタスクのための組み込みのワークフローとインターフェイスを提供します。 このブログ記事では、Ground Truth のカスタムラベリングワークフローを活用することで、システムやビジネスプロセス全体で時間のかかるもう一つの部分である、機械学習または人により付与されたラベルの品質保証を行う方法を説明します。 このサンプルケースでは、入力は個々のワーカーによって検証されるラベル付き画像のリストです。 ワーカーは一つの画面上に同じラベルのついた画像をまとめて表示し、一度にラベルのセットを検証できます。 こうすることで、セット全体を素早く確認し、正しくラベル付けされていないものをマークし、「適合しない」ものを選び出すことができます。 検証された結果は、Amazon DynamoDB テーブルに保存されます。 まとめて確認するバッチの項目数は、作業の複雑さと、容易に比較・確認するため一度に表示できる数に応じて、タスクに対し適切に選択する必要があります。 この例では、バッチサイズは 25 (テンプレートで設定可能)を選択し、確認作業の負荷とレビュー対象の画像の量のバランスをとっています。 Amazon SageMaker Ground Truthカスタムラベリングジョブの構造 Amazon SageMaker Ground Truthカスタムラベリングワークフローは、以下の要素から構成されています。 ラベリングタスクを実行するワーカー。パブリックワークフォース(Amazon Mechanical Turk を使用する場合など)またはプライベートワークフォースから選択できます。 JSON マニフェストファイル。 マニフェストは、ジョブの入力場所を Ground Truth に伝えます。 各行項目は単一のオブジェクトであり、単一のタスクに対応します。 この例では、各オブジェクトは、品質保証の作業において、一度にワーカーに提示される同じラベルを持った一群の画像を指すカスタムラベリング入力です。 ラベリング前の AWS […]

Read More

Serverless Tech/事例セミナー(2019年3月27日 実施) レポート Vol.2

2019年3月27日 実施のセミナーのレポート 3部編の Vol.2 です。他の回は以下のリンクよりアクセスください。 Vol.1 : 手段先行でも悪くはない!Ruby on LambdaではじめるServerless Vol.2 : Ruby on Lambdaで変わる大規模サービスの裏側 [本記事] Vol.3 : Webアプリエンジニアに贈るアプリケーション開発におけるサーバーレス流の考え方     Ruby on Lambdaで変わる大規模サービスの裏側 [資料はこちら] Sansan株式会社 Eight事業部 Engineering Group/エンジニアリングマネージャー 藤井洋太郎氏

Read More

【開催報告】EdTech LT Night & Meetup ~ 教育業界&学生向けサービス事例 ~

教育業界ゆえの悩みや苦労を共にするエンジニア交流を目的として”EdTech LT Night & Meetup”と題したイベントを開催しました。 教育業界、学生向けのサービスを展開するユーザ様からのLightning Talkの他、このイベントに合わせて来日したアジアパシフィックジャパン(以降 APJ)でEdStart(※1)プログラムのマネージャーを担当するHarris Samuelからのセッションも行いました。 (※1) 教育や学生向けサービスを展開するEdTech(Education × Technology)スタートアップ企業をAWSが支援するプログラム。詳細はこちら(https://aws.amazon.com/jp/blogs/news/edstart20190207/)をご参照ください。   1. 「グローバルの EdTech 業界動向と AWS EdStart に関して」 Harris, Samuel – Education Program Manager, Amazon Web Services Samuelからは、APJを中心に各国の教育業界/EdTechのトレンドやEdStartの詳細について紹介がありました。EdStartはグローバルでのプログラムのため、日本国内のみならず海外展開を目指すEdTech企業にとってメリットがあることを熱弁しておりました。   2. 「Classiサービスの運用を通してわかった、学校教育市場の現場で起きていること」 本間 知教 氏 – Classi 株式会社 プロダクト部 副部長 兼 AI室室長 学校向けに学習支援サービスを展開するClassi株式会社様からはプロダクト部の本間様がご登壇くださいました。教育現場ゆえの課題やエンジニアの苦労についてのみならず、ビジネスの特徴や考え方、校務支援システム/学習支援システムの違いや文部科学省のガイドラインの紹介など、公教育にサービスの導入を行っている彼ら故の深い話が印象的でした。   3. 「教育分野で感じる技術課題とテクノロジーによる教育の変化」 奥苑 佑治 氏 – ライフイズテック株式会社 技術統括マネージャー IT・プログラミングキャンプとオンラインサービスを展開するライフイズテック株式会社様からはオンラインサービスを統括する奥苑様がご登壇くださいました。オンライン教育プログラムで学習効率を高めるための自社での工夫に加え、ビジネス面での課題についてもお話しいただきました。また、AWSのみならず、今後新しい技術要素に対する見解、展望についても言及されておりました。 […]

Read More

今すぐ視聴しよう!AWS Innovate 見どころ紹介

2019年4月8日から開始している「AWS Innovate」をお楽しみ頂いていますでしょうか? AWS Innovate はグローバルでも人気のあるオンラインカンファレンスで,開催期間内であれば「いつでも」視聴することができ「何度でも」学び直すことができます.そしてなんと「無料で」参加することができます.今年の AWS Innovate は,2019年4月8日 から 2019年5月7日 までの「1ヶ月間」毎日開催をしていますし,全てのセッションは「30分」と短くまとまっていますので,スキマ時間を有効活用してご視聴頂くこともできます. 本記事では,AWS テクニカルトレーナーである吉田慶章が,私自身の観点から AWS Innovate の見どころを紹介したいと思います.まだ参加申込みをされていない方は,以下の公式サイトから申込みをして,視聴しましょう.いつ申し込むの?今でしょ! AWS Innovate AWS Innovate お申し込み(無料) AWS Innovate ページ AWS Innovate にアクセスして頂きますと,以下のようなリッチなページが表示されます.セッションを視聴するのはもちろんのこと,セッション資料のダウンロードも可能ですので,是非アクセスしてみてください. セッションカテゴリ 今年の AWS Innovate では,以下「全7種類」のセッションカテゴリから「全30種類」のセッションを提供しています.AWS 初学者の方も,AWS 経験者の方もお楽しみ頂けます.皆さんの「学びたいことは何か?」というモチベーションに合ったセッションから優先的に見て頂くのが良いでしょう. AWS イントロダクション AWSome Day AWS 認定 – 試験対策 「ソリューションアーキテクト – アソシエイト」 AWS 認定 – 試験準備をはじめよう AWS 最新事例とサービス紹介 AWS コアコンセプト クラウド活用のための組織と仕組み作り イノベーションカルチャー […]

Read More

Amazon Translate で分析を多言語コンテンツに拡張する Protagonist

 Protagonist の COO (最高執行責任者) である Bryan Pelley 氏のゲスト投稿です。Protagonist 流に言うと「公共の場でデータに基づいた議論を行えば、企業はもっと効率よくコミュニケーションを図ることができます。」 Protagonist はナラティブの理解において先駆け的企業です。弊社が定義するナラティブとは視聴者が抱く想念のことをいい、そこでは相互に関連し合うコンセプト、テーマ、イメージ、アイデアが 1 つのストーリーとしてまとめられたものです。ナラティブは意識的にも無意識的にも人間の意思決定に大きく関わるニーズ、欲求、欲望を深く反映するため無視できません。Protagonist では Amazon Translate を使用することで英語以外の言語でナラティブを分析できるようになり、世界を相手に顧客を獲得することが可能となりました。 Protagonist Narrative Analytics プラットフォームでは人が持つ専門知識に基づいた自然言語処理 (NLP) と機械学習 (ML) を使用して、従来のメディア、ソーシャルメディア、その他のオンラインメディア全体でお客様にとって重要なナラティブを明確にし、推定し、追跡を行います。次の図は当社の Narrative Analytics によるソリューションを示しています。 Protagonist はいくつかの例外を除き英語のみのコンテンツしか分析できず、そのせいで長期的成長が制限されていました。多くのお客様だけでなく見込み顧客も、国境を超えたナラティブに関するプロジェクトに大きな関心を示しているにもかかわらずです。 こうしたナラティブを作成するには母国語のコンテンツに取り組む必要があります。 言語に達者なスタッフのおかげで、以前は主にフランス語とスペイン語でのプロジェクトを少し行うことができました。このような場合、チームは翻訳なしでコンテンツの分析を実行することになり、使用できる NLP ツールの範囲が制限されました。またはコンテンツ全体のコーパスのサンプルセットを手動で翻訳し、その翻訳済みのセットでツール一式をすべて実行していました。これら両方のプロセスを組合わせることもありました。しかしながらこのようなスタッフの人手によるソリューションでは拡張性がなく、効率的ではありませんでした。1,000 本のメディア記事サンプルを手動で翻訳するには、約 2 週間かかります。これではお客様にタイムリーなナラティブ分析を提供するには遅すぎます。 こうした状況を Amazon Translate は変えてくれました。多言語コンテンツを英語に素早くそして効率的に翻訳し、当社のナラティブプラットフォームで分析できるようになったのです。過去に他の機械翻訳サービスをいくつか試してみましたが、パフォーマンス、コスト、場合によっては長期契約しなければならないという点でどれも満足行くものではありませんでした。一方 Amazon Translate は、スピード、翻訳の正確さ、費用対効果、そしてオンデマンドの柔軟性という最適な組み合わせで当社のニーズを満たしてくれたのです。これまで翻訳に 2 週間以上かかっていたものが、Amazon Translate を使用することで今では数分で完了できます。 2018 年にお客様の 1 社である Omidyar Network (ON) […]

Read More

シンガポールで開催された AWS DeepRacer リーグのレースで開発者が世界記録を更新

AWS DeepRacer リーグは、スキルレベルを問わず開発者が参加できる世界初の自走型レーシングリーグです。今週 (4 月 10〜11 日)、シンガポールで開催されました。これは、世界中で行われるサミットサーキットでの 20 レースのうちの 3 レース目です。  カリフォルニア州サンタクララとフランスのパリでの最初の 2 レースに続いて、シンガポールの開発者コミュニティの実力が示されて興奮が高まりました。たしかに、シンガポールチャンピオンの Juv Chan が 9.090 秒という新しい世界記録のラップタイムを記録して、その実力は証明されました。実際、シンガポールサミットのリーダーボードのトップ 7 のラップタイムは、すべてそれまでのリーダーボードの最上位 (サンタクララのレースで Chris Miller が記録した 10.43 秒) を上回ったのです。シンガポール、お見事です!

Read More

AWS における Microsoft Windows の広大な世界

2008年以来、AWS における Microsoft Windows を実行することが可能となりました (古い記事、Amazon EC2 の Big Day: プロダクション、SLA 、Windows 、および 4 つの新機能がこの 10 年間以上でどれほど AWS が進歩したかを示しています)。IDC によると、AWS は次に大きいクラウドプロバイダーの約 2 倍近い Windows Server インスタンス を持っています。 今日では、AWS はクラウドにおいて Windows および Windows アプリケーションを実行するのに最適な場所であると考えています。20 箇所の AWS リージョンで 61 個のアベイラビリティーゾーンを活用しながら、Active Directory、SQL Server、System Center など、AWS でフルスタックの Windows を実行できます。既存の .NET アプリケーションを実行することができ、また AWS SDK for .NET を使用して Visual Studio または […]

Read More