TECH PLAY

SCSKクラウドソリューション

SCSKクラウドソリューション の技術ブログ

1234

どうも、SCSKの齋藤です。 2024年3月2日に東京・池袋サンシャインシティにて開催された、JAWS DAYS 2024に参加してきました! 今回は、SCSKはこのイベントにランチサポーターという立場として協賛し、イベント内ではお昼の時間帯にLT登壇枠をいただき発表をしてきましたので、参加した内容や感想をレポートいたします! 概要 JAWS DAYS 2024は、AWSのユーザーグループであるJAWS-UGが主催し、アマゾン ウェブ サービス ジャパン合同会社が後援で行われる、JAWS-UG最大のAWSのコミュニティイベントです。 リアルなイベントということで、「ビジネスとテクノロジー」「地方と都市」「学生と社会人」など、さまざまなバックグラウンドを持つ人が同じ空間を共有します。この空間の中で、異なる価値観の人たちが、自分たちのコミュニティを飛び越えて偶然に出会う場を提供することで、新しい可能性を探っていく、そんなイベントです。 コミュニティイベントということで、AWSに関わるあらゆる人(初心者からベテランまで、エンジニアや非エンジニアな人までも)が参加して、AWSに関して学び合い、刺激をしあうイベントだと参加して感じました! 今回、SCSKはランチサポーターとしてこのイベントを支援しているため、お昼の時間に15分間LT枠をいただきました! 登壇内容 今回SCSKが発表した内容は、 「エンジニアブログ「TechHarmony」注目記事のご紹介」 というタイトルで発表しました! これは、本ブログである「TechHarmony」の中から選りすぐりの記事を紹介するという内容です。 本ブログでは、発表で紹介した記事を改めて紹介させていただきます! TechHarmonyの記事の特徴 TechHarmonyには、4つの記事の特徴があると考え、それぞれの観点で記事紹介を行いました。 ①親しみやすい記事 ・・・単なる技術(Tech)だけではなく、それを調和し組み合わせて提供できることが当社の強み。説明にはSIerならではの「優しさ」があるべき。TechHarmony の名前に込めた想いです。 ②すぐに使える! CFnテンプレ提供 ・・・筆者が考えた構成、アイディアを直ぐに試していただけるよう、Cloud Formationテンプレートの 提供を行っている記事が多いです。これも優しさかと考えています。 ③ ときにはガッツリ解説する記事も! ・・・でも、時には技術をガッツリ語る記事も発信。こうした記事での発信、ノウハウ共有は社内での技術力の底上げにも貢献しています。 ④ AWS認定取得系記事 ・・・AWSエンジニア育成・認定資格取得に注力している当社だからこそ。資格取得に関わる勉強法、ノウハウに関しての記事が多数発信されています。   特徴 ① 親しみやすい記事 PartyRockに料理レシピを提案してもらった ノーコードで生成AIアプリを作成することのできるPartyRockを使って、料理レシピを提案するアプリを作ってみた!という記事です。 日本語でどのようなアプリを作りたいかを入力することで、簡単に生成AIのアプリが作成できるという優れものです! 皆さんも生成AI入門としてぜひ一読し、料理レシピを提案してもらってはいかがでしょうか?? PartyRockに料理レシピを提案してもらった Amazon Bedrock Playgroundの新サービスであるParty Rockを使って、生成AIアプリを作った体験をご紹介します。 blog.usize-tech.com 2023.12.01   画像生成AI Stable DiffusionをAmazon SageMakerで始める 生成AIオープンソースStable Diffusionを使って画像生成をする記事です。 昨今では、Amazon Bedrockが主流ですが、Amazon SageMakerを使った生成AIの活用という手段もあります。 生成AIの学習を深めるために、Amazon SageMakerを活用した手段も学習してみるのもよいのではないでしょうか。 本記事は、文字入力から画像を生成する体験を手軽に始められるのでおすすめです! 画像生成AI Stable DiffusionをAmazon SageMakerで始める 画像生成AIとして評価の高いオープンソースのStable Diffusionを、Amazon SageMakerで簡単に実行し体験します。 blog.usize-tech.com 2022.09.21 特徴② CFnテンプレート提供でお手軽! AWSコンソールサインインとIAM操作の通知を実装する方法 AWS Configなどを使わずにサインインの通知を実装する記事です。 主にスタンドアロン環境においてこのようなセキュリティ対策を施すことを必要としている方におすすめです! CloudFormationテンプレート付なので、同様の環境をさくっと構築できます! AWSコンソールサインインとIAM操作の通知を実装する方法 [AWS CloudFormation テンプレート付き] 皆様はAWSコンソールサインインやIAM操作の通知が欲しくなったことありますでしょうか。 今回は「AWSコンソールサインイン」と「IAM操作」の通知機能をさくっと実装する例を紹介します。すぐにプロビジョニングできるように 可能な限り、AWS CloudFormation テンプレートを付けさせていただきたいと思います。 blog.usize-tech.com 2022.04.05 AWS Configを利用したElastic IPの自動削除の仕組み ElasticIPの自動削除を実施する仕組みを紹介した記事です。 使っていないElasticIPをAWS Configが検知し、自動削除を実施するまでの流れを説明しております。 意図しないコスト上昇を抑える一つの手段として、すぐに実践できるためおすすめです! こちらもCloudFormationテンプレート付なので、同様の環境をさくっと構築できます! AWS Configを利用したElastic IPの自動削除の仕組み[AWS Config+AWS CloudFormation] 弊社環境でも稼働しているElastic IPの自動削除の仕組みについてご紹介します。 Elastic IPが利用中のEC2及びENIにアタッチされていない場合、解放されるようSSM-Automationを実行させます。 blog.usize-tech.com 2024.02.09   特徴③ ガッツリ系記事 VPC Lambdaを実現しているAWS内の裏側と設計の心得三箇条 プライベート環境下でLambdaを利用する際に用いる「VPC Lambda」について解説した記事です。 VPC Lambdaの裏側を解説し、それをもとに使う際の設計に必要な心得が記載されています。 CloudFormationテンプレートで、ネットワーク環境を構築するハンズオンができ、実際にVPC Lambdaを作りながら、その裏側を理解することが可能です。 そのため、大変勉強になる記事でおすすめです! VPC Lambdaを実現しているAWS内の裏側と設計の心得三箇条 インターネットに接していないVPC Lambdaの設計ポイントとVPC Lambdaを実現しているAWS内の裏側を紹介します。 blog.usize-tech.com 2023.12.22   EC2における「管理用VPC」設置の是非について VPCにおける最近のアップデートである Multi-VPC ENI Attachmentを使い、オンプレミス時代に存在した「管理用ネットワーク」を設けることの是非について議論した記事です。 オンプレミスとクラウドでの設計思想の違いを説明しており、クラウド世代もオンプレミスの思想を理解することができます! それを踏まえた上で、クラウドではどういった設計をしなければならないか?を、セキュリティ面や運用面から考え理解を深めることができます! クラウドのベストプラクティスがなぜそうなのかを、改めて考えて理解を深めることができるので、勉強になります! EC2における「管理用VPC」設置の是非について EC2から複数のVPCに対してENIを接続できるようになる、Multi-VPC ENI Attachmentの発表がありました。 このアップデートで管理用VPCが作れるようになりますが、安易に設置すべきではないと考えています。 その理由をまとめます。 blog.usize-tech.com 2023.11.08   特徴④ AWS認定取得 1) AWS12冠をノーミスでクリアできた学習法と感想 2) ノーミスでAWS12冠を1年で制覇した必勝法 AWS認定を全て制覇する方に向けた記事の紹介です。今回は2つの記事を紹介いたします。 上記2つは類似内容に見えますが、観点が異なります。 1) 各試験ごとにどのような対策を行ったかを記載。 2) 全試験共通でどのような教材を使って対策をすべきかを記載。 両方を読むことで、ミクロとマクロの視点両方から12冠取得の勉強をすることができますので、勉強法の整理を考えている方にはおすすめの記事となっております! AWS12冠をノーミスでクリアできた学習法と感想 2023年1月にAWS PASに合格してAWS12冠となりました。全ての試験に一発合格できましたので学習法を記事にします。 これからAWS認定試験を受験される方、今年度に追い込みをかける方、来年度に全冠を目指す方の参考になれば幸いです。 blog.usize-tech.com 2023.01.27 ノーミスでAWS12冠を1年で制覇した必勝法 2023 Japan AWS All Certifications Engineersに選出していただきました。AWS認定試験を受験される方に向けて全資格に通ずる合格するための必勝法や感想をお話します。 blog.usize-tech.com 2024.02.13   1) AWS SAP on AWS Speciality 受験対策シリーズ 2) AWS Certified Data Engineer – Associateベータ試験に合格しました 特定の認定試験の対策についても記事がございます! 1) はSAP on AWSの試験のためのSAPとは?というのを全8回にわたって紹介するシリーズです。 恐らくここまでSAP on AWSの情報が揃っているのは日本で唯一だと思われますので、SAP on AWSを受験予定の方は必ず目を通すと良いと思います! 2) は新しくリリースされる認定試験のベータ版の合格体験記となります!新しい資格を取得したい方はぜひ一読してみることをお勧めします! AWS SAP on AWS Speciality 受験対策その1「学習リソース」 AWS SAP on AWS Specialityのβ試験が始まりますが、SAPの用語中心に私の知識の整理も兼ねて記事を投稿してきたいと思います。 まずはSAP on AWSに関しての学習リソースをご紹介します。 blog.usize-tech.com 2021.11.09 AWS Certified Data Engineer - Associate ベータ版試験に合格しました AWS Certified Data Engineer - Associate (DEA) のベータ版試験の合格体験記です。 blog.usize-tech.com 2024.02.14   感想 今回スポンサー枠としてJAWS DAYS 2024に参加できて、とても楽しかったです! AWSユーザーコミュニティがオンサイトで約1000人も集まった時の熱狂が凄まじく、コロナ入社世代としては大変圧倒された1日でした! AWS Jr.Championsに拝命している私としては、他のAWS Jr.Championsの方の発表を聞いたり、逆に他のAWS Jr.Championsの方が私の発表を聞いてくださったりと、コミュニティを通じて得たつながりを実感した日でもあり、またこういったイベントに登壇し、参加したいと思えた1日でした!   Appendix:資料 当日投影した資料は下記となります。 エンジニアブログTechHarmony注目記事のご紹介 Download Now! 5 Downloads
こんにちは、SCSK 浦野です。 3月になり、年度末が近いと焦りを覚えている筆者です。 前回の記事でも書きましたが、ここ最近あまり生成AIに触れていなかったのですが、Xのポストを眺めていたところ、Claude 3 のリリースについてと、肯定的な意見があるのを目にしました。 少し気になったので、AWSとClaude 3 で検索をかけたところ「 Amazon Bedrock expands its model selection with Anthropic’s industry-leading Claude 3 family, with the first model available today. 」という記事を見つけました。 内容を読むと、1モデル(Claude 3 Sonnet) は既に使えるとの事ですので、簡単に試してみました。 前提など AWS Management Console 上で利用できる機能の範囲で実施します。 Amazon Bedrockで Claude 3 Sonnet を利用可能にする 東京リージョンではまだ利用できませんので、バージニア北部(又は オレゴン)に変更します。 Amazon Bedrock を開き、左ペインの「モデルアクセス」をクリック、右上の「モデルのアクセスを管理」をクリックします。 表示された画面でAnthropic の利用をまだしたことがない場合、「ユースケースの詳細を送信」のボタンがありますのでこちらをクリックします。 クリックすると、会社名や利用用途を確認する画面が出ますので、それらを埋めて送信します。 すると、「ユースケースの詳細が送信されました」と表示され、各モデルが「ユースケースの詳細は必須です」から「リクエスト可能」に変化し、モデルの先頭のチェックボックスがチェック可能になりますので、チェックを入れ、「変更を保存」ボタンを押し、リクエストを行います。 画面が変わると、アクセスのステータスが「進行中」となりますが、数分待つと、「アクセスが付与されました」に変化します。 コンソールのチャットを設定する コンソールから今回有効化したClaude 3 Sonnetを利用したチャットを行うための設定を行います。 左ペインの [プレイグラウンド] > [チャット]を選択すると、チャットのプレイグラウンドの画面が表示されますので「モデルの選択」ボタンをクリックします。  モデルの選択画面になりますので、カテゴリで[Anthropic]を、モデルで[ Claude 3 Sonnet    v1 ]を選択し、「適用」ボタンをクリックします。 以下のようなチャットの画面が表示されます。プロンプトに指示や質問を入れると、対応して生成が行われます。 質問を試してみる 別のモデルでは、「 SCSK について教えて。」と質問すると、かなり無理がある回答がされ、ハルシネーションの良い例だと感じていたので、今回も同じ質問をしてみましたが、このモデルでもハルシネーションを起こしておりました。 (合併前の会社名がデタラメだったり、関係ない他社のグループ会社として説明されたりで、載せずらいのでキャプチャは省略します。) 次に、画像を読み込んで回答が可能になっているとの事でしたので、富士山の写真を読み込ませて説明を依頼しました。 結果として、富士山であることを認識し、かなり良い感じで回答してくれたのですが、後半で急に英単語を生成しており、今後のモデルの進化に期待したい結果となりました。( 「富士山のholding印象」って・・・)  今回は、簡単にプレイグラウンドでの操作を試しました。数週後には上位のモデルも利用可能になる予定のようですので、実装後にはそちらも試してみたいと思います。
SCSKが、Cato Networks社の Cato Distinguished Support Providers (以下、 CDSP )認定を取得しました。 “ Cato Networksの「Cato Distinguished Support Provider」認証を取得 ~迅速かつ質の高い課題解決を実現~ ” CDSPとは まず最初に、当社のCDSP認定取得における お客様にとってのメリット は、以下の3点です。 お問い合わせに対して、より質の高い回答を得ることができる お問い合わせの 解決時間(レスポンス)を、より短縮することができる 課題・ニーズに対して、将来リリースされる機能も含めた解決策を得ることができる   Cato Networks社のパートナープログラムである CDSP の説明は以下です。「The Cato Networks Partner Program 2022(一部抜粋)」 Cato enables its strategic partners to be recognized as Cato distinguished support providers (CDSPs). This accreditation will allow partners to differentiate themselves, enhance their profitability, and turn them in to subject matter experts when it comes to managing, analyzing, and troubleshooting Cato, the world’s first SASE platform. Partners will be required to meet the prerequisites, training requirements, and ongoing KPIs in order to enjoy the benefits of CDSP. Catoは、戦略的パートナーをCato distinguished support providers (CDSP)として認定します。 この認定により、パートナーは差別化を図り、収益性を向上させ、世界初のSASEプラットフォームであるCatoの管理、分析、トラブルシューティングの専門家になることができます。 パートナーは、CDSPのメリットを享受するために、前提条件、トレーニング要件、継続的なKPIを満たす必要があります。 Why CDSP?  • Official accreditation by Cato  • Differentiation – Less than 10% of our partners will be CDSP support engineers  • Free, on-line, and, on-demand training courses  • CCA – escalation to Cato’s Tier-2 support engineers  • Product early availability (EA) access  • API access and support from Cato CDSPとは何か? • Catoの公式認定である • すべてのパートナーの10%未満がCDSPとして認定 • オンラインおよびオンデマンドのトレーニングコースを無料で提供 • CCA (※)が、CatoのTier-2(ティア2)サポートエンジニアへエスカレーション • 製品早期入手(EA)へのアクセス • CatoからのAPIアクセスとサポート (※)CCAとは、 Cato Certified Associate というCato Netwroks社の技術者認定資格となります。以下のSASE/SSE Expertのようなどなたでも受験できる資格ではなく、Cato パートナーのみが受験できる資格となります。 Cato Networks社認定のSASE資格について紹介します! 無償で受講が可能なCato Networks社認定のSASE資格があることをご存じでしょうか?今回はSASE資格の概要から合格までの流れをご紹介いたします! blog.usize-tech.com 2024.02.29 CDSPとそのメリットについて CDSPとは、当社のこれまでのサポート実績が認められ、お客様に対して一流のサポートを提供するための知識と専門知識を備えていることがCato Networks社に認定されたことになります。 「 CDSPパートナーは全パートナーの10%未満 」とありますが、現在、Cato Networks社 Catoクラウドの日本国内のパートナー数は公表されていません。 Catoクラウドは、他のクラウド(AWS、Azure、Googleなど)のように、パートナープログラムが現時点ではきちんと整備されておらず、パートナーランク(プレミア、アドバンス、または、Glod、Silverなど)も存在せず、そもそもパートナー企業自体も公開されていません。 ただし、昨年(2023年7月)に日本で初めて開催したパートナーサミット東京2023で、パートナー企業 約20社(ディストリビューターを含む)が参加されていたとのことでしたので、10%未満のパートナーのみであるCDSPは 、日本国内については 2社(多くても3社)ということになるかと思います。 (※)ディストリビューター・・・お客様に直接Catoクラウドの販売(導入/保守含む)を行なわない卸業者(一次代理店) CDSPにて、当社が Tier1 (ティア1)サポートを担うことになっています。つまり、Cato Networks社の Tier2 (ティア2)サポートエンジニアへ直接エスカレーションを行うことになりましたので、ティア1を省くことで、サポートの問い合わせ時間、お客様への回答時間を大幅に短縮することが可能になっております。 また、Catoクラウドの新たな機能についても、優先的に情報提供および早期提供されるため、当社にて事前に動作検証を行い、新機能の理解を行うことで、例えば、Catoクラウドで提供されている現状機能では、解決が難しいお客様のニーズや課題について、将来的にリリースされる機能を含めた課題解決のご提案が可能となります。 これまでの FAQサイト の運営や、 エンジニアブログ にて、お客様の自己解決による課題解決時間の短縮を目指しておりましたが、今回 CDSP認定を取得することで、当社へお問い合わせいただいた課題についても、より早く、より質の高い回答が行えるようになりました。 つまり、当社とのサポート契約を行うことにおける お客様にとってのメリット は、以下の3点となります。 お問い合わせに対して、より質の高い回答を得ることができる お問い合わせの 解決時間(レスポンス)を、より短縮することができる 課題・ニーズに対して、将来リリースされる機能も含めた解決策を得ることができる   まとめ SCSKでは、2019年より Catoクラウド(Cato Cloud/Cato SASE Cloud)の取り扱いを開始しており、すでに30社以上のお客様にご契約、ご利用をいただいております。 Catoクラウドをご検討中のお客様へは、セミナーを始め、サービスの説明会(管理ポータルのデモを含む)や、ハンズオンセミナー(1日)、PoC(30日)の支援を実施しております。 Catoクラウドを採用されるお客様には、既存ネットワーク/セキュリティ環境の現状調査から、要件定義、設計・構築・導入支援、既存ネットワーク/セキュリティ機器からの移行設計/移行支援、拠点のインターネット回線の調達、拠点のSocket設置作業など、ご要望に応じて、あらゆるサービスを提供することが可能です。 導入後の運用保守サポートについても、各種マネージドサービスをフルラインナップでご提供しておりますので、ご安心してご利用いただくことが可能です。24時間365日のサービス窓口および技術問い合わせ、拠点の監視・通報サービス、Socketの4時間駆け付けのオンサイト保守、日本語SOCなど。 もちろん、日本国内だけにとどまらず、海外についても当社海外現地法人との連携により対応が可能です。 Catoクラウド(Cato Cloud/Cato SASE Cloud)にご興味をお持ちの方、ご質問がある方、導入を検討されている方がいらっしゃれば、お気軽に当社まで お問い合わせ ください。
2019年にGartnerがSASEを提唱して依頼、” SASE ”という言葉を耳にする機会は多くなってきているかと思います。 さらに、COVID-19のパンデミックによりSASE化が急激に加速したと言われています。 ですが、未だこのような悩みを持たれている方もいらっしゃるのではないでしょうか? ” SASE ”という言葉は聞いたことがあるけれど、よくわからない… ” SASE ”を 導入するメリットをより具体的に知りたい… ” SASE ”を導入したいが、導入方法がわからない… Cato Networks社認定のSASE資格 は、そんな様々なお悩みを 解決する第一歩 になります! 2024年2月現在、全部で6つのコースが用意されており、 これらのコースを受講し資格取得を目指すことでSASEにおける知識を幅広く習得することができます。 本投稿では、SASE資格の概要から合格までの流れについてご紹介していきます! SASE資格ってどんなもの? SASE資格には、以下のようなものがあります。(2024年2月現在) No. 資格名 概要 1 SASE Expert Level1  SASEについての基本的な知識を習得します。 2 SASE Expert Level2 SASEについて、さらに専門的な知識を習得します。 3 Advanced Security SASEの高度なセキュリティ機能について深く掘り下げて習得します。 4 SASE Deployment & Management SASEの導入方法について習得します。 5 Business Impact & Strategy SASEビジネス戦略を習得します。 6 SSE Expert SSEについての基本的な知識を習得します。 これらのコースには、トレーニング動画が用意されています。 トレーニング動画視聴後、クイズに回答し合格基準に達した場合に合格となります。 所要時間はすべて 3~5時間 で、動画の言語は残念ながら選択ができず 英語のみ でした(SASE Expert Level1を除く)。 また、No.2~No.5の取得には、No.1(SASE Expert Level1)の取得が条件となっております。 つまり、SASE資格の受験を検討されているすべての方はまずSASE Expert level1を取得し、それ以降は各々の職種に合わせて必要なコースを取得していく流れになります。 ちなみに、すべて受験料はかかりません! 無償で受講が可能 です。 内容は? それぞれのコースの内容についてご紹介します! SASE Expert Level1  このコースでは、SASEとは何か、SASEではないものの特徴、SASEアーキテクチャおよびユースケースといったSASEの基本的な内容を理解します。 初心者のためのSASE SASEの概要 SASE – 新しいエンタープライズ境界アーキテクチャ ポイントソリューションを統合するか、SASEアプローチを選択するか SASEへの移行ガイド マルチベンダーSASEを嫌う理由 企業VPNのデメリット SASEの収束か統合か? MPLSからSD-WAN、そしてSASEへ:企業ネットワークの進化 SASEではないものとは? SASE Expert Level2  SASE Expert Level1に続く上級認定です。 このコースでは、SASEの専門知識を向上させ、業界の方向性に沿ったネットワークとセキュリティのスキルを習得します。 シングルパス処理 グローバルクラウドとクラウドネットワーク ネイティブSD-WANが必須の理由 クラウドでのセキュリティ処理 VS エッジでのセキュリティ処理 IPS-as-a-Service SSE Expert このコースでは、SSEとは何か、SSEではないものの特徴、コアアーキテクチャ、利点、ユースケース、およびSSEベンダーの選択方法といったSSEの概要を理解します。 ボンネットを潜る: SSEのアーキテクチャ要件、利点、使用例 シングルパス処理とSSEの関係は? すべてのZTNAが同じように構築されるわけではない理由… CASBへのゴルディロックス・アプローチ:あなたの企業に「ちょうどいい」のはどれ? IPS-as-a-Service: コンテキスト共有か、それとも破綻か FWaas対SWGの(衝撃的な)限界 Advanced Security このコースでは、SASEの高度なセキュリティ機能について深く掘り下げ理解します。 CASBによるクラウドアクセスの保護 脆弱性管理と脅威ハンティング vs 脅威アクター SASEとMitre攻撃カバレッジの基礎 SASEが攻撃のチョークポイントでランサムウェアを阻止する方法 SASEサービスのセキュリティと可視性のテスト SASE Deployment & Management このコースでは、SASE POCとSASE導入の計画について理解します。 SASEのPOC計画とはどのようなものか SASEによるネットワークSLA: オーバーレイとアンダーレイの分離 SASEと高可用性プランニングの裏と表 SASEを徐々に導入する方法 SASEと簡素化された単一管理のパワー SASEのイベントデータとダッシュボードで可視性とコントロールを実現する Business Impact & Strategy このコースでは、SASEビジネス戦略を作成し、社内のステークホルダー、経営陣、取締役会に伝える方法を理解します。 そしてSASEへの切り替えが単なる技術的な意思決定ではなく、ビジネス上の意思決定である理由を理解します。 取締役会にSASEを “話す “方法 プラットフォームとポートフォリオとTelco SASEの違い SASEでセキュリティコンプライアンスを達成し、維持する方法 SASEとビジネスゴールとの整合性を確保する簡単な方法 どんな人向け? ここまでで各コースの内容についてお伝えしましたが、それでも、どのコースを選択すべきか迷われる方も少なくないのでは?と思います。 そんな方はCato Networks社推奨コースの一例をご参考にされると良いかと思います。 前述の通り、まずSASE Expert level1を取得し、それ以降は職種に合わせて必要なコースを取得していく流れになっています。   Step1 Step2 Step3 Step4 すべての人 SASE Expert level1 SASE Expert level2 – – ネットワーク専門家 SASE Expert level1 SASE Expert level2 SASE Deployment & Management – セキュリティ専門家 SASE Expert level1 SASE Expert level2 SSE Expert Advanced Security CxO SASE Expert level1 SASE Expert level2 Business Impact & Strategy – 受けるにはどうしたらよいの? それでは!ここからは、合格までの流れについてご紹介します。 大まかな流れは以下の通りです。それぞれ詳しくご説明していきます。 STEP1:申し込み STEP2:受講 STEP2:証明書の入手 STEP1 申し込み 申し込みはCato Networks社のサイトから行います。 https://www.catonetworks.com/ja/sase/sase-certification/ まずは、受講希望のコースを選択します。 ※本投稿では、SASE Deployment & Manageを選択しておりますが、どのコースを選択しても申し込み手順は同様です。 すると、以下情報の入力が求められますので入力を行い、” APPLY NOW(今すぐ申し込み)”より申し込みを行っていきます。 必要情報は以下の通りです。 Email Address:メールアドレス First Name:氏名(名前) Last Name:氏名(苗字) Job Title:役職 Company Name:会社名 Country:国 申し込みはこれで完了です。 STEP2 受講 STEP1の申し込みが完了したら、数日以内にCato Networks社よりこのような案内メールが届きます。 メールが届いたら、案内に従って受講を開始します。 メール受信から10日以内に受講する必要があります。 ログイン情報はメール本文に記載されており、初回ログイン後にPWの変更が求められます。 ログインが完了したら、My Coursesから対象のコースを選択し、受講を開始していきます。 前述の通り、トレーニング動画視聴後、クイズに回答し合格基準に達した場合に合格となります。 SASE Deployment & Manageの場合は、7つのLesson(7つ目はアンケート)が用意されており、各Lessonでトレーニング動画の視聴とクイズ(10問)への回答が必要でした。また、スコアは 80%以上 で 合格 でした! 私の場合は、4時間程度ですべてのLesson受講が完了し、無事合格することができました! STEP3 証明書の入手 合格すると、このような画面が出力されます。 証明書のダウンロードも可能でした! まとめ 今回はSASE資格についてご紹介させていただきました。 SASE資格は認知度があまり高くはないかもしれませんが、SASEが必須になりつつある今、本投稿が多くの方にご興味をもっていただくきっかけなればうれしいです! SASE資格の詳細はこちらから SASE認定 www.catonetworks.com
こんにちは、普段AWSやSnowflakeを中心としたデータ活用に関するサービス開発・案件を担当しているSCSKの高本です。 早速ですが、皆さんAWS Configはお使いでしょうか。そして、AWS Configはお好きでしょうか。 今回はAWS Configの自動修復アクションに関するお話です。本ブログ執筆前に(私が)そのままググってヒットして欲しかったタイトルをつけてみました。 AWS Configって何でしたっけ? 今回は少し内容が長くなりそうなので、AWS Configとは?の概要については割愛させていただきたいと思います。 超ざっくりで言うと、各種AWSリソースの「あるべき姿(設定、Config)」を定義し、各リソースが「あるべき姿」になっているかを都度「評価」し、必要に応じて通知や現行の設定に対する是正措置などの「アクション」を実行してくれるAWSのマネージドサービスとなっています。 よく用いられる例で言うと、セキュリティグループがある日突然フルオープンになっていた場合、AWS Configを利用することで、確実にその変更を検知し、セキュリティ管理者に対してアラート通知をしたり、事前に定めた定義に従ってセキュリティ上好ましくない現行の設定を自動的に修復したりすることができます。 AWS Config とは? - AWS Config AWS Config を使用してアカウント内の AWS リソースの設定に関する詳細を表示したり、リソース間の関係を分析したり、変更履歴を確認したりします。 docs.aws.amazon.com 背景とゴール AWS Configでは非準拠判定となったリソースに対する修復対応として、手動修復か自動修復の2パターンが選択できます。 手動修復 自動修復 このうち、自動修復に関して、AWSのドキュメントに以下のような記載があります。 自動修復後もリソースがまだ非準拠である場合は、自動修復を再試行するようにルールを設定できます。・・・ ・・・修復スクリプトを複数回実行するとコストがかかります。修復が失敗し、指定された期間内に処理が行われた場合にのみ再試行を実行します。例えば、300 秒に 5 回再試行します。 AWS Config ルールによる非準拠リソースの修復 - AWS Config ルールとリソースはコンソールで修復します。 docs.aws.amazon.com 自動修復アクション実行後も依然として対象のリソースが非準拠である場合、AWS Config側で修復アクションを再実行してくれます。また、再試行ポリシーとして回数と期間を指定できるので、対象のリソースが非準拠であり続けた場合に、半永久的に修復アクションが実行されることも未然に防いでくれます。 ・・・のはずだったのですが、実際に試したところ、なぜか修復アクションの無限ループが止まりませんでした。 結論だけ先に言うと、自動修復アクション設定時に指定するパラメータの解釈ミスが原因でした。 試行錯誤の過程やどう対処したか、についてはまとめて後述しようと思いますが、なぜ無限ループが起きたのか、また、意図しない無限ループを防ぐにはどうしたらいいのか、という点の整理をモチベーションに書いていきたいと思います。 検証シナリオ・前提 まず、再現環境を構築するために、以下のシナリオを立てたいと思います。 1.AWS Configで評価・修復対象とするサービス: AWS Lambda 2.非準拠とする条件: Lambda関数の関数URLがパブリック公開になっている場合、「非準拠」判定とする 3.非準拠だった場合に実行する自動修復アクション: Lambda関数の関数URLが依然パブリック公開状態のまま設定を上書きする 1. 2. については、何となくとっつきやすそうなAWS Lambdaの関数URLをターゲットに選びました。 3. については、自動修復アクションの再試行に関する挙動を確認するために、実行しても未来永劫、非準拠のままとなり続ける”BAD”アクションを定義します。つまり、再度パブリック公開を許す設定で上書きするアクションを自動修復アクションとして定義します。 しかし、そもそも、Lambda関数の関数URLが依然パブリック公開状態のまま設定を上書きした場合、AWS Configはそれを設定変更として認識・検知してくれるのでしょうか。 答えは「Yes」です。 もちろんサービスによって例外あるかと思いますが、AWS Lambdaの場合はソースコードやその他設定に実質何も変更点がなくてもマネジメントコンソールやAWS CLIから更新をかければ、しかるべきUpdateのAPIが観測され、それがAWS Config側にちゃんと伝わるようになっています。 ということで、このシナリオ前提に立って具体的な環境を用意していきます。 環境準備・動作確認 評価対象のLambda関数を作成 AWS Configが評価する対象のLambda関数「awsConfigTestLambdaFunction」を用意します。特にソースコードにはデフォルトのまま修正を加えず、関数URLだけ追加設定します。この時関数URLの認証タイプには「NONE」を指定します。 払い出された関数URLのエンドポイントにブラウザ(インターネット経由)からアクセスできることを確認します。関数URLの認証タイプは「NONE」を設定しているので、本エンドポイントを知り得るクライアントからは認証なしにアクセスができる状態であり、セキュリティ的に脆弱な状態です。 AWS Configマネージドルールを作成 AWS ConfigにはマネージドルールとしていくつかのAWS管理の評価ルールが予め用意されています。カスタムLambdaルールは作成せず、今回のユースケースに合うマネージドルール「Lambda-function-public-access-prohibited」を選択します。先ほど作成したLambda関数「awsConfigTestLambdaFunction」を本ルールを用いて評価していきます。 lambda-function-public-access禁止 - AWS Config Lambda 関数ポリシーがパブリックアクセスを禁止しているかどうかを確認します。 docs.aws.amazon.com 評価モードの設定では、トリガー条件を限定する+AWS CloudTrailのAPIログのノイズ排除を目的に、変更範囲を先ほど作成したLambda関数のみに限定します。 以上の設定でマネージドルールを作成します。「lambda-function-pubilc-access-prohibited-001」というルール名で作成します。ルールが正常に機能していれば、さきほど作成したLambda関数に対して実際にConfigルールの評価が走り、「最後に成功した検出評価」に緑色のチェックマークと最新の評価日時が表示されます。対象のLambda関数はパブリック公開状態のため、「コンプライアンス」では当然「非準拠」の評価となっています。   自動修復アクションの設定 作成したConfigルール「lambda-function-pubilc-access-prohibited-001」に対して自動修復アクションを設定していきます。修復アクションを定義・設定することで、「非準拠」判定となったリソースに対してなんらかの是正措置を取ることができます。 AWS Configでは、この修復アクションを実行する際、裏側でAWS Systems Manager Automationを利用します。 検証シナリオのおさらいですが、今回は自動修復アクションの再試行に関する挙動を確認したいので、実行しても未来永劫、非準拠のままとなり続ける”BAD”アクションを自動修復アクションで定義します。具体的には、対象のLambda関数の関数URLを、依然パブリック公開状態のまま設定を上書きするような操作をAutomationのランブック(awsConfigTestRunbook001とします)で定義します。 schemaVersion: '0.3' description: AWS Configの自動修復アクションに使用するランブック parameters:   AutomationAssumeRole:     type: String     allowedValues:       - arn:aws:iam::XXXXXXX:role/testRoleForAWSConfigTest assumeRole: arn:aws:iam::XXXXXXX:role/testRoleForAWSConfigTest mainSteps:   - description: AWS Configの自動修復アクションに使用するランブック     name: InvokeLambdaFunction     action: aws:invokeLambdaFunction     maxAttempts: 10     timeoutSeconds: 60     isEnd: true     inputs:       InvocationType: RequestResponse       FunctionName: arn:aws:lambda:ap-northeast-1:XXXXXXX:function:modifyLambdaFunctionUrlPublicAccessSetting このランブックの中で別のLambda関数()である「modifyLambdaFunctionUrlPublicAccessSetting」を呼び出します。上のランブック(.yml)は単なるwrapperであって、具体的な自動修復アクションの中身として、Lambda関数「modifyLambdaFunctionUrlPublicAccessSetting」を以下の通り定義します。 import boto3 from typing import Dict import time target_function_name: str = 'awsConfigTestLambdaFunction' lambda_client: object = boto3.client('lambda') def lambda_handler(event, context):   try:     if is_the_target_lambda_func_exist():       lambda_remove_permission()       time.sleep(1)       lambda_add_permission()       return {         "message": f"Successfully updated the permission attached to this func: {target_function_name}."       }     else:       return {         "message": f"the target lambda func may not exist: {target_function_name}."       }   except Exception as e:     return e def lambda_remove_permission() -> None:   try:     lambda_client.remove_permission(       FunctionName=target_function_name,       StatementId='FunctionURLAllowPublicAccess'       )   except Exception as e:     print(e) def lambda_add_permission() -> None:   try:     lambda_client.add_permission(       FunctionName=target_function_name,       StatementId='FunctionURLAllowPublicAccess',       Action='lambda:InvokeFunctionUrl',       Principal='*',       FunctionUrlAuthType='NONE'     )   except Exception as e:     print(e) def is_the_target_lambda_func_exist() -> bool:   try:     funcs: Dict = lambda_client.list_functions()     if 'NextMarker' in funcs:       next_marker: str = funcs['NextMarker']       print(f'list_functions API NextMarker: {next_marker}')     else:       next_marker = ''       print(f'list_functions API NextMarker: {next_marker}')     for func in funcs['Functions']:       if func['FunctionName'] == target_function_name:         return 1       else:         pass          while len(next_marker) > 0:       funcs: Dict = lambda_client.list_functions(Marker=next_marker)       if 'NextMarker' in funcs:         next_marker: str = funcs['NextMarker']         print(f'list_functions API NextMarker: {next_marker}')       else:         next_marker = ''         print(f'list_functions API NextMarker: {next_marker}')       for func in funcs['Functions']:         if func['FunctionName'] == target_function_name:           return 1         else:           pass          return 0   except Exception as e:     print(e) このLambda関数「modifyLambdaFunctionUrlPublicAccessSetting」では、AWS Configの評価ターゲットとなる別のLambda関数「awsConfigTestLambdaFunction」に適用されている既存のリソースベースポリシーを一度引きはがして、関数URLの認証タイプ「NONE」のリソースベースポリシーを当該関数に再適用する”BAD”アクションを実行します。当然このLambda関数が実行されても、Lambda関数「awsConfigTestLambdaFunction」は「非準拠」の評価のままとなります。 以下の図は修復アクションを実行した際のConfigルールの画面になります。アクションは正常に実行されるものの、コンプライアンスは「非準拠」の評価のままです。 上の画面は修復アクション設定後の画面なのですが、実は、修復アクションの設定において説明を省いていたパラメータがあります。以下の通り、自動修復アクションでは再試行に関わる回数と期間(秒単位)を指定できます。 パラメータとして「再試行までに:10」「秒:600」で自動修復アクションを設定したところ、無限ループが発生しました。てっきり600秒間に10回自動修復アクションを再試行してくれるのかと勝手に思っていました。以下は、AWS Systems Manager Automationのランブック実行履歴ですが、2~3分ぐらいの間隔で修復アクションの再実行が繰り返されました。10回以上再試行され、かつ初回のランブック実行から600秒経過しても再試行が止まりません。 試しに以下の通り「再試行までに:1」「秒:60」で自動修復アクションを再設定しても同様に無限ループが発生しました。再試行回数1回に設定しているのになぜ複数回実行されてしまうのか、この時点ではわからず。。。 とりあえず、無限ループ発生の再現自体はここまでで完了となります。   結論:自動修復アクションの無限ループの止め方 記事の冒頭でちらっと述べましたが、結論、自動修復アクションで指定する本パラメータの解釈ミスが原因でした。切り分けの過程でAWS CLI Commad Referenceの本設定に関するAPI仕様を確認していたところ、より具体的なパラメータの解説が記載されていました。 put-remediation-configurations — AWS CLI 1.32.51 Command Reference docs.aws.amazon.com MaximumAutomaticAttempts -> (integer) The maximum number of failed attempts for auto-remediation. If you do not select a number, the default is 5. For example, if you specify MaximumAutomaticAttempts as 5 with RetryAttemptSeconds as 50 seconds, Config will put a RemediationException on your behalf for the failing resource after the 5th failed attempt within 50 seconds. RetryAttemptSeconds -> (long) Time window to determine whether or not to add a remediation exception to prevent infinite remediation attempts. If MaximumAutomaticAttempts remediation attempts have been made under RetryAttemptSeconds , a remediation exception will be added to the resource. If you do not select a number, the default is 60 seconds. For example, if you specify RetryAttemptSeconds as 50 seconds and MaximumAutomaticAttempts as 5, Config will run auto-remediations 5 times within 50 seconds before adding a remediation exception to the resource. この黄色マーカの記載でようやく腑に落ちました。つまり、マネージドルール上の「再試行までに:XX」で設定した回数分の自動修復アクションが、「秒:XX」で設定した秒数以内に完遂した場合、RemediationExceptionが投げられて自動修復アクション再試行が停止する、という解釈が正しかったようです。 言い換えれば、「再試行までに:XX」で設定した回数分の自動修復アクションが、「秒:XX」で設定した秒数以内に完遂しない場合、RemediationExceptionが投げられず、自動修復アクション再試行が停止しない、という解釈になります。 無限ループが発生したケースでは、①「再試行までに:10」「秒:600」と、②「再試行までに:1」「秒:60」の2パターンを検証しました。10秒間に1回ペースの頻度では指定時間内に指定回数の自動修復アクション実行が終わらず、結果無限ループが発生していた、ということが推察できます。 無限ループを止めてみる それではパラメータの使い方が正しく解釈できたところで、再度トライしてみます。 「再試行までに:1」「秒:600」というかなり緩めの設定をすることで、自動修復アクションの無限ループが止まることを期待します。 さきほどはAWS Systems Manager Automationのランブック実行履歴から確認しましたが、AWS CloudTrailで別角度からより詳細に確認してみます。 一番下の赤枠の「2月27, 2024, 16:57:24」「2月27, 2024, 16:57:25」の部分は、先ほど作成したLambda関数「modifyLambdaFunctionUrlPublicAccessSetting」をLambdaコンソール上から直接実行した際のAPIコールを示しています。 このAPIコールを契機に真ん中赤枠「2月27, 2024, 16:57:54」の部分で「PutEvaluations」が呼ばれています。このAPIコールは、AWS Configが今回の評価ターゲットであるLambda関数「awsConfigTestLambdaFunction」を実際に評価し、「非準拠」の判定を下している部分です。 そしてさらに、この「PutEvaluations」を契機に「StartAutomationExecution」が呼ばれていています。このAPIコールは、AWS Configが自動修復アクションを開始している部分です。自動修復アクションが開始されると、アクションに紐づくLambda関数「modifyLambdaFunctionUrlPublicAccessSetting」が再度呼ばれ、「AddPermission」と「RemovePermission」が再度観測されます。 無限ループが発生していた時は、一番上の赤枠の「PutEvaluations」確認後、 「PutEvaluations」→「StartAutomationExecution」→「RemovePermission」→「AddPermission」→「PutEvaluations」→「StartAutomationExecution」→「RemovePermission」→「AddPermission」→「PutEvaluations」→・・・ という感じでループが発生していました。 しかし、自動修復アクションにて「再試行までに:1」「秒:600」の設定をしたことで、一番上の赤枠の「PutEvaluations」以降、「StartAutomationExecution」が観測されることはありませんでした。(もちろん、AWS Systems Manager Automationのランブック実行履歴上も再実行が繰り返されていないことも確認済み) …ということで無事、無限ループ解消となります!   最後に いかがでしたでしょうか。 最初からドキュメントしっかり読みこめば済む話ではありましたが、おかげでAWS Configと少しだけ仲良くなれたような気がします。 本記事がいつかどこかで少しでも皆様のお役に立てれば幸いです。
こんにちは。SCSKのふくちーぬです。 前回、Amazon Data Firehose を利用して、Amazon CloudWatch Logs のログを Amazon S3 に転送する手法をご紹介しました。こちらの記事を読んでいない方は、是非ご一読ください。 Amazon CloudWatch Logs を Amazon Data Firehose のみ利用して、解凍処理して Amazon S3 に転送する [Amazon Data Firehose + AWS Lambda + Amazon CloudWatch + Amazon S3 + AWS CloudFormation] Amazon CloudWatch Logs のログを Amazon Data Firehose を利用して解凍済みのログとして Amazon S3 に転送する方法を紹介します。 blog.usize-tech.com 2024.02.15 今回は、Amazon Data Firehose で Amazon S3 へ転送する際にログに含まれるヘッダー部分の抽出がサポートされたので紹介します。 Amazon Data Firehose で S3 転送時にメッセージ抽出機能がサポートされました 以前までは、ログイベント本体に加えて転送処理に関する付加情報が付与されていました。 今回のアップデートで、ログイベント本体のみS3やSplunkに配信することが可能になりました。メッセージ抽出にかかる料金は無料です。 Amazon Data Firehose adds message extraction feature for decompressed CloudWatch Logs aws.amazon.com ログイベント本体のみ配信することで、メッセージ(データ量)の削減も期待できます。 例えば後続の分析処理にてヘッダー部分の処理をわざわざ実装していた方はすぐに導入することで、カスタム処理の排除とデータ保管料の削減効果を得ることができます。 Writing to Amazon Data Firehose Using CloudWatch Logs - Amazon Data Firehose Guide for writing to Amazon Data Firehose from CloudWatch Logs. docs.aws.amazon.com 検証 実際にやってみます。リソースは、前回デプロイしたものを利用します。 Amazon Data Firehoseのマネジメントコンソールを開きます。 “レコードを変換および転換”を確認すると、新たに「ログイベントからのみメッセージデータを抽出」の欄が追加されています。 “ログイベントからのみメッセージデータを抽出”をオンに設定します。 ログの確認 Lambdaにてテストイベントを作成して実行します。CloudWatch Logsへログが出力され、FirehoseでS3へのログ転送を実施します。 ログの中身を確認すると、ログイベントのメッセージのみ配信されていることを確認できました。 データ量の削減もできていることを確認できました メッセージ抽出機能をオフ メッセージ抽出機能をオン 最後に いかがだったでしょうか。 Data Firehose のメッセージ抽出機能について解説しました。 S3やSplunkに配信後、後続の分析処理で余分なヘッダー部分の除外処理を実装する必要がなくなりました。これに伴いメッセージ(データ量)も削減できるため、オブジェクトの保管料も削減できます。 本記事が皆様のお役にたてば幸いです。 ではサウナラ~🔥
本記事は、SCSKの運営する本エンジニアブログ「TechHarmony」の Catoクラウドのまとめ記事 になります。 ※ Catoクラウドの記事がかなり増えて来たので、適宜まとめ記事を作成する予定です。まとめ記事については、定期的に内容を更新する予定です。 SCSKでは、2019年よりCato Networks社のCatoクラウド(Cato Cloud/Cato SASE Cloud)の取り扱いを開始しており、すでに30社以上のお客様にご契約、ご利用をいただいております。 一方で、Catoクラウドは、日本語の情報が非常に少ないため、2022年7月から FAQサイト の運営を開始し、2023年8月から、本エンジニアブログ「 TechHarmony 」にて、 Catoクラウド、ゼロトラスト/SASE/SSEに関するニュースや最新動向・技術トレンド、Catoクラウドで新たにリリースされた機能の検証結果などを記事 にしています。 FAQやTechHarmonyで、Catoクラウドの日本語でのお役立ちサイトを目指し、CatoクラウドやSASEの知名度向上に少しでも寄与できればと考えています。 Catoクラウドの概要 Catoクラウドについて サービス体系について(2024年最新版) 旧サービス体系について(2024年1月末まで) 2024年2月の価格体系変更について   Catoクラウドの各機能概要 Catoクラウドの管理ポータル Cato管理アプリケーション(CMA)について SD-WAN、ZTNAについて QoSについて FWaaS、SWGについて Firewall機能について LAN Firewall機能について IPS、NGAMについて DNS Security、RBIについて RBI機能について CASB、DLPについて CASB機能について CASBでのアプリケーション制御について アプリケーション数ではなくカバレッジが重要 DLP機能について EPP、XDRについて 世界初SASEベースのXDRについて   Catoクラウドのご利用 はじめの一歩 ログの確認方法 Cato Statusページ   よくご質問いただく事項(Top5) 1. 送信元IPの固定化 2. Socketなしですべてモバイルユーザにする場合の注意点 3. 拠点接続の冗長化構成 4. 既存WANからの移行方法 5. クライアント常時接続機能(Always-On)   トラブルシューティング 拠点接続の不具合時 クライアント接続の不具合時   Deep Dive TLS Inspection機能で躓く証明書の仕組み TCP Acceleration の仕組みと効果測定 CASBでQUIC プロトコルをブロックすべき理由   その他関連サイト Catoクラウドサービス紹介ページ Catoクラウド FAQサイト Catoクラウド導入・運用の悩みは“パートナー選び”で解決 SASE実態調査(2023年度版) SASEとSSEの違いについて 2023年ゼロトラストネットワーキング10大ニュース   まとめ Catoクラウドに少しでも興味をお持ちになられた方は、ご遠慮なくSCSKまで お問い合わせ ください。 SASE、Cato Networks、Catoクラウド(Cato Cloud/Cato SASE Cloud)自体の知名度がまだまだ低い状況です。 SCSKでは、2021年からSASEの主要ソリューションを一同に紹介を行うオンラインセミナー「SCSK SASE Solution Summit(通称S4 エスフォー)」を定期的に開催しております。 これまで14回開催し、1,800名以上の方にご参加いただいております。 S4については、2024年2月に開催済みで、次回は2024年4月以降に開催予定ですので、改めてご案内します。 来月(2024年3月14日)に、Catoクラウドの主要機能を2時間・デモ形式でご覧いただけるセミナーを開催しますので、ご興味のある方は是非ご参加ください。 Catoクラウドデモセミナー~Catoクラウドの主要機能を2時間で網羅~ 本セミナーでは、世界初のSASEである「Catoクラウド」の概要をたっぷり2時間、デモ形式でご覧いただきます。 また、ご希望の方(先着10名様)は、デモ環境に対して、お手元の環境からハンズオン形式でCatoクラウドに触れて頂くことが可能な参加型セミナーです。 www.scsk.jp SASE、Catoクラウドセミナー以外に、Catoクラウドのお客様導入事例の制作、FAQサイト運営、この TechHarmony(技術ブログ)で、皆様のお役に立て、Catoクラウドの知名度アップに少しでも貢献できればと考えておりますので、よろしくお願いします。
本記事の内容は、Cato Networks社の以下の記事を元に日本語へ意訳、再構成したものとなります。 Cato Management Application Catoクラウドでは、管理ポータルである Cato管理アプリケーション ( Cato Management Application 、以下、 CMA )は、お客様のCatoクラウドのすべての環境を完全に可視化し、コントロールすることが可能です。 管理者は、CMAでセキュリティとネットワーキングのポリシーを定義し、サイトとユーザー接続を管理し、インシデントを調査することができます。 CMAは、Catoプラットフォームのネイティブな部分であり、ソフトウェアのインストールやハードウェアの導入は不要で、Webブラウザで利用することができます。 ※CMAは、URLが “cc.catonetworks.com” だったことから、以前はCC2(シーシーツー)と言われていました。 どこでも一貫したポリシー Catoのすべての機能は、CMAと連携して開発されており、Catoクラウドのデプロイメントを管理するための真のシングルペイン(一つの画面で必要な情報が全て閲覧できること)を保証します。FWaaS、Threat Prevention、CASB、DLP、RBI、および今後リリースされるすべてのセキュリティエンジンのポリシーは、CMAにすべて一元管理され、Catoクラウドプラットフォーム全体で一貫して適用されます。しばしばセキュリティポスチャにギャップを生じさせ、攻撃対象領域を拡大するような、バラバラのセキュリティアプライアンス製品に設定をプッシュするような必要はありません。Catoクラウドを使用することで、管理者は、組織全体・全世界でわずか数分で変更が反映される包括的なグローバルセキュリティの適用範囲を保証することができます。 ワンストップのネットワーク管理 Catoクラウドは、すべてのネットワーキングとセキュリティ機能を単一のソフトウェアスタックから提供し、真に統合された管理アプリケーションを実現します。ネットワークの設定、監視、トラブルシューティングは、CMAで一元管理することができます。お客様は、CatoのSD-WANエッジ(Socket/vSocket)、IPsecまたはCross Connectを介した物理ネットワークとクラウドネットワークの接続性、およびCatoのグローバルプライベートバックボーンを介した企業のルーティング、DNS、DHCP、QoS、ネットワーク最適化を完全に可視化し、制御することができます。ネットワークチームとセキュリティチームは、1つのプラットフォームを使用してインシデントの解決に協力できるため、効率性と生産性が向上します。 実用的な情報を瞬時に可視化 CMAは、ハイレベルなトポロジービューから、サマリーダッシュボード、特定のサイト、ユーザー、イベントまで、企業環境全体を全て可視化します。トポロジービューは、すべてのサイトとユーザーの位置、接続性、主要統計に関する情報をリアルタイムで表示します。ダッシュボードは、脅威、クラウドおよびアプリケーションの使用状況、ネットワークパフォーマンス、リモートアクセスなどの主要な次元にわたって要約された情報を提供します。イベントディスカバリーエンジンにより、アカウント内のすべてのイベント(セキュリティ、ネットワーク、アクセス、デバイス)をカスタマイズして検索することができます。リアルタイム表示から履歴ダッシュボード、そして数回のクリックでイベントのフィルタリングされたリストに移動できる機能により、CMAは管理者にとって非常に効率的なモニタリングおよびトラブルシューティングツールとなります。 セキュリティインシデントの合理化された調査 Catoクラウドは、セキュリティチームがネットワークとセキュリティ管理を提供する同じプラットフォーム内でインシデントに対処することを可能にします。侵害の指標は、Cato XDRによって「ストーリー」としてグループ化され、専用のCMA XDRワークベンチでセキュリティチームに提示されます。ストーリーをワンクリックすると、調査ツールのフルセットとともにインシデントの詳細が表示されます。情報の構文、オブジェクト、イベントとポリシーへの参照は一貫しており、非常に理解しやすくなっています。CMAを通じて修復ステップを簡単に開始できるため、企業の攻撃への対応能力がタイムリーに向上します。 ※Catoの「ストーリー」は、1つまたは複数のセンサーによって生成されたイベントの相関関係。 きめ細かなRBACによる管理者のプロビジョニングと管理 管理者のCMAアクセスを保護および制御することは、組織の強固なセキュリティ体制を確保する上で最も重要です。CMAは、SSOおよびMFAプロバイダとポリシーのサポートにより、IT組織構造にシームレスに適合するように設計されています。きめ細かな役割ベースアクセス制御( Role-based Access Controls:RBAC )を定義することで、特定の管理者やチームが特定の地域や担当ドメインを制御できるようになります。すべての管理者の活動は、包括的な監査証跡に記録され、SASE環境の完全な管理責任を保証します。 ライセンスとSD-WANエッジを一元管理 CMAは、ライセンスとSD-WANエッジのハードウェアであるSocketの可視性を提供します。管理者は、サイト、ユーザー、およびサービスのライセンス割り当てを一目で確認できるため、現在の展開と将来の成長に対して適切なカバレッジを確保できます。Cato Socketのステータスは、出荷追跡、展開ステータス、ソフトウェアアップデート、および 故障修理対応( Return Merchandise Authorization : RMA )に至るまで、デバイスのライフサイクル全体を通じて追跡できます。ライセンスとハードウェアのインベントリ管理を CMA に取り込むことで、管理者は Cato 環境の全範囲を包括的かつシンプルに管理できるようになります。 まとめ Catoクラウドの管理ポータルであるCato管理アプリケーション(CMA)について解説をしました。 Catoクラウドに少しでも興味をお持ちになられた方は、遠慮なくSCSKまでお問い合わせください。 SASE、Cato Networks社、Catoクラウド(Cato Cloud/Cato SASE Cloud)自体の知名度もまだまだ低い状況です。 SCSKでは、2021年からSASEの主要ソリューションを一同に紹介を行うオンラインセミナー「SCSK SASE Solution Summit(通称S4 エスフォー)」を定期的に開催しております。これまで14回開催し、1,800名以上の方にご参加いただいております。 S4については、次回2024年4月以降に開催する予定ですので、改めてご案内いたします。 来月、2024年3月14日には、Catoクラウドの主要機能を2時間・デモ形式でご覧いただけるセミナーを開催しますので、ご興味のある方は是非ご参加ください。 Catoクラウドデモセミナー~Catoクラウドの主要機能を2時間で網羅~ 本セミナーでは、世界初のSASEである「Catoクラウド」の概要をたっぷり2時間、デモ形式でご覧いただきます。 また、ご希望の方(先着10名様)は、デモ環境に対して、お手元の環境からハンズオン形式でCatoクラウドに触れて頂くことが可能な参加型セミナーです。 www.scsk.jp SASE、Catoクラウドセミナー以外に、Catoクラウドのお客様導入事例の制作、FAQサイト運営、この TechHarmony(技術ブログ)で、皆様のお役に立て、Catoクラウドの知名度アップに少しでも貢献できればと考えております。
こんにちは、広野です。 AWS AppSync を使用したアプリケーションを開発する機会があり、リゾルバ、主に VTL の書き方に関してまとまった知識が得られたので紹介します。前回からの続きもので、UpdateItem の書き方を紹介します。 本記事では、VTL の書き方にフォーカスしています。ご了承ください。 AWS AppSync、リゾルバ、VTL の説明については以下の記事をご覧下さい。 AWS AppSync リゾルバ (VTL) の書き方サンプル No.1 - Amazon DynamoDB GetItem Amazon DynamoDB に VTL で GetItem をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.01.09 AWS AppSync リゾルバ (VTL) の書き方サンプル No.2 – Amazon DynamoDB BatchGetItem Amazon DynamoDB に VTL で BatchGetItem をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.01.19 AWS AppSync リゾルバ (VTL) の書き方サンプル No.3 – Amazon DynamoDB Query Amazon DynamoDB に VTL で Query をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.02.26 AWS AppSync リゾルバ (VTL) の書き方サンプル No.4 - Amazon DynamoDB PutItem Amazon DynamoDB に VTL で PutItem をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.02.26 AWS AppSync を使って React アプリからキックした非同期ジョブの結果をプッシュ通知で受け取る 非同期ジョブを実行した後、結果をどう受け取るか?というのは開発者として作り込み甲斐のあるテーマです。今回は React アプリが非同期ジョブを実行した後に、AWS AppSync 経由でジョブ完了のプッシュ通知を受け取る仕組みを紹介します。 blog.usize-tech.com 2022.12.01 Amazon DynamoDB に UpdateItem する VTL 例えば、AWS AppSync から以下のリクエストを受けたとします。Amazon DynamoDB には適切なデータがある想定です。テーブル名はリゾルバの別の設定 (Data Source) で行います。 引数となるパラメータ: input の中にパーティションキー pkey、ソートキー skey、任意の属性データ 今回は受け取ったパーティションキーとソートキーのパラメータをそのまま UpdateItem の条件に当てはめて、input の中に格納されている属性をそのまま使用してデータを更新します。 リクエストマッピングテンプレート { "version": "2018-05-29", "operation": "UpdateItem", "key": { "pkey": $util.dynamodb.toDynamoDBJson($ctx.args.input.pkey), "skey": $util.dynamodb.toDynamoDBJson($ctx.args.input.skey) }, #set( $expNames = {} ) #set( $expValues = {} ) #set( $expSet = {} ) #set( $expAdd = {} ) #set( $expRemove = [] ) #foreach( $entry in $util.map.copyAndRemoveAllKeys($ctx.args.input, ["pkey", "skey"]).entrySet() ) #if( $util.isNull($entry.value) ) #set( $discard = ${expRemove.add("#${entry.key}")} ) $!{expNames.put("#${entry.key}", "${entry.key}")} #else $!{expSet.put("#${entry.key}", ":${entry.key}")} $!{expNames.put("#${entry.key}", "${entry.key}")} $!{expValues.put(":${entry.key}", $util.dynamodb.toDynamoDB($entry.value))} #end #end #set( $expression = "" ) #if( !${expSet.isEmpty()} ) #set( $expression = "SET" ) #foreach( $entry in $expSet.entrySet() ) #set( $expression = "${expression} ${entry.key} = ${entry.value}" ) #if ( $foreach.hasNext ) #set( $expression = "${expression}," ) #end #end #end #if( !${expAdd.isEmpty()} ) #set( $expression = "${expression} ADD" ) #foreach( $entry in $expAdd.entrySet() ) #set( $expression = "${expression} ${entry.key} ${entry.value}" ) #if ( $foreach.hasNext ) #set( $expression = "${expression}," ) #end #end #end #if( !${expRemove.isEmpty()} ) #set( $expression = "${expression} REMOVE" ) #foreach( $entry in $expRemove ) #set( $expression = "${expression} ${entry}" ) #if ( $foreach.hasNext ) #set( $expression = "${expression}," ) #end #end #end "update": { "expression": "${expression}", #if( !${expNames.isEmpty()} ) "expressionNames": $utils.toJson($expNames), #end #if( !${expValues.isEmpty()} ) "expressionValues": $utils.toJson($expValues), #end }, "condition": { "expression": "attribute_exists(#pkey) AND attribute_exists(#skey)", "expressionNames": { "#pkey": "pkey", "#skey": "skey" } } } operation には、UpdateItem を書きます。これは Amazon DynamoDB に UpdateItem するぞ、という意思表示です。 アプリから受け取った引数はマッピングテンプレート内では $ctx.args 内に格納されます。今回は input の中に必要なキーや属性をまとめて格納しています。そうすることで、パーティションキー、ソートキー以外は任意のデータを可変で入れ込むことができます。 このコードは以下の AWS 公式サイトのドキュメントを参考にしました。正直、これを独力で書くのは難しいです。コード内、pkey と skey の部分だけ書き換えれば使えます。 DynamoDB のリゾルバーのマッピングテンプレートリファレンス - AWS AppSync AWS AppSync の DynamoDB のリゾルバーのマッピングテンプレートリファレンス docs.aws.amazon.com レスポンスマッピングテンプレート 結果は配列に格納されます。戻ってきたデータをそのままアプリ側に戻す書き方です。 $utils.toJson($context.result) VTL に関しては以下の AWS 公式ドキュメントも必要に応じてご確認ください。 Resolver mapping template reference for DynamoDB - AWS AppSync Resolver Mapping Template Reference for DynamoDB for AWS AppSync. docs.aws.amazon.com まとめ いかがでしたでしょうか。 UpdateItem も AWS AppSync のサブスクリプションで使用することがあります。他のオペレーションと比べて難解なコードになっていますが、AWS 公式ドキュメントのコードが非常に良くできているので、ほぼそのまま使えます。 本記事が皆様のお役に立てれば幸いです。
こんにちは、広野です。 AWS AppSync を使用したアプリケーションを開発する機会があり、リゾルバ、主に VTL の書き方に関してまとまった知識が得られたので紹介します。前回からの続きもので、PutItem の書き方を紹介します。 本記事では、VTL の書き方にフォーカスしています。ご了承ください。 AWS AppSync、リゾルバ、VTL の説明については以下の記事をご覧下さい。 AWS AppSync リゾルバ (VTL) の書き方サンプル No.1 - Amazon DynamoDB GetItem Amazon DynamoDB に VTL で GetItem をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.01.09 AWS AppSync リゾルバ (VTL) の書き方サンプル No.2 – Amazon DynamoDB BatchGetItem Amazon DynamoDB に VTL で BatchGetItem をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.01.19 AWS AppSync リゾルバ (VTL) の書き方サンプル No.3 – Amazon DynamoDB Query Amazon DynamoDB に VTL で Query をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.02.26 AWS AppSync を使って React アプリからキックした非同期ジョブの結果をプッシュ通知で受け取る 非同期ジョブを実行した後、結果をどう受け取るか?というのは開発者として作り込み甲斐のあるテーマです。今回は React アプリが非同期ジョブを実行した後に、AWS AppSync 経由でジョブ完了のプッシュ通知を受け取る仕組みを紹介します。 blog.usize-tech.com 2022.12.01 Amazon DynamoDB に PutItem する VTL 例えば、AWS AppSync から以下のリクエストを受けたとします。Amazon DynamoDB には適切なパーティションキー、ソートキーがある想定です。テーブル名はリゾルバの別の設定 (Data Source) で行います。 引数となるパラメータ: input の中にパーティションキー pkey、ソートキー skey, 任意の属性データ 今回は受け取ったパーティションキーとソートキーのパラメータをそのまま PutItem の条件に当てはめて、input の中に格納されている属性を全てそのまま書き込みます。 リクエストマッピングテンプレート { "version": "2018-05-29", "operation": "PutItem", "key": { "pkey": $util.dynamodb.toDynamoDBJson($ctx.args.input.pkey), "skey": $util.dynamodb.toDynamoDBJson($ctx.args.input.skey) }, "attributeValues": $util.dynamodb.toMapValuesJson($ctx.args.input), "condition": { "expression": "attribute_not_exists(#pkey) AND attribute_not_exists(#skey)", "expressionNames": { "#pkey": "pkey", "#skey": "skey" } } } operation には、PutItem を書きます。これは Amazon DynamoDB に PutItem するぞ、という意思表示です。 アプリから受け取った引数はマッピングテンプレート内では $ctx.args 内に格納されます。今回は input の中に必要なキーや属性をまとめて格納しています。 これで Amazon DynamoDB に PutItem をかけることができます。 レスポンスマッピングテンプレート 結果は配列に格納されます。戻ってきたデータをそのままアプリ側に戻す書き方です。 $utils.toJson($context.result) VTL に関しては以下の AWS 公式ドキュメントも必要に応じてご確認ください。 Resolver mapping template reference for DynamoDB - AWS AppSync Resolver Mapping Template Reference for DynamoDB for AWS AppSync. docs.aws.amazon.com まとめ いかがでしたでしょうか。 PutItem は AWS AppSync のサブスクリプションを使用したいときに必ず使用します。あえて紹介するまでもないと思いましたが、一応紹介させて頂きました。 本記事が皆様のお役に立てれば幸いです。
本記事の内容は、以下のCato Networks社の記事を元に日本語へ意訳、再構成したものとなります。 Cato Software Defined WAN (SD-WAN) Cato Universal Zero Trust Network Access (ZTNA) Catoクラウドの標準サービス機能であるSD-WAN、およびモバイルユーザ(リモートアクセス)のZTNA機能について解説します。 Catoクラウドでは、モバイルユーザ(リモートアクセス)は、ZTNAではなくSDPと言います。 ※SDP・・・Software Defined Perimeter(ソフトウェア定義境界)は、ZTNAの別名で、従来型のリモートアクセスとは異なり、ゼロトラストの原則に則ったセキュアなリモートアクセスです。Catoクラウドのリモート(モバイル)アクセスを意味します。 それでは、SD-WANとZTNA(SDP)について解説します。 Cato SD-WANについて Cato SD-WANは、オンプレミスやクラウド上の拠点やデータセンターに安全で弾力性のある接続性を提供し、これまでの通信キャリアが提供する高価な閉域網を置き換えることができます。ゼロタッチの導入モデルにより、拠点へのロールアウトも迅速かつシンプルに行うことができます。管理者は、アプリケーショントラフィックのパフォーマンスと優先順位付けを包括的に可視化、制御することができます。 あらゆるトランスポート上で最適化された信頼性の高いサイト接続性 CatoのSD-WANエッジデバイスであるCato Socketは、ケーブル、ファイバー、ブロードバンド、セルラーなど複数のインターネット接続を単一の論理トンネルへ集約します。Catoは、アプリケーションプロファイル、優先度、リンクステータスに基づいて、利用可能なリンク上にアプリケーショントラフィックをインテリジェントに誘導します。CatoのSD-WANソフトウェアと複数の冗長トランスポートの組み合わせにより、リンクブラックアウトやブラウンアウトを克服し、これまでは閉域網でしか実現できなかった可用性の高いネットワークサービスを提供することができます。 最も重要なアプリケーションパフォーマンス保証 Cato SD-WANでは、割り当てられた QoSポリシー に基づいてアプリケーションのトラフィックがルーティングされ、優先順位付けされます。Catoは、カスタマイズ可能なアプリケーションの優先順位付けポリシーを提供し、音声、ビデオ、リモートデスクトップなどの遅延の影響を受けやすいアプリケーションが、バックアップなどの帯域幅を必要とするバックグラウンドアプリケーションよりも常に優先的にネットワークにアクセスできるようにします。アプリケーションのパフォーマンスをさらに向上させるため、Catoはラストマイルのインターネット接続とミドルマイルでのパケットロスを克服します。 TCPアクセラレーション は、ネットワークの効率と速度を向上させ、データ転送時間を短縮します。リンク回復力、アプリケーションの優先順位付けと高速化、パケットロスの軽減により、Catoはビジネスクリティカルなアプリケーションを使用する際のユーザーエクスペリエンスを向上させ、生産性を最大化します。 ラストマイルのモニタリングとトラブルシューティング ラストマイル接続の状態を監視することは、パフォーマンスと接続性の問題をトラブルシューティングするために重要です。Cato Socketは、SD-WANトンネルの外側のパフォーマンスを継続的に測定することで、接続されたインターネット回線の品質を自動的に監視します。パケットロス、ラウンドトリップタイム、ホップ数などの詳細なオーバータイム分析が提供され、特定のインターネットサービス回線のパフォーマンス低下を迅速に特定します。インターネット接続の持続的な劣化は、顧客にラストマイルプロバイダーの切り替えや接続設定のアップグレードを促すことができます。 SD-WAN パフォーマンスと使用状況のリアルタイム分析 過去のデータやレポートを使用してリアルタイムのネットワーク劣化をトラブルシューティングすることは困難です。Cato を使用すると、管理者は特定の場所やアプリケーションのジッター、パケットロス、スループット、距離を含むさまざまなメトリクスをリアルタイムで表示できます。リアルタイムの表示により、誤ったアプリケーションの識別や優先順位付け、高帯域幅の消費、定期的な輻輳など、考えられる根本原因を迅速に特定できます。 SLA保証された高速なグローバルプライベートバックボーン グローバル企業は信頼性の高い長距離トランスポートに依存しており、多くの場合、SD-WANと並行してグローバルMPLS契約を維持することを余儀なくされています。 Cato SD-WANは、世界中のCatoのPoPを相互接続する複数のSLA( 99.999% )に裏付けされたTier1プロバイダを使用して構築されたCatoのグローバルプライベートバックボーンにネイティブ接続されています。Catoは、MPLSの数分の一のコストで、公衆インターネットよりも優れた予測可能なミドルマイルを構築します。Catoを利用することで、お客様の組織はグローバルプライベートネットワークに即座にアクセスできるようになり、中国を含む世界中のあらゆる場所で、最新のアプリケーションに必要な弾力性とパフォーマンスで、本社、支店、クラウド、さらにはモバイルユーザーを接続することができます。 ゼロタッチデプロイメントによる迅速なインストール Cato Socketのインストールは簡単で、デバイスの事前設定を必要としないため、真のゼロタッチデプロイメントが可能です。Socketは遠隔地にある支店に配送され、専門的な知識がなくても、現地スタッフが数分で配備することができます。電源とインターネットに接続されると、Socketは自動的にCato管理アプリケーションに表示され、サイトに割り当てる準備ができます。Cato Socketはクラウドから完全に管理され、適用されるすべてのポリシーが自動的にダウンロードされます。ゼロタッチモデルは高可用性セットアップに拡張され、2つのCato Socketが同じサイトに割り当てられると、自動的にHAが構成されます。 あらゆる拠点・DCと接続するSD-WANアプライアンス Cato Socketは、小規模な拠点から大規模なオフィス・データセンターまで、様々なユースケースに対応する3つのモデル(X1500/X1600/X1700)があり、単一のトンネルで最大10Gbpsのスループットを提供します。ブランチモデルにはオプションでWi-Fiとセルラー機能が統合されており、ブランチのハードウェアフットプリントを削減し、導入を簡素化します。データセンターモデルはファイバー・ハンドオフをサポートし、デュアル電源を搭載しています。すべてのモデルは、2台のデバイスを使用した高可用性(HA)構成をサポートしています。Cato Socketは、低コストのサブスクリプションベースで提供されるため、時間とコストのかかるハードウェアの更新サイクルが不要で、設備投資も不要です。   Cato ZTNAについて Universal Zero Trust Network Access(ZTNA)により、企業はリスクと最小権限の原則に基づいて企業リソースへの単一のアクセスポリシーを作成し、オフィス、自宅、リモートなど場所に関係なくすべてのユーザーに適用することができます。 どこでも単一のZTNAポリシーを適用 CatoのUniversal ZTNAは、単一のリスクベースのポリシーを使用して、アイデンティティと、デバイスセキュリティポスチャ(Device Security Posture)、ユーザーの地域、アプリケーションのリスク、コンプライアンス評価などのさまざまなアクセスコンテキスト属性を使用して、機密データへのユーザーアクセスを制御します。Catoは、グローバルなクラウドサービスと、オフィス、自宅、遠隔地などの場所に関係なく、すべてのユーザーに一貫してZTNAポリシーを適用します。 継続的なデバイスポスチャ評価 Catoは、接続時およびセッションを通して、オペレーティングシステムとパッチ、アンチウイルス、ディスク暗号化、デバイスファイアウォール、地理的位置、デバイス証明書を含む接続 デバイスポスチャ(Device Posture) を評価します。デバイスポスチャのチェックに失敗した場合、Catoはユーザーの接続を完全に終了させたり、デバイスが準拠するまで特定のリソースへのアクセスをブロックしたりすることができます。継続的なデバイスポスチャ評価により、デバイスが最低限の要件を満たしていることを確認することで、組織のセキュリティポスチャを強化し、侵害されたエンドポイントからのデータ漏えいのリスクを低減します。 一貫したユーザーエクスペリエンスのためのアプリケーション最適化 リモートユーザーから、アプリケーションのパフォーマンスが低下し、生産性に影響が出るという苦情が寄せられることがよくあります。これは通常、信頼性の低いインターネット接続と、セキュリティ検査のために中央ロケーションにトラフィックをバックホールすることが原因です。 Catoクラウドには、堅牢な最適化とQoS機能を備えたグローバルプライベートバックボーンが含まれており、どこからでもクラウドとオンプレミスのリソースに最適化されたアクセスを提供することを目標としています。Catoを利用すれば、Catoクラウドに接続されたリモートユーザーは、オフィスのユーザーと同じように最適化されたアプリケーションアクセスを利用できます。 サードパーティとBYOD向けクライアントレスアクセス Catoは、Catoクライアントをインストールできないユーザのために、 プライベートアプリケーションへのWebブラウザベースのクライアントレスアクセスをサポート しています。管理者は、アプリケーションをWebポータルに簡単に公開し、アクセスポリシーを作成し、どのユーザーに対しても瞬時に安全なアプリケーションアクセスを可能にすることができます。Catoのクライアントレスアクセスは、最小限のセットアップで済み、選択した外部のSSOおよびMFAプロバイダからのセキュアな認証、またはCatoのユーザデータベースを使用して展開できます。 完全なリモートアクセスの可視化と制御 Catoは、リモートユーザーの接続とアクティビティを監視するための専用ダッシュボードを管理者と監査者に提供します。ダッシュボードには、現在接続しているユーザー、その場所、接続元デバイスと接続姿勢、アプリケーションの使用状況分析が表示されます。ワンクリックのフィルタリングにより、関連するネットワーキング、アクセス、セキュリティイベントをユーザーごとに分析し、新しいアクセスポリシーの作成をサポートします。 あらゆるユースケースに対応(社給・BYOD、全OSのサポート) Cato Universal ZTNAクライアントは、 Windows、MacOS、iOS、Android、Linuxをサポート しており、デバイスが企業所有であるかBYODであるかに関係なく、最大限のカバレッジを提供します。管理者がレガシーVPNからCato Universal ZTNAにシームレスに移行できるように、一般的なモバイルデバイス管理(MDM)を介した中央展開がサポートされています。MDMを使用しない外部の請負業者や企業には、ユーザープロビジョニング用のセルフサービスポータルが用意されています。 継続的な脅威防御とデータ保護 Catoは、脅威防御とデータ保護のために、すべてのユーザートラフィックを継続的に評価します。Catoのシングルパスクラウドエンジン(SPACE)は、FWaaS、SWG、IPS、NGAM、CASB、DLP、RBIなどを含む複数のセキュリティエンジンを使用して、ユーザーのセッショントラフィックを検査します。悪意のあるトラフィックや機密データへの不正アクセスは、特定、監査、ブロックされます。Catoは、企業が単一のプラットフォームを使用してリモートアクセス、脅威防御、データ保護の要件に対処できるよう支援し、リモートアクセスのケースをサポートするためにしばしば必要となる複雑なルーティングや統合プロジェクトを回避します。   まとめ Catoクラウドの標準サービス機能であるSD-WANとリモートアクセス ZTNAの記事をご紹介させていただきました。 Catoクラウドに少しでも興味をお持ちになられた方は、遠慮なくSCSKまでお問い合わせください。 SASE、Cato Networks社、Catoクラウド(Cato Cloud/Cato SASE Cloud)自体の知名度もまだまだ低い状況です。 SCSKでは、2021年からSASEの主要ソリューションを一同に紹介を行うオンラインセミナー「SCSK SASE Solution Summit(通称S4 エスフォー)」を定期的に開催しております。これまで14回開催し、1,800名以上の方にご参加いただいております。 S4については、次回は2024年4月以降に開催する予定ですので、改めてご案内します。 来月、2024年3月14日に、Catoクラウドの主要機能を2時間・デモ形式でご覧いただけるセミナーを開催しますので、ご興味のある方は是非ご参加ください。 Catoクラウドデモセミナー~Catoクラウドの主要機能を2時間で網羅~ 本セミナーでは、世界初のSASEである「Catoクラウド」の概要をたっぷり2時間、デモ形式でご覧いただきます。 また、ご希望の方(先着10名様)は、デモ環境に対して、お手元の環境からハンズオン形式でCatoクラウドに触れて頂くことが可能な参加型セミナーです。 www.scsk.jp SASE、Catoクラウドセミナー以外に、Catoクラウドのお客様導入事例の制作、FAQサイト運営、この TechHarmony(技術ブログ)で、皆様のお役に立て、Catoクラウドの知名度アップに少しでも貢献できればと考えております。
Cato クラウドには TCP Acceleration という機能があり、この機能は Cato クラウド経由で行う TCP 通信を高速化するための機能です。この機能にどの程度効果があるのか気になりましたので、実際に測定を行ってみました。 TCP 通信が遅くなる原因 インターネット回線を敷設して十分な帯域を契約しているのに、期待するほどスループットが出ないといった経験をお持ちではないでしょうか? 利用しているネットワーク機器や通信相手の帯域・混雑が原因でスループットが出ないことがありますが、それ以外の原因でスループットが出ないこともあります。特に、海外との間で大きなデータを送受信する際に数 Mbps のスループットになってしまうようなケースがあり、これは TCP の通信特性が原因であることが多いです。 TCP は信頼性のある通信プロトコルであり、受信確認 (ACK) と再送の仕組みによりパケットロスが発生しても確実にデータを届けることができるようになっています。このとき、1つのパケットを送信して受信確認が返ってきてから次のパケットを送信するというのでは通信効率が非常に悪いため、受信ウィンドウ (Window) というパラメータを受信者が指定することで一定量のパケットをまとめて送信・受信確認する仕組みも用意されています。 さらに、TCP の実装 (Windows、macOS、Linux などの OS) はネットワーク上での輻輳発生を防ぐために輻輳ウィンドウ (Congestion Window) を動的に変更して送信量を制御する仕組みを持っており、輻輳が発生しない範囲で効率的な通信を行えるようにもなっています。各ウィンドウのサイズがどのように変動して定まるかについては複雑なのでここでは説明せず一部後述するに留めますが、メモリサイズの上限、パケットロスの発生、レイテンシの変動などによって定まるものと理解ください。 TCP のスループットはパケットロスや輻輳が無ければ「ウィンドウサイズ ÷ RTT」という式で概ね近似できます。例えば、ウィンドウサイズが 64KB で RTT が 5ms の場合、102.4Mbps (64 / 1000 * 8 / 0.005) となります。通信を行う2点間の距離が遠いほど RTT が大きくなりますので、スループットは反比例して低くなっていきます。ウィンドウサイズを大きくすればスループットは高くなりますが、輻輳が発生するとパケットロスやレイテンシの悪化によって輻輳ウィンドウサイズが小さくなるため、制限なく大きくできるということはありません。 こういった TCP の通信特性により、海外との通信ではスループットが期待するほど高まらないという結果に繋がります。 TCP Acceleration 機能が通信を速くする仕組み Cato クラウドの TCP Acceleration 機能は、2点間の TCP 通信を複数の TCP 通信に分割することで実現されています。Knowledge Base の次のページにも仕組みが記載されていますので、そちらもご参照ください。 Explaining the Cato TCP Acceleration and Best Practices Accelerating and Optimizing Traffic ここでは例として、アメリカ東海岸に出張した社員が Cato クライアントで Ashburn_DC2 PoP に接続し、Tokyo_DC2 PoP に接続された日本国内の拠点にある社内サーバにアクセスするケースで説明します。 通常は出張した社員の PC と社内サーバとの間で1つの TCP 通信が行われますが、TCP Acceleration 機能が有効だと次の3つの TCP 通信に分割されます。 出張した社員の PC と Ashburn_DC2 PoP の間の TCP 通信 社内サーバと Tokyo_DC2 PoP の間の TCP 通信 Ashburn_DC2 PoP と Tokyo_DC2 PoP の間の TCP 通信 1と2の通信は比較的近距離で行われ、RTT は数ミリ秒程度なので高速な通信を行えます。 3の通信は日本とアメリカ東海岸の間で行われる遠距離通信で、インターネット経由だと RTT は 150ms 以上あります。この通信は Cato のプライベートバックボーン上で行われ、インターネットで通信するよりも低レイテンシで信頼性の高いネットワークとなっているようです。 TCP Acceleration 機能を利用するとスループットに影響を与える RTT は3の TCP 通信の値になって小さくなりますので、全体としてスループットの高速化が実現されています。 効果測定 TCP Acceleration 機能が実際にどの程度効果があるのか測定してみました。 測定環境 効果測定にあたり Amazon EC2 の東京リージョンとバージニア北部リージョン (アメリカ東海岸) にそれぞれ1台ずつ Linux マシンを用意し、バージニアから東京に向けてトラフィックを流すような測定を行いました。ここでは便宜上、東京のマシンをサーバ、バージニアのマシンをクライアントと呼ぶことにします。 また、測定のために、スループットやレイテンシの測定によく利用されるツールである iperf2  を利用しました。 測定パターン 測定パターンは次の5つです。 インターネットだけを用いた通信 Cato クラウドの WAN 通信 (TCP Acceleration 機能あり) Cato クラウドの WAN 通信 (TCP Acceleration 機能なし) クライアントマシンは Ashburn_DC2 PoP に接続し、その PoP からインターネット経由でサーバマシンに通信 (TCP Acceleration 機能あり) クライアントマシンは Ashburn_DC2 PoP に接続し、Tokyo_DC2 PoP からインターネット経由でサーバマシンに通信 (TCP Acceleration 機能あり) TCP Acceleration 機能を有効にするかどうかは CMA (Cato 管理画面) の [Network] – [Network Rules] の設定画面で変更でき、”Voip Voice” カテゴリ (Zoom や SIP など音声通信系のアプリケーション) 以外の通信では TCP Acceleration 機能がデフォルトで有効となっています。 これに加えて、3の測定を行う前には TCP Acceleration 機能を無効にする次のような Network Rule を追加しました。 また、Cato クラウド経由でインターネットアクセスを行う場合、通常は接続した PoP からインターネットに通信が行われますが、5の測定を行う前に Tokyo_DC2 PoP からインターネットに通信が行われるようにする Network Rule も追加しました。 測定指標 測定した指標は次の4つです。 ping を用いた RTT トラフィック無制限時の平均スループットと、そのときの最大レイテンシ 少量トラフィック (2Mbps) を流したときの最大レイテンシ 測定結果 各測定パターンについて1度ずつ測定した結果は次の通りとなりました。 測定パターン ping による RTT 無制限時の平均スループット 無制限時の最大レイテンシ 少量スループット時の最大レイテンシ 1 165ms 68.6Mbps 246ms 83.6ms 2 159ms 153Mbps 1900ms 132ms 3 同上 9.61 Mbps 296ms 763ms 4 163ms 75.2Mbps 1619ms 131ms 5 161ms 183Mbps 1796ms 136ms 今回の環境では、インターネットだけを用いたとき (測定パターン1) は開始から10秒後にスループットが 80Mbps 程度まで上昇し、その後はその速度で安定して通信できていました。上記の測定とは別で UDP を用いてさらにトラフィックを流してみたところ、1Gbps のトラフィックも問題なく流せましたので、それと比べると TCP のスループットは低いです。インターネット回線で長距離通信なので高トラフィックを流すとパケットロスが発生しやすく、1Gbps の UDP トラフィックでは 1.5% 程度、100Mbps だと 0.011% 程度発生しましたので、パケットロスも影響して TCP のスループットが低くなっているものと考えられます。 TCP Acceleration 機能を有効にした WAN 通信 (測定パターン2) やインターネット通信 (測定パターン5) を見ると、スループットは2倍以上に上昇しています。時間的な変動があり安定した速度ではありませんでしたが、有意に速くなっています。ただし、TCP 通信が3つに分割されたことや Cato クラウドによるトラフィック検査などの影響もあり、レイテンシが増えてしまっています。無制限時の最大レイテンシは見かけ上かなり大きくなっているだけなので特に気にしなくても良いですが、少量スループット時のレイテンシが 83.6ms から 50ms 程度大きくなっている点は利用者の体感にもいくらか影響を与えるものかもしれません。 測定パターン2と3を比較すると、TCP Acceleration 機能を無効にしたパターンは非常に悪い値となってしまっています。測定パターン3は1と同程度の値となると予想していたため、予想外の結果でもあります。通常は無効化することはない設定を無効化したためにこのような結果になったのかもしれません。 測定パターン4と5は日本とアメリカ東海岸の間でインターネットを経由するか Cato クラウドのバックボーンを経由するかの違いですが、バックボーン経由のほうが有意に良い結果となっています。ただし、パターン1と4を比較するとわずかにスループットが上昇しており、TCP Acceleration 機能というよりも Cato クラウドを利用することで通信が高速化したと言えるかもしれません。 Cato クラウドの輻輳制御に関して 前項の効果測定において、Cato クラウドのプライベートバックボーンを通るパターン (2,5) はそうでないパターン (1,4) に比べてスループットが2倍以上になっています。しかし、RTT は日米間の物理的な距離の影響が大きいため、わずかに減少しているだけです。そこで「ウィンドウサイズ ÷ RTT」というスループットの近似式を改めて見つめなおすと、RTT の減少ではなくウィンドウサイズの増加によってスループットが上昇したものと考えられます。 ウィンドウのうち、輻輳ウィンドウは TCP 通信で用いる輻輳制御アルゴリズムの種類によって異なる変動をします。Windows、macOS、Linux の現在主流のバージョンでは、デフォルトの輻輳制御アルゴリズムとして CUBIC が採用されています。このアルゴリズムはパケットロスが発生しない間はウィンドウを増加させ、パケットロスが発生するとウィンドウを減少させることで、輻輳が発生しない状態を維持しつつ極力多くのデータを送信するというものです。 一方、Cato クラウドでは輻輳制御アルゴリズムとして BBR の利用が推奨されており、各テナントの CMA の [Administration] – [Advanced Configuration] の中で BBR を利用するようデフォルト設定されています。 BBR はパケットロスではなくレイテンシを指標とし、レイテンシが悪化しない程度までウィンドウを増加させるアルゴリズムです。ただし、ネットワーク状況によってレイテンシが悪化することがあるため、定期的にウィンドウを最小に戻すという操作も行われます。 効果測定の結果や輻輳制御アルゴリズムの違いを踏まえると、Cato クラウドのプライベートバックボーン中では大きなトラフィックを流してもレイテンシが悪化しにくくなるような何らかのトラフィック制御が行われているものと推測されます。 まとめ 測定結果から、TCP Acceleration 機能に効果があることが確認できました。特に、物理的に距離が離れた通信で Cato クラウドのネットワークを経由するような形で TCP Acceleration を有効にすると、スループットが2倍以上に上昇するのは期待以上の効果でした。 インターネットとの通信において TCP Acceleration を適切に機能させるには、通信先のサーバと近い PoP からインターネットに出ていくように Network Rule を設定する必要がありましたので、この点は要注意です。 日本国内の TCP 通信については TCP Acceleration の仕組みや TCP 通信の特性上あまり効果は期待できず、測定により Cato クラウドのネットワークに負荷をかけることになってしまうため、今回は測定しませんでした。逆に、日本国内の通信における TCP Acceleration 機能を無効化することでパフォーマンスをチューニングできるのかどうかについては気になるところではありますので、機会があれば試すかもしれません。 Skeed 高速ファイル転送ソリューションのご紹介 今回のように日本と海外との間の通信を高速化するソリューションとして、弊社のグループ会社である Skeed 社もご紹介します。 Skeed高速ファイル転送ソリューション | 株式会社Skeed 日米欧で特許取得した独自技術をベースに、遠距離間での大容量ファイル転送を高速かつ安全・確実、簡単に実現するSkeedの高速ファイル転送ソリューション。転送シミュレーションや比較優位性をご紹介します。 skeed.jp このソリューションは大容量ファイルの転送に特化したものであり、TCP 通信の課題を UDP 通信によって乗り越えるというものです。一般的な通信に向けたものではありませんが、日本と海外との間で大容量ファイル(映像データ、ビッグデータ、データベースのバックアップデータなど)をやり取りしたいという際には、このソリューションもご検討いただければ幸いです。
こんにちは、広野です。 AWS AppSync を使用したアプリケーションを開発する機会があり、リゾルバ、主に VTL の書き方に関してまとまった知識が得られたので紹介します。前回からの続きもので、Query の書き方を紹介します。 本記事では、VTL の書き方にフォーカスしています。ご了承ください。 AWS AppSync、リゾルバ、VTL の説明については以下の記事をご覧下さい。 AWS AppSync リゾルバ (VTL) の書き方サンプル No.1 - Amazon DynamoDB GetItem Amazon DynamoDB に VTL で GetItem をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.01.09 AWS AppSync リゾルバ (VTL) の書き方サンプル No.2 – Amazon DynamoDB BatchGetItem Amazon DynamoDB に VTL で BatchGetItem をかけるときの基本的な書き方を紹介します。 blog.usize-tech.com 2024.01.19 AWS AppSync を使って React アプリからキックした非同期ジョブの結果をプッシュ通知で受け取る 非同期ジョブを実行した後、結果をどう受け取るか?というのは開発者として作り込み甲斐のあるテーマです。今回は React アプリが非同期ジョブを実行した後に、AWS AppSync 経由でジョブ完了のプッシュ通知を受け取る仕組みを紹介します。 blog.usize-tech.com 2022.12.01 Amazon DynamoDB に Query する VTL 例えば、AWS AppSync から以下のリクエストを受けたとします。Amazon DynamoDB には適切なデータがある想定です。テーブル名はリゾルバの別の設定 (Data Source) で行います。 引数となるパラメータ: パーティションキー pkey、ソートキー skey 必要なレスポンス: パーティションキーにマッチし、ソートキーのパラメータとして渡された文字列から始まるデータ全て 今回は受け取ったパーティションキーとソートキーのパラメータをもとに、Query の条件に当てはめます。ソートキーは begins_with のキー条件式を使用します。このサンプルでは、最大 30 件のデータのみ取得するようにしています。 リクエストマッピングテンプレート { "version": "2018-05-29", "operation": "Query", "query": { "expression": "#pkey = :pkey AND begins_with (#skey, :skey)", "expressionNames": { "#pkey": "pkey", "#skey": "skey" }, "expressionValues": { ":pkey": $util.dynamodb.toDynamoDBJson($context.arguments.pkey), ":skey": $util.dynamodb.toDynamoDBJson($context.arguments.skey) } }, "limit": $util.defaultIfNull($context.arguments.first, 30), "nextToken": $util.toJson($util.defaultIfNullOrEmpty($context.arguments.after, null)), "consistentRead": false, "select": "ALL_ATTRIBUTES" } operation には、Query を書きます。これは Amazon DynamoDB に Query するぞ、という意思表示です。 アプリから受け取った引数はマッピングテンプレート内では $context.arguments 内に格納されます。 pkey や skey というアイテム名であれば問題はないのですが、DynamoDB の予約語がアイテム名になっている場合は必ず # や : を使用してエスケープのような処理をしないとクエリが動作しません。おまじない的に、このように書くことをお勧めします。 これで Amazon DynamoDB に Query をかけることができます。 レスポンスマッピングテンプレート 結果は配列に格納されます。戻ってきたデータをそのままアプリ側に戻す書き方です。 $utils.toJson($context.result) VTL に関しては以下の AWS 公式ドキュメントも必要に応じてご確認ください。 Resolver mapping template reference for DynamoDB - AWS AppSync Resolver Mapping Template Reference for DynamoDB for AWS AppSync. docs.aws.amazon.com まとめ いかがでしたでしょうか。 Query は非常によくオペレーションで、キー条件式をいろいろ変えて使うことが多いと思います。あえて紹介するまでもないと思いましたが、一応紹介させて頂きました。 本記事が皆様のお役に立てれば幸いです。
こんにちは、広野です。 本記事は、以前公開した記事の続編です。つくった RAG の概要は以下の記事をご覧下さい。 React アプリに Agents for Amazon Bedrock への問い合わせ画面を組み込む [RAG・レスポンスストリーミング対応] Agents for Amazon Bedrock を使用して簡単な RAG をつくってみましたので、問い合わせ画面コードの一部を紹介します。 blog.usize-tech.com 2024.02.15 本記事では、Agents for Amazon Bedrock から Amazon Bedrock の Anthropic Claude Foundation Model に問い合わせる構成をメインに紹介します。 アーキテクチャ RAG 用の Knowledge Base (ベクトルデータ) には、Agents for Amazon Bedrock が自動作成してくれる Amazon OpenSearch Service Serverless を使用しています。別途 Amazon S3 バケットを作成し、そこに当社公式ホームページの情報を PDF 化したファイルを格納し、OpenSearch に Sync させます。 一般的な回答をするために使用する生成系 AI の基盤モデルには、Amazon Bedrock の Anthropic Claude 2.1 を使用しています。 ユーザからの問い合わせ内容が当社 (SCSK 株式会社) に関連するものであれば Agents for Amazon Bedrock が自動的に OpenSearch 内の情報を取得します。それ以外の内容であれば AWS Lambda 関数経由で Claude 2.1 モデルに問い合わせます。 この 分岐を司る部分を中心に 設定情報など紹介していきます。 つくったもの RAG 検索用 Knowledge Base Agents for Amazon Bedrock により RAG 用の Knowledge Base を作成する方法については、以下の記事を参考にしました。 生成AI初心者がAmazon BedrockのKnowledge baseを使ってRAGを試してみた AWS re:Invent2023にて、Amazon BedrockのKnowledge baseとAgentsがGAされたと発表がありました。今回はこのうちKnowledge baseを利用して、RAG(Retrieval Augment Generation)を試してみたいと思います。 blog.usize-tech.com 2023.12.07 一般検索用 AWS Lambda 関数 以下の関数コードを書きました。 Amazon Bedrock の Claude モデルに問い合わせるコードは既に世の中に溢れているコードサンプルと同じです。ただし、今回の構成ではこの AWS Lambda 関数の呼び出し元が Agents for Amazon Bedrock なので、その仕様に基づき event[‘inputText’] をプロンプトに入れています。 また、Agents for Amazon Bedrock に戻すレスポンスも所定のフォーマットにしないといけないので、その仕様に合わせています。 import boto3 import json bedrock = boto3.client('bedrock-runtime') def lambda_handler(event, context): enclosed_prompt = "\n\nHuman: " + "以下の質問文に対して適切な回答をしてください。\n" + event['inputText'] + "\n\nAssistant:"; body = { "prompt": enclosed_prompt, "max_tokens_to_sample": 3000, "temperature": 0.5, "top_k": 250, "top_p": 1, "stop_sequences": ["\n\nHuman:"], "anthropic_version": "bedrock-2023-05-31" }; res = bedrock.invoke_model( body=json.dumps(body), contentType='application/json', accept='application/json', modelId='anthropic.claude-v2:1' ) responsebody = json.loads(res['body'].read()).get('completion', '適切な回答が見つかりませんでした。') return { "messageVersion": "1.0", "response": { "actionGroup": event["actionGroup"], "apiPath": event["apiPath"], "httpMethod": event["httpMethod"], "httpStatusCode": 200, "responseBody": { "application/json": { "body": responsebody } } }, "sessionAttributes": event["sessionAttributes"], "promptSessionAttributes": event["promptSessionAttributes"] } Agents for Amazon Bedrock の設定 RAG 検索用 Knowledge Base および 一般検索用 AWS Lambda 関数が完成したら、それらをオーケストレートする Agents for Amazon Bedrock の設定をします。順に AWS マネジメントコンソールの画面スクリーンショットを追って説明します。 アクショングループには、一般検索用 AWS Lambda 関数を登録します。複数登録可能なので、決まった用途ごとに作成した Lambda 関数があれば登録し、それぞれに適切な説明を記入します。その説明内容をもとに、Agents for Amazon Bedrock が使用するアクショングループを選択することになるので説明は重要です。今回のケースでは、SCSK に関する問い合わせ以外には Claude に問い合わせるということを記載しています。たまたま英語で書きましたが、日本語でも大丈夫と思います。 ナレッジベースには、RAG 検索用ナレッジベースを登録します。複数登録可能です。こちらも同様に、用途ごとに説明を書きます。今回のケースでは、SCSK に関する情報が必要な場合はナレッジベースからデータを取得するよう指示しています。 モデルの詳細欄では、Agents for Amazon Bedrock 全体に指示する内容を書きます。1つは言語モデルで、執筆時点では Claude しか選択できませんでしたのでそれを選択しています。最重要なのはエージェントへの指示で、ここで RAG 検索と一般検索の使い分けルールを自然言語で記述します。プログラマティックな記法ではありません。今回のケースでは、日本語で回答することと、SCSK に関する情報はナレッジベースから、それ以外はアクショングループから情報を取得するよう指示しています。分岐の設定はこれだけで OK です。 アクショングループ設定時の注意点 アクショングループを設定するときには、以下 2 つの注意点があります。 AWS Lambda 関数を実行するための権限 OpenAPI の設定 AWS Lambda 関数を実行するための権限 Agents for Amazon Bedrock から AWS Lambda 関数を呼び出すには、一般的な Lambda 関数実行時と同様、呼び出し側に呼び出す権限を与える必要があります。なじみのない方もいらっしゃるかもしれませんが、Lambda 関数にリソースベースのポリシーを設定します。 AWS 公式ドキュメントのまま設定すれば OK です。 Permissions to create and manage an agent - Amazon Bedrock To use a custom service role for agents instead of the one Amazon Bedrock automatically creates, create an IAM role with the prefix AmazonBedrockExecutionRoleFo... docs.aws.amazon.com OpenAPI の設定 アクショングループを登録するときに、1 アクショングループにつき 1 つの OpenAPI スキーマを登録する必要があります。 上記スクリーンショットは途中で切れていますので、実際に使ったスキーマを以下に貼り付けます。 openapi: 3.0.0 info: title: LambdaBedrockAgentAgClaude version: 1.0.0 description: Lambda Function to invoke Bedrock Claude foundation model triggered from Bedrock Agent paths: "/": get: summary: Invoke Claude foundation model description: Invoke the Claude foundation model to answer for a general query except for the related to SCSK. responses: "200": description: response content: application/json: schema: type: object properties: body: type: string decription はおそらく Agents for Amazon Bedrock がこのアクショングループを使用するか否かを判断するのに重要だと思うので、目的を書いておきます。 paths の部分ですが、正直ここの記述は Lambda 関数を実行する上では使用しないので、適当に書いておきました。get とか書いてありますが、全く使用しません。一応定義はしないといけないので書いている感じです。これで動きました。 まとめ いかがでしたでしょうか。 Agents for Amazon Bedrock の設定は AWS マネジメントコンソールでノーコードでできます。分岐が増えた場合でも、応用してつくれると思います。 本記事が皆様のお役に立てれば幸いです。
こんにちは。SCSKのひるたんぬです。 2月も中頃となり、段々と過ごしやすい気候になってきましたね。ここ数日は気温差がすごく、服装に悩みます。 と同時に始まるのが花粉シーズン… 日本気象協会の発表 によると、今年の花粉飛散量は「例年並みか例年よりやや多い」そうです。 目鼻が悲惨なことにならないよう今から対策をしていきたいと思います。 話がそれますが、この文章を書きながら、ふと「花粉飛散量ってどうやって予測しているんだろう?」と思ったので調べました。 日本気象協会の花粉飛散予測は前シーズンの花粉飛散結果や今後の気温予測などの気象データをもとに、全国各地の花粉研究会や協力機関からの情報、花芽の現地調査の結果などをふまえて予測しています。( 詳しい計算方法などは企業秘密です…すみません! ) 引用元:日本気象協会 JWAニュース「 日本気象協会 2024年 春の花粉飛散予測(第3報)~まもなくスギ花粉シーズンスタート ピークは2月下旬から~ 」 …肝心なところはやはり秘密なのですね。一方気象庁では、 (前略)花粉の飛散に影響を与える気温や風、降水等の予測データを提供しており、 今後、スーパーコンピュータやAIを活用し飛散予測を行う際の基礎情報 となる詳細な三次元の気象情報も提供して、民間事業者が実施する花粉の飛散予測をさらに支援していく計画です。 引用元:気象庁 知識・解説「 花粉飛散予測について 」 と記載があるので、これからはこのような分野にもAIが活用¹ されるのかもしれませんね! ¹ 一部事例 もありましたが、現在はサービスの提供を行っていないようです。 話を戻します。今回は、私が配属され引き継いだ課内業務の中で、自動化できたら嬉しいなぁ…というものを、 PowerAutomateの無料枠を駆使して 実装したので、その工夫点についてご紹介いたします。 やりたいこと 今回は、 SharePoint(Microsoft Lists)に登録されたセキュリティパッチ適用に関する 発信文書をトリガーに、セキュリティパッチ適用の依頼メールを送付 する 期限日が近づいたら、 社内システムからパッチ未適用者を抽出し、リマインドメールを送付 する という2つの機能を構築しました。全体的な処理の流れを下図に示します。 今回はPower Automateのクラウドフロー(上図左・青)に加え、社内システムを利用する必要があったため、社内ネットワーク内のPCで動作するデスクトップフロー(同右・緑)を組み合わせております。 目的 現状の業務フローでは、 担当者が、セキュリティパッチ配布の発信文書の確認・メール送付、未適用者のリマインドを 手作業で行っており、担当者の人的・時間的負担 となっている という課題点がありました。私が配属後にこの担当業務を引き受けた際、「定型作業の塊だな…」と思ったので、勉強の意味合いを含めてこのフローを自動化することにしました。 これにより、フローに人間が関与することがなくなるので、 担当者の 人的・時間的負担の削減 業務の 正確・確実な遂行 が期待されます。 処理の流れ ここでは実装した処理につきまして、処理の流れに沿って概要を説明します。 太字 は、無料版で利用するために工夫した点なので、次の章にて詳しく説明いたします。 【クラウド】発信文書の登録 ▶ メール通知・カレンダー登録 このフローは、SharePointに発信文書が登録されたことにより起動します。発信文書にはセキュリティパッチの適用依頼の他にも日々多くの文書が登録されます。そのため、発信文書のタイトルにより絞り込みを行い、セキュリティパッチの適用依頼に関する発信文書のときにのみ処理を行うように設定します。下図にこのフローの大まかな流れを示します。   メールによる通知を行う前に、自分自身への事前確認を挿入しています。これにより、フローが発信文書を誤検知し誤ったメールを送付することを防ぎます。 【クラウド】カレンダーからリマインド日を検知 このフローは、毎日決まった時間に起動します。起動したらまず、その日のカレンダーを参照し、セキュリティパッチのリマインド日であるかを確認します。リマインド日であった場合は、次の デスクトップフローを実行するために自分宛てにメールを送信 します。   【デスクトップ】社内システムからパッチ未適用者を抽出 このフローは、 タスクスケジューラを用いて毎日決まった時間に起動 します。起動したら、自身のメールフォルダを確認し、リマインド日に関するメールを確認します。メールがあった場合は、社内システムにアクセスし、セキュリティパッチを適用していない方のメールアドレスを抽出します。そして、その アドレスを自分宛てに、特定の件名をつけた上で送信 します。   【クラウド】未適用者へリマインドメールを送付 このフローは、デスクトップフローで送信されたメールをトリガーとして起動します。デスクトップフローで送信されたメールかは、件名を用いて判別します。メールが存在した場合は、そのメールからメールアドレスを抽出し、 各自にリマインドメールを送信 します。   Power Automate 無料版の制約 今回の機能実装において無料版が原因で直面した主な制約は次の3点です。 「クラウドフロー」と「デスクトップフロー」間の連携は有料版のみ 無料版では、クラウドフローから他のフローの呼び出しができません。そのため、クラウドフローでカレンダーでリマインド日を検知した場合、それをデスクトップフローに通知する仕組みを一から構築する必要があります。 今回はこの仕組みをメールのやり取りによって実現しました。メールを利用したやり取りの流れを下図に示します。 これにより、デスクトップフローはクラウドフローから送信されたメール[TRIGGER]を確認することで、フローを実行するべきか判断をすることができます。また、デスクトップフローでの実行結果(抽出結果)をメール[RESPONSE]で送信することで、クラウドフローがそのメールをトリガーとして後段の処理を実行することを可能にしています。 【デスクトップ版】 トリガーも有料版のみの機能 先ほどの対処法により、クラウドフローとデスクトップフロー間での連携をすることが可能になりました。 しかし、無料版のPower Automate Desktopでは通常、フローは画面上の再生ボタン ▷(下図)をクリックし手動で実行する必要があります。 この状態ですと、先程ご紹介したクラウドフローからのメールが送られてきたとしても、手動でデスクトップフローを開始させなければなりません。これでは自動化できたとは言え無いですね… そこで、これに対処するために、Windowsに標準で搭載されているタスクスケジューラーを活用して一日一回、フローを自動実行するような処理を追加しました。 こちらにつきましては、以下の2つのサイトが非常に参考になりました。 【DX】PowerAutomate Desktop無料版を自動定期実行してみた!|株式会社エアリー:技術ブログ みなさんこんにちは!エアリー社員のSです! 今回はPower Automate Desktopの無償版で、 タスクスケジューラーを活用してフローの自動定期実行を実現します!! なぜタスクスケジューラーを利用するのか Power Automate Desktopの無償版では定期実行を行うことができません。 なので、タスク... note.com [Power Automate Desktop]名前を指定してフローを実行するPowerShellスクリプト | 初心者備忘録 ここ数日、話題のPower Automate Desktop(PAD)を触っています。 多数のアクションが用意 www.ka-net.org これを参考にすることで、「デスクトップフローを毎日実行し、[TRIGGER]メールが来ていたら処理を実行する」というフローを作成することができました。 便利なアクションの多くは有料版でのみ提供 Power Automateの有料版では提供されている多くの機能、特に外部サービスとの連携について、無料版では多くが制限されています。その一例を以下に示します。 デスクトップ版… Teams・Outlookカレンダー・SharePoint など → フローをデスクトップ版に集約することができない → クラウドフロー・デスクトップフローを分けて実装 クラウド版… AWSサービス・Azure・その他外部サービス など → 今回のサービス構築には影響小 一方で、パッチ未適用者へのメール送付につきましてはデスクトップフローで行うことも可能ですが、今回はあえてメール送付のフローをクラウドフローにて実行しています。これは、無料版のクラウドフローでは、メール送付の他にもTeamsのチャットへの投稿にも対応しており、連絡方法が変更になった際にも柔軟に対応できるためです。   まとめ 今回はMicrosoftが提供するPower Automateを用いて、定型業務の自動化に取り組みました。普段はAWSに触れていますが、今回の取組を通して目的や用途に応じてサービスを使い分けることの大切さを実感しました。特定のサービスではなく、幅広いサービスを活用できるようになりたいですね! 私の環境でもPower Automateの有料版が利用可能になる日が来ることを願って、この記事を締めくくりたいと思います。 最後までご覧いただき、ありがとうございました!
こんにちは!SCSKの江木です。 Dialogflow CXでチャットボットを作っていて、外部のAPIを利用することでチャットボットの機能を拡張したいと思うことがありました。 そのようなときに役立つのがWebhookです! 今回はチャットボットに翻訳機能を追加するために、WebhookでTranslation APIを叩いてみようと思います! Webhookとは? Webhookの説明をする前に、Dialogflow CXについて触れておきます。 Dialogflow CXは、Google Cloudが提供する、自然言語理解と会話型AIの機能を備えたサービスです。一言で言うと、チャットボットを作ることが出来るサービスになります。 WebhookはこのDialogflow CXの会話セッション中に、ビジネスロジックをホストしたり、他のサービスを呼び出したりするために使います。 WebhookはCloud Functionsで実装します。また、Webhookの実行時の挙動は以下の通りです。 Webhookを使うことで外部からデータを受け取ることが出来るようになるので、ただ決まりきったことを返すだけのチャットボットに「今日の天気を返す」、「翻訳」、「外部のデータベースを検索する」などの機能を追加することができるようになるのです。   Webhook作成 Webhook作成の前にDialogflow CXのフローを作成します。また、作成する際は以下の点に留意してください。 APIキーの取り扱いには注意してください。 今回はGoogle Cloudのtranslation APIを使うので、Google Cloudに課金されますが、他のAPIを使う際はどこに課金されるのか把握しておいてください。 Dialogflow CXのフロー作成 翻訳機能をつけたいので、以下のようなフローを「asia-northeast1」リージョンで作成しました。 フローの流れは以下の通りです。 Start Pageで「こんにちは」と入力すると、「翻訳しましょう」と表示するRouteが選択され、Translateページに遷移する Translateページにて、翻訳したい言語と文章を入力すると、翻訳された文章を返す End Sessionページに遷移する   Translateページの設定は以下の通りです。   翻訳言語のパラメータであるlangのentity typeを設定しました。 Entityの値は以下のTranslation APIのドキュメントを参考にしました。 言語サポート  |  Cloud Translation  |  Google Cloud cloud.google.com Webhook作成 Translation APIに使用するAPIキーを作成 コンソールから[APIとサービス]→[認証情報]→[+認証情報を作成]→[APIキー]を押下し、APIキーをコピーします。 Cloud Functionsでwebhookを作成 1.Cloud Functionsのコンソールの[+ファンクションを作成]を押下します。   2.関数名を入力後、「asia-northeast1」リージョンを選択し、[次へ]を押下します。   webhookをコーディング 今回はpythonを使いたいので、ランタイムはPython 3.12としました。エントリーポイントはコードの関数名と同じく、webhookとしました。 以下、main.pyのコードになります。 import functions_framework import requests @functions_framework.http def webhook(request):     response = request.get_json()   #Dialogflow CXからパラメータの取得   lang = response["sessionInfo"]["parameters"]["lang"]   text = response["sessionInfo"]["parameters"]["sentence"]     tag = response["fulfillmentInfo"]["tag"]   #$$$$$$$$$$$にはコピーしたAPIキーを入力してください。   url = "https://translation.googleapis.com/language/translate/v2?key=$$$$$$$$$$$"   params = {     "q": [text],     "target": lang,     "source": "ja"     }   #APIを叩く   output = requests.post(url, json=params)   if tag == "APITest":     #結果を格納     output_text = output.json()["data"]["translations"][0]["translatedText"]   else:       output_text = tag   response["fulfillmentResponse"] = {           "messages": [               {                   "text": {                       "text": [                           output_text                       ],                       "allowPlaybackInterruption": False                   }               }           ]       }     return response 続いて、requirement.txtは以下の通りです。こちらはmain.pyの実行に必要なpythonモジュールをインストールするために使用します。 functions-framework==3.* requests Webhookをデプロイ 1.コードが書けたら、[デプロイ]を押下します。   2.作成したWebhookのURLをコピーします。 権限設定 Cloud Functionsの第2世代はCloud Runで動作しています。それゆえに、Cloud Runの起動元の権限をDialogflowのサービスアカウントに付与する必要があります。 Dialogflow CXのサービスアカウントを確認 1.Dialogflow CXコンソールの右側にある[Agent settings]を押下します。   2.[Share]タブを選択し、Dialogflow CXのサービスアカウントをコピーします。 Cloud Runの起動元の権限をDialogflowのサービスアカウントに付与 Cloud Functionsコンソールで作成したwebhookを開き、[Powered by Cloud Run]を押下します。 画面上部の[サービスの詳細]を押下します。 作成したwebhookのCloud Runの左側ボックスにチャックを入れます。画面右の[権限]タブの中の[プリンシパルを追加]を押下します。 新しいプリンシパルにコピーしたDialogflow CXのサービスアカウントを入力し、ロールで[Cloud Run 起動元]を選択した後、[保存]を押下します。 Webhook設定 翻訳したい言語・文章をAPIに投げたいので、$page.params.status = “FINAL”ルートにWebhookを設定します。 ルートの[Webhook settings]→[Enable webhook]にチェックを入れます。 Webhookと書かれた枠内を押下し、[+Create Webhook]を選択します。 [Display name]と、webhook作成の際にコピーした[Webhook URL]を設定し、[Save]を押下します。 tagを設定し、[Save]を押下します。 実装結果 作成したAgentでテストし、翻訳機能が実装できているか確認します。 うまく翻訳機能を実装することができました。これらの他にもlangのentity typeに登録した言語であれば、翻訳することができます。 終わりに 今回はDialogflow CXのチャットボットにTranslation APIを利用して、翻訳機能をつけました。 多言語対応の翻訳機能なので、チャットボットの機能をかなり拡張できたと思います。 Translation APIの以外のAPIを利用することで様々な機能をチャットボットに搭載することが出来ます!!! 最後まで読んでいただき、ありがとうございました。
どうも、Catoクラウドを担当している佐々木です。 Catoを使っていると、業務でアクセスするドメインが、CatoのSWG(Secure Web Gateway)機能でブロックしているカテゴリに 誤って分類され、通信できない!ということが時々ありますよね。 今回は、そんな問題が発生した場合の新しい回避策 カテゴリの手動修正  を紹介します。   ※画⾯は2024年2⽉時点のものです。機能アップデート等で変わる場合がありますので、あらかじめご了承ください。   CatoのSWG(Secure Web Gateway)について CatoのSWGでは、フィッシング、マルウェア、その他のインターネット経由の脅威からユーザーを保護します。 具体的には以下のような機能を提供しています。 70個以上の組み込みカテゴリと事前定義されたセキュリティポリシーによる即時保護 フィッシングサイトやマルウェア配信サイトに対する防御 検索エンジンによるポリシー回避の防止 カスタマイズ可能な通知によるエンドユーザーエクスペリエンスの最適化 SWGイベントのロギングとレポートによる完全な可視性   次世代L7Firewallと同じで、CMA上の 「Security」>「Internet Firewall」 で設定できます。   なにが問題か CatoのSWGでは、特定のアプリケーションやドメインをジャンルごとに分類した「カテゴリ」で通信制御できます。 ※危なさそうなサイトやアプリケーションをまとめた「カテゴリ」でまとめて通信をブロックするなどが可能です。 ※どのアプリケーションがどのカテゴリに分類されるかは、Assets>App Catalogで確認できます。   デフォルトでいくつかのカテゴリをブロックするルールが設定されており、また、個別に特定のアプリケーションカテゴリの ブロックルールを作成している場合もあるかと思います。   この時、 ブロックしたくない通信が誤ってブロックするカテゴリに分類されてしまい、 通信ができないという事象が発生することがありました。   これまでの対策 これまでは、こういう問題が発覚すると都度Catoに申告し、カテゴリの修正を依頼していました。 (xxxx.comは○○というカテゴリではありません。△△に修正してください、など)   だいたい3営業日程度で対応してくれましたが、それでも修正までタイムラグがあること、英語での依頼になることから、 運用担当者からすると修正までの一時対応含め、面倒な対応だったかもしれません。   これからの対策~カテゴリの手動修正~ 2024年1月29日に以下機能がリリースされました。 「Manually Override Default Domain Categorization(デフォルトのカテゴリ分類を手動で上書きする機能)」 この機能を利用すると 自身のテナント限定で特定のドメインを任意のカテゴリに 登録 する ことができます。   設定方法 「Assets」>「App Catalog」 から 「Domain Lookup」 タブをクリックください。 検索ウィンドウでカテゴリを変更したいドメイン or URLを入力されると、ドメインが属するカテゴリが表示されます。   ▼scsk.jpで検索した結果   「Categories」 の右横にある 「Edit」 をクリックすると、任意のカテゴリに変更できます。 最後に 「Save Changes」 をクリックして完了です。   ちなみに、変更すると以下のような Audit Trail ログが残ります。   動作確認 今回は「scsk.jp」のカテゴリを「 BusinessInformation」から「Beauty」に変更してみました。 そして、Internet Firewallでアプリケーションカテゴリ「 Beauty」をブロックしてみます。   結果、以下のように「 Beauty」に分類され、 ブロックされました。   カテゴリを元に戻す方法 手動でカテゴリを変更したものの、元に戻したい場合は以下の方法で対応可能です。   Assets>App Catalog から 「Domain Lookup」 タブをクリックください。 右端に表示されている 「 Show Account Overridden Domains」 をクリックすると、上書きしたドメイン一覧が表示されます。   削除したいドメインの右端にある 「ゴミ箱 アイコン」 をクリックすると、上書き設定が削除されます。 ※該当ドメインのカテゴリは初期設定に戻ります。 注意点 2024年2月時点ですべてのカテゴリが編集可能なわけではないようです。 <<KBより抜粋>> Only categories based on URL filtering services are editable. System categories defined by the Cato Security Research team can’t be edited.         “Catoセキュリティリサーチチームが定義したシステムカテゴリは編集できません”   実際何が変更できないかCatoにも確認してみましたが、現時点ではリストのようなものを提示することができないようで、 自分で設定変更しようとしてできないものがあれば、Catoに変更を依頼する必要があるとのことです。   まとめ 今回のポイントです。   ・ドメインのカテゴリを手動で変更できるようになった (Assets>App Catalog > Domain Lookupから) ・カテゴリ誤分類による通信トラブルが発生してもすぐに修正できるようになった ・ただし、仕様としてカテゴリ修正できない場合もある(この場合はCatoに変更依頼が必要) ・Catoの運用がちょっと楽になったかも!?   上記以外の情報についても弊社の 「Catoに関するFAQサイト」 に多数情報ございますのでご参考にください。 よくあるご質問 | Cato Cloud ケイトクラウド - SCSK Cato SASE Cloud Platform. powered by SCSK cato-scsk.dga.jp   最後に、SCSKではPoCから導入、運用まで幅広くCatoに関する支援を行っております。 本番構成への移行を見据えたPoC構成や、PoCでつまづきやすい点のサポートなど、豊富な導入実績を基にご支援いたします。 ぜひお声がけください!
こんにちは、SCSKでAWSの内製化支援『 テクニカルエスコートサービス 』を担当している貝塚です。 もっとNetwork Firewallの勉強がしたいのです 最近、AWS Network Firewallを触る機会が増えています。 インターネットを検索すれば、 Transit Gatewayと併用して、複数のVPC間通信やオンプレミスとの通信、インターネットとの通信など、Transit Gatewayを通るすべての通信をNetwork Firewallで検査するInspection VPCの構築方法を説明したAWSの記事 を読むことができます。ClassmethodさんやサーバーワークスさんなどのブログでもNetwork Firewallに関する記事を見つけることができます。もちろんAWS公式のマニュアルもあり、眺めていると日々項目が充実していくのが分かります。 それでも!! Network Firewallに関するノウハウを知ることのできる記事が圧倒的に足りません[1]。設定項目の説明は公式マニュアルを見れば書いてあるかもしれませんが、こういうユースケースの時はこの設定を選ぶのがよい、こういう設定をするとこういうことができるのでおすすめです、などの情報が 分かりやすく (重要)説明された記事は、実際にNetwork Firewallを構築して運用してみようという人にとって十分なものとは言い難いと感じます。 [1] Network FirewallはSuricataというオープンソースのIDS/IPSソフトウェアをベースに作られているので、Suricataの情報を探して読めば必要なことの多くは知ることができるのかもしれませんが、そちらへはあまり足を踏み出せていません……。   というわけでそれでも何か情報が落ちていないかと探していると…… AWS re:Inforce 2023 でそれなりの数のNetwork Firewallに関するセッションがあったことが分かりました。 早速、動画を視聴してみる、のです、が……私、英語、聞き取れないんですよね。最近のYouTube動画は英語字幕もついていますが、スピーカーの速度に合わせて字幕を読みつつスライドも読むとなるとまったく追いつきません。これを丁寧に繰り返し観ていたら、時間がいくらあっても足りない…… やりたいこと そこで、考えました。生成AIを使って効率よくAWS Network Firewallの勉強できないか、と。生成AIにはハルシネーションと呼ばれる、事実に基づかない嘘情報を返す現象があることはよく知られていますので、生成AIにただ質問するだけではろくな成果が得られないであろうことは火を見るよりも明らかです。 しかし幸いにもAWSでは昨年11月にKnowledge Base for Amazon BedrockというRAG(Retrieval-Augmented Generation/検索拡張生成)のサービスが一般提供を開始していますので、動画の字幕情報やプレゼンテーションのスライドを登録してやれば、内容を要約してもらったり、要約からさらに知りたい部分を詳しく説明してもらったりすることが可能なのではないでしょうか……? データの準備 先ほどの、AWS re:Inforce 2023のNetwork and Infrastructure Security関連の動画一覧 からNetwork Firewallに関係ありそうな動画を見繕い、字幕をダウンロードします。字幕のダウンロードにはこちらのサイト( DownSub.com )を利用しました。(特におすすめサイトというわけでもないので、ご利用は自己責任でお願いします)。字幕に表示時刻を併記したsrtという形式のファイルもダウンロードできますが、あまりメリットを得られなさそうだったのでtxt形式でダウンロードしています。 ついでに動画に対応するプレゼン資料(PDF)もダウンロードし、他にもSecurity JAWSの日本語のプレゼン資料なども加えました。Knowledge Base for Amazon Bedrockに登録した動画字幕およびプレゼン資料は下記一覧の通りです。この一覧も念のためテキストファイルにしてKnowledge Baseに登録しています。 Title: Security-JAWS DAYS - AWS Network Firewall && DNS Firewallで解決できること YouTube URL: PDF URL: https://speakerdeck.com/tsumita/20230826-securityjaws-nwfw-dnsfw Title: AWS re:Inforce 2022 - Deploying AWS Network Firewall at scale: athenahealth's journey (NIS308) YouTube URL: https://www.youtube.com/watch?v=VMVeTvX4OLw PDF URL: https://d1.awsstatic.com/events/aws-reinforce-2022/NIS308_Deploying-AWS-Network-Firewall-at-scale-athenahealths-journey.pdf Title: AWS re:Inforce 2023 - Policy and Suricata compatible rule creation for AWS Network Firewall (NIS308) YouTube URL: https://www.youtube.com/watch?v=67pVOv3lPlk PDF URL: https://d1.awsstatic.com/events/Summits/awsreinforce2023/NIS308_Policy-and-Suricata-compatible-rule-creation-for-AWS-Network-Firewall.pdf Title: AWS re:Inforce 2023 - How AWS threat intelligence becomes managed firewall rules (NIS301) YouTube URL: https://www.youtube.com/watch?v=oURlWfLjdqE PDF URL: https://d1.awsstatic.com/events/Summits/awsreinforce2023/NIS301_How-AWS-threat-intelligence-becomes-managed-firewall-rules.pdf Title: AWS re:Inforce 2023 - Outbound security implementation with AWS Network Firewall & Route 53 (NIS305) YouTube URL: https://www.youtube.com/watch?v=9zDk-EaMUpc PDF URL: https://d1.awsstatic.com/events/Summits/awsreinforce2023/NIS305_Outbound-security-implementation-with-AWS-Network-Firewall-and-Route-53.pdf Title: AWS re:Inforce 2023 - Build secure global connectivity with AWS (NIS302) YouTube URL: https://www.youtube.com/watch?v=4pywOCWTXyQ PDF URL: https://d1.awsstatic.com/events/Summits/awsreinforce2023/NIS302_Build-secure-global-connectivity-with-AWS.pdf Title: AWS re:Inforce 2023 - Advanced approaches to traffic inspection & network diagnosis w/ AWS (NIS304) YouTube URL: https://www.youtube.com/watch?v=c3xzxvyD14U PDF URL: https://d1.awsstatic.com/events/Summits/awsreinforce2023/NIS304_Advanced-approaches-to-traffic-inspection-and-network-diagnosis-with-AWS.pdf Title: AWS re:Inforce 2023 - Achieving Zero Trust with AWS application networking (NIS307) YouTube URL: https://www.youtube.com/watch?v=PiCtF_XbZTM PDF URL: https://d1.awsstatic.com/events/Summits/awsreinforce2023/NIS307_Achieving-Zero-Trust-with-AWS-application-networking.pdf Title: AWS re:Inforce 2023 - Firewalls, and where to put them (NIS306) YouTube URL: https://www.youtube.com/watch?v=lTJxWAiQrHM PDF URL: https://d1.awsstatic.com/events/Summits/awsreinforce2023/NIS306_Firewalls-and-where-to-put-them.pdf Title: AWS re:Inforce 2023 - Setting up AWS Verified Access (NIS223) YouTube URL: https://www.youtube.com/watch?v=GaDqIZ5bQBc PDF URL: https://d1.awsstatic.com/events/Summits/awsreinforce2023/NIS223_Setting-up-AWS-Verified-Access.pdf Title: AWS re:Inforce 2023 - Use AWS Network Firewall for enterprises: Egress & ingress inspection (NIS222) YouTube URL: https://www.youtube.com/watch?v=lDavmXWdBTI PDF URL: https://d1.awsstatic.com/events/Summits/awsreinforce2023/NIS222_Use-AWS-Network-Firewall-for-enterprises-Egress-and-ingress-inspection.pdf Title: AWS re:Inforce 2023 - Deploy distributed egress policies with a central AWS Network Firewall (NIS233) YouTube URL: PDF URL: https://d1.awsstatic.com/events/Summits/awsreinforce2023/NIS233_Deploy-distributed-egress-policies-with-a-central-AWS-Network-Firewall.pdf Title: AWS re:Inforce 2023 - Enhance network security by integrating with AWS Security Hub (NIS251) YouTube URL: PDF URL: https://d1.awsstatic.com/events/Summits/awsreinforce2023/NIS251_Enhance-network-security-by-integrating-with-AWS-Security-Hub.pdf Title: AWS re:Inforce 2023 - Managing multi-Region & multi-account AWS Network Firewall resources (NIS341) YouTube URL: PDF URL: https://d1.awsstatic.com/events/Summits/awsreinforce2023/NIS341_Managing-multi-Region-and-multi-account-AWS-Network-Firewall-resources.pdf Title: AWS re:Inforce 2023 - Codify your network security compliance at scale with AWS Network Firewall and IaC (NIS342) YouTube URL: PDF URL: https://d1.awsstatic.com/events/Summits/awsreinforce2023/NIS342_Codify-your-network-security-compliance-at-scale-with-AWS-Network-Firewall-and-IaC.pdf Title: AWS re:Inforce 2023 - AWS Network Firewall & DNS Firewall security in multi-VPC environments (NIS373) YouTube URL: PDF URL: https://d1.awsstatic.com/events/Summits/awsreinforce2023/NIS373_AWS-Network-Firewall-and-DNS-Firewall-security-in-multi-VPC-environments.pdf Title: AWS re:Inforce 2023 - Stopping zero-day attacks and ransomware with effective egress controls (NIS374) YouTube URL: PDF URL: https://d1.awsstatic.com/events/Summits/awsreinforce2023/NIS374_Stopping-zero-day-attacks-and-ransomware-with-effective-egress-controls.pdf Knowledge Baseの作成 字幕テキストファイル、プレゼン資料、資料一覧をひとつのS3バケットに放り込み、対応リージョン(今回はオレゴンを利用)のAmazon Bedrock → ナレッジベース から、ナレッジベースを作成します。ナレッジベースの作成は、下記記事を参考にしました。 生成AI初心者がAmazon BedrockのKnowledge baseを使ってRAGを試してみた AWS re:Invent2023にて、Amazon BedrockのKnowledge baseとAgentsがGAされたと発表がありました。今回はこのうちKnowledge baseを利用して、RAG(Retrieval Augment Generation)を試してみたいと思います。 blog.usize-tech.com 2023.12.07 ナレッジベースに質問してみる 今回は私自身がNetwork Firewallの勉強をできればそれでよいので、ナレッジベースに付属しているテスト画面で早速質問を入れてみます。基盤モデルにはAnthropic Claude 2.1を使用しました。また、ほぼ英語しか入っていないナレッジベースに日本語で質問しても翻訳の問題に悩まされそうなので、英語で質問して英語で回答してもらっています。 ネットワークファイアウォールのベストプラクティスを聞く Please provide a list of 10 best practices for the design and configuration of AWS Network Firewall. Network Firewallの設計・設定のベストプラクティスを10個挙げてもらうことにしました。実は事前に(聞き取れないのを頑張って)『 Policy and Suricata compatible rule creation for AWS Network Firewall (NIS308) 』の動画を視聴しており、その中で10個のベストプラクティスが紹介されていることを知っていました。ですので、AIが回答しやすい、易しい質問のはずです。 回答がこちら。 わりとしっかり回答できている感じがしますね。回答をどのデータソースから引っ張ってきたのか分かるように注がつくのもありがたいです。ただ、データソースの一覧を見ていると、字幕ファイルがひとつもないことが分かりました。 ……調べてみるとPDFの方に10個のベストプラクティスを一覧にしたスライドがあり、回答はそのスライドをまるまる引っ張ってきているだけでした。……まあ今回の質問はPDFの方に「正解」がそのまま書かれているわけですから、仕方ない。 返してきたベストプラクティスのうちのひとつについて詳しく説明するようにお願いしてみます。 詳細を尋ねる Please elaborate “8. Prefer “flow:to_server, established”” ちゃんと説明にはなっています。ただやっぱり気になるのは、データソースがPDFしかありません。字幕ファイルが仕事してくれない……。他にもいくつか詳細を聞いてみましたが、データソースになるのはPDFばかりで、字幕ファイルが出てきません。 ちなみに、PDFをナレッジベースに入れる前(字幕ファイルしかないとき)に同じ質問(ベストプラクティス10個)をしたらどうなったかというと、こちら。 10個挙げてくれていないし、回答も嘘ではないけれども特に意味もない情報という感じです。動画字幕から適切な情報を得るのは難しいのかな?? ここに至り、複数の動画字幕/プレゼン資料から適切な情報を抜き出してくてくれると期待するのはあきらめて、動画を指定して内容の要約をやってもらうことにします。 動画の要約を作成する ナレッジベースに登録したうちのひとつのプレゼンテーションを指定して要約を作成してもらうことにします。 Please summarize the presentation “AWS re:Inforce 2023 – Outbound security implementation with AWS Network Firewall & Route 53 (NIS305)” in approximately 200 words. 字幕ファイルの冒頭にプレゼンテーションタイトルを追記しておいたので、それを足掛かりにうまく要約してくれるかもしれません……! ……唯一の引用マークは、私が作った動画一覧を参照しています……。これでまともな要約が作れるわけがない……と思いきや、要約自体はそこまで悪くない感じがします。 Bedrockには retrieveというAPI があり、プロンプトを投げるとナレッジベースから情報を検索し、検索結果と関連度スコアを表示してくれます。これを使って、いったいどういう情報を使って答えてくれたのか確認してみましょう。 以下、APIのレスポンスです。 { "ResponseMetadata": { (略) "retrievalResults": [ { "content": { "text": "v=oURlWfLjdqE\r PDF URL: https://d1.awsstatic.com/events/Summits/awsreinforce2023/NIS301_How-AWS-threat-intelligence-becomes-managed-firewall-rules.pdf\r \r Title: AWS re:Inforce 2023 - Outbound security implementation with AWS Network Firewall & Route 53 (NIS305)\r YouTube URL: https://www.youtube.com/watch?v=9zDk-EaMUpc\r PDF URL: https://d1.awsstatic.com/events/Summits/awsreinforce2023/NIS305_Outbound-security-implementation-with-AWS-Network-Firewall-and-Route-53.pdf\r \r Title: AWS re:Inforce 2023 - Build secure global connectivity with AWS (NIS302)\r YouTube URL: https://www.youtube.com/watch?v=4pywOCWTXyQ\r PDF URL: https://d1.awsstatic.com/events/Summits/awsreinforce2023/NIS302_Build-secure-global-connectivity-with-AWS.pdf\r \r Title: AWS re:Inforce 2023 - Advanced approaches to traffic inspection & network diagnosis w/ AWS (NIS304)\r YouTube URL: https://www.youtube.com/watch?" }, "location": { "type": "S3", "s3Location": { "uri": "s3://xxxxxxxxxxxxxxxx/KnowlegeBase/file_list.txt" } }, "score": 0.80244076 }, (略) { "content": { "text": "\u00a9 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. \u00a9 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.\u00a9 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Codify your network security compliance at scale with AWS Network Firewall and IaC Adil Kazi (he/him) N I S 3 4 2 Cloud Infrastructure Architect AWS Pradeep Kumar (he/him) Cloud Infrastructure Architect AWS \u00a9 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Problem statement \u2013 Why? Solution \u2013 What and how? Let\u2019s code Agenda \u00a9 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Prerequisites \u2022 Terraform installed \u2022 AWS Organizations \u2022 AWS Config enabled \u2022 AWS Resource Access Manager (AWS RAM) enabled \u2022 Management AWS account with an IAM user that has the appropriate permissions \u2022 Spoke AWS account with an AWS Network Firewall policy deployed \u00a9 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved." }, "location": { "type": "S3", "s3Location": { "uri": "s3://xxxxxxxxxxxxxxxx/KnowlegeBase/NIS342_Codify-your-network-security-compliance-at-scale-with-AWS-Network-Firewall-and-IaC.pdf" } }, "score": 0.7409537 }, (略) { "content": { "text": "Title: AWS re:Inforce 2023 - Outbound security implementation with AWS Network Firewall & Route 53 (NIS305) - Hello everyone and welcome to our session on Outbound security with AWS Network Firewall and DNS Firewall. Super excited to be with our customer, Robinhood. - I'm Paul Radulovic, head of platform security for Robinhood. - All right, so agenda-wise we're gonna be looking at what is egress security, a quick overview of this two primary security services that we see customers being successful with around egress control. And then why are customers doing this? You know, why are customers investing and spending time on this? Then we'll zoom in a little bit on a specific exploit just to understand how these things typically work and the opportunities that we have to both detect and block bad things from happening. And then I'll pass it off to Paul to talk about Robinhood's egress security journey. So what in the world is egress security? Egress security, in terms of an AWS VPC, it's really your workloads making a network connection out to somewhere else, usually the internet, right?" }, "location": { "type": "S3", "s3Location": { "uri": "s3://xxxxxxxxxxxxxxxx/KnowlegeBase/[English] AWS re_Inforce 2023 - Outbound security implementation with AWS Network Firewall & Route 53 (NIS305) [DownSub.com].txt" } }, "score": 0.73764765 }, (略) { "content": { "text": "\u00a9 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. \u00a9 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.\u00a9 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Outbound security implementation with AWS Network Firewall & Route 53 Jesse Lepich N I S 3 0 5 Sr. Security Solutions Architect AWS Paul Radulovic (he/him) Head of Platform Security Robinhood \u00a9 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Agenda What is egress security Quick overview of AWS Network Firewall & Route 53 Resolver DNS Firewall Why are AWS customers spending time on egress security? Anatomy of an exploit Robinhood\u2019s egress security journey, lessons learned, and best practices \u00a9 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.\u00a9 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. What is egress security? \u00a9 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. What is egress security?" }, "location": { "type": "S3", "s3Location": { "uri": "s3://xxxxxxxxxxxxxxxx/KnowlegeBase/NIS305_Outbound-security-implementation-with-AWS-Network-Firewall-and-Route-53.pdf" } }, "score": 0.7173835 }, (略) uriが、S3のどのファイルから情報を検索してきたか、textが抜き出してきたテキスト、scoreが関連度スコアです。uriを見ると、要約したかったNI305の字幕ファイルもPDFも含まれているので、虚空から回答を作り出したわけではなさそうです。 まとめ AWSのイベントの動画(字幕)とプレゼン資料PDFをRAG(Knowledge Base for Amazon Bedrock)のデータソースにして、AWS Network Firewallの勉強に使えるかを試してみました。所感は以下の通りです。 字幕情報だけではろくな回答が出力されず、予想以上に役に立っていなかった。なぜこれほど有用情報の検索に寄与しなかったのか考えるのは今後の課題。 プレゼン資料PDFは逆に予想よりは役に立った。パワーポイント系の資料がもとになっているので、文字が細切れになっていたり、画像化されている文字情報も多く、あまり役に立たないのではないかと予想していた。細切れにはなっていても要点はしっかりまとめられていたということだろうか。 Knowledge Base for Amazon Bedrockが裏でプロンプトエンジニアリングを頑張ってくれている[1]とはいえ、より適切な情報を引き出すためにプロンプトエンジニアリングをもっと頑張る必要があったのかもしれない。 結果的には、自分の知らない情報を効率よく知ることができたとは言い難い。(この記事を執筆するために結局一部のプレゼンPDFを読むことになり、そちらの作業の方が実りあるものだった) [1] Knowledge Base for Amazon Bedrockの実行ログはCloudWatch Logsに出力されます。このログを見ると、ハルシネーションが発生しないようにしたり、情報をどこから引用したのか分かるようにIDをつけるように指定したりと、裏でのプロンプトエンジニアリングの努力が垣間見えます。 おまけ Knowledge Base for Amazon Bedrockで試行錯誤しているうちに、Microsoft CopilotでYouTube動画の内容を要約できると知り、試してみることにしました。対象動画は、前述のNetwork Firewall Top 10 best practices を説明している Policy and Suricata compatible rule creation for AWS Network Firewall (NIS308) です。 自分 この動画を要約してください。 Copilot この動画の要約 [00:00:02]1 – [00:28:13]2:           この動画では、AWS Network FirewallとSuricata互換のルール作成について説明しています。Suricataのベストプラクティスやポリシーの考慮事項について解説し、カスタムSuricataルールの作成方法をデモで紹介しています。 ハイライト: [00:01:07]3 AWS Network Firewallの概要 高可用性、フルマネージド、スケーラブルなサービス AWSが提供する脅威シグネチャやドメインの管理ルールセットを利用可能 Suricataという強力で柔軟なルールエンジンを使用 ディープパケットインスペクションやプロトコル検証などの機能を提供 (以下略) いいですね!実行するたびに出力内容が違って、要約の品質にもだいぶ幅があるのが気になりますが、嘘らしい嘘はついていないように思います。その内容が動画のどの時間で言及されているか記載があるのもとてもありがたいです。 動画内容の詳細を質問してみます。 自分 この動画で説明されているSuricataルールの例について、この動画で説明されている範囲でできる限り詳しく説明してください。 Copilot この動画では、カスタムSuricataルールの例として、以下のようなルールを紹介しています。          TLSトラフィックを許可するルール:このルールは、TLSプロトコルを使用しているトラフィックを検出し、パスアクションで許可します。2このルールは、tls.versionというキーワードを使って、TLSのバージョンを指定します。34このルールは、tls.sniというキーワードを使って、TLSのサーバ名を指定します。 TCPトラフィックをブロックするルール:このルールは、TCPプロトコルを使用しているトラフィックを検出し、ドロップアクションでブロックします。5このルールは、flowというキーワードを使って、トラフィックの方向と状態を指定します。67このルールは、flow:to_server,establishedというオプションを使って、TLSトラフィックを許可するルールと同じレベルで評価されるようにします。8 HTTPトラフィックをログに記録するルール:このルールは、HTTPプロトコルを使用しているトラフィックを検出し、アラートアクションでログに記録します。このルールは、http.methodやhttp.hostといったキーワードを使って、HTTPのメソッドやホスト名を指定します。このルールは、msgやsidといったキーワードを使って、ログに表示するメッセージやルールのIDを指定します。 UDPトラフィックをポート番号で制限するルール:このルールは、UDPプロトコルを使用しているトラフィックを検出し、ドロップアクションで制限します。このルールは、ヘッダー部分にポート番号を指定することで、特定のポートに対するトラフィックをフィルタリングします。このルールは、dsizeというキーワードを使って、データサイズを指定します。 ドメイン名を許可するルール:このルールは、TLSやHTTPの通信におけるドメイン名を検出し、パスアクションで許可します。2このルールは、tls.sniやhttp.hostといったキーワードを使って、ドメイン名を指定します。4このルールは、contentやpcreといったキーワードを使って、ドメイン名のパターンを指定します。 これらのルールの詳細な説明やデモは、動画の[00:36:00] 1 から[00:49:54] 2 までの部分をご覧ください。この部分では、ルールの構文やオプション、効果やログの確認方法などを具体的に示しています。この情報が役立つことを願っています。9他に何か質問がありましたら、お気軽にどうぞ。10よろしくお願いいたします。11 「この動画で説明されている範囲で」という限定をつけてみましたが、どうやら動画で触れられていない内容が紛れ込んでいるように見えます(UDPトラフィックのdsizeキーワードとか)。このあたりはもっと厳密にプロンプトエンジニアリングをしてあげなければいけないところなのでしょうか。Knowledge Base for Amazon Bedrockを使って得た回答に比べるとはるかに内容が充実していて勉強できている感はありますが、誤情報が紛れ込んでいないか油断のできないところです。最後の段落の「この情報が役立つことを願っています」「他に何か質問がありましたら、お気軽にどうぞ」あたりがいかにもChatGPTっぽく、不安を増幅してくれます。 また、「dsizeというキーワードを使って、データサイズを指定します」とか「contentやpcreといったキーワードを使って、ドメイン名のパターンを指定します」とか、詳細を語っているっぽいキーワードを散りばめていて何だか分かった気分になれますが、結局どう使えばよいのかまではよくわかりません。これは動画ではスライドを使って「このルールはこれこれこういう意味で…」と説明しているのに対して、おそらく音声(字幕)情報だけ使用して回答を生成していることを考えると仕方のないことかもしれませんが、結局、詳細を知ろうとすると動画の該当箇所を観ることは避けられないようです。もちろん、この出力を読んだうえで動画を観るのとそうでないのとでは理解度が全く違うので、これだけでも非常にありがたいことではあります。 おまけ その2 この記事を書くためにPDF資料を読み込んでいたら、半月ほどず~っと悩んでいた事象に対する答えが見つかりました。 ( https://d1.awsstatic.com/events/Summits/awsreinforce2023/NIS308_Policy-and-Suricata-compatible-rule-creation-for-AWS-Network-Firewall.pdf より引用)  TCPはTLSより低レイヤのプロトコルだから、ルールの順序を無視してTCPのルールが先に適用される、とのこと。そういうことだったのか……(納得)。 この情報は生成AIを使った勉強では一切引っかかりませんでした。結局自分で資料を読み込むのが一番ということなんですかねえ。
本記事の内容は、以下のCato Networks社の記事を元に日本語へ意訳、再構成したものとなります。 Cato Firewall-as-a-Service (FWaaS) Cato Secure Web Gateway (SWG) CatoクラウドのFWaaS、およびSWGは、標準サービス内に含まれます。セキュリティオプション(追加費用)は不要です。 それでは、CatoクラウドのFWaaSとSWGについて解説します。 Cato FWaaSについて Firewall-as-a-Service(FWaaS)は、ファイアウォールやその他のネットワークセキュリティ機能をクラウドサービスとして提供する新しく画期的な方法です。レガシーな物理ファイアウォールや仮想ファイアウォールの制約や複雑さを解消し、ネットワークセキュリティをあらゆる場所で一貫して利用できるようにします。 死角のない完全なトラフィック検査 Catoクラウドは、クラウドProxyやSSE(Security Service Edge)と異なり、インターネット(南北)だけでなくWAN(東西)を含むすべての送信元からすべての宛先へのネットワークトラフィックを検査します。これには、HTTP(S)トラフィックだけに限らず、すべてのポートとプロトコルのトラフィックが含まれます。 Catoは、企業が本社・拠点とデータセンターの両方のファイアウォールアプライアンスを廃止し、CatoクラウドのFWaaSに置き換えるのを支援します。Catoは、従来のファイアウォール機能をすべてネットワーク(プロキシではなく)アーキテクチャで、クラウドからマルチギガスループットで提供できるため、ファイアウォールの廃止が可能です。 Cato FWaaSを使用することで、企業はコンフィギュレーションのギャップや盲点を回避し、データ侵害のリスクを低減することができます。 スケーラブルなファイアウォールルールセット管理 Cato FWaaSは、ルールセット内の順序に基づいてルールを処理し、最初のヒットで停止します。ルールセットが多数のルールで溢れるのを避けるため、各ルールに特定の例外設定をすることもできます。Catoは、管理者がルールをセクションにグループ分けすることで、読みやすくし、サードパーティの監査人が効率的にレビューできるようにします。 Catoは、ルールで使用できる豊富なオブジェクトセット(ユーザーID、組織単位、デバイス、ホスト、アプリケーション、プロトコル、ロケーション、ネットワーク、VLAN、その他多数)と、複数のオブジェクトタイプを組み合わせることができる論理グループで管理する機能を提供します。 ※ファイアウォールアプライアンスと異なり、ルールやオブジェクトに制限(上限)はありません。 詳細な分析とレポートのための完全なログとモニタリング Cato FWaaSのすべてのルールとアクションは、イベントを記録し、Catoクラウドのプラットフォームに保存するよう設定できます。 電子メール通知は、定義された期間中に繰り返される選択されたイベントについて、定義された緊急度で警告するように設定することができます。 イベントのモニタリングと分析は、専用のダッシュボードや、使いやすい検索とフィルタリングを提供するイベントモニタリングインタフェースを通じて利用できます。 監査証跡は、追跡、監視、監査のためにすべての管理者の活動を記録します。 あらゆるニーズに対応する無制限の処理・検査能力 CatoクラウドのFWaaSは、クラウドネイティブなソフトウェアアーキテクチャを採用したクラウドサービスです。また、自律的かつ弾力的なスケーリングとセルフヒーリングにより、高いパフォーマンスとサービスの回復力を保証します。 Catoは、管理者がパフォーマンスや可用性を心配することなく、TLSインスペクションを含むすべての機能を有効にし、任意のタイプと数のオブジェクト、グループ、ルールを使用できるようにします。 Catoのクラウドネイティブ・ソフトウェア・アーキテクチャは、CPU負荷、パケットドロップ、デバイス障害によるレイテンシーの増加の懸念を排除します。同様に、計算能力不足によるアプライアンスの中途交換のリスクも回避できます。 リスク低減のマイクロセグメンテーション、アクセス制御、ゼロトラスト マイクロセグメンテーションは、機密性の高いリソースへのアクセスを制限するために簡単に設定することができます。グループ、ネットワーク、VLAN、およびホストやユーザーなどの個々のオブジェクトに基づいてポリシーを設定し、ビジネス要件を満たすきめ細かなアクセスを管理できます。ゼロトラストのために、Catoは、管理者がユーザーのアイデンティティだけでなく、地理的な位置、接続方法、セキュリティ姿勢などを考慮したアイデンティティ間、アイデンティティからアプリ、アプリ間のアクセスポリシーを設定することができます。 DPIベースのアプリケーションとユーザーの認識(識別) CatoクラウドのFWaaSには、すべてのポートとプロトコルにまたがる何千ものアプリケーションに対する認識が組み込まれており、カスタムアプリケーションを定義する機能もあります。 Deep Packet Inspection(DPI) エンジンは、ペイロードを解読することなく、最初のパケットと同時にアプリケーションやサービスを識別します。 Catoは、ユーザとそのユーザが所属する組織単位のアイデンティティを考慮したポリシーの設定と実施を可能にします。ユーザディレクトリと同期し、Catoクライアントのアイデンティティエージェントを使用することで、ユーザアイデンティティがすべてのネットワークフローに関連付けられます。 ※Catoクライアントは、アイデンティティエージェントとして機能します。   Cato SWGについて Cato SWG(Secure Web Gateway)は、インターネットの脅威から保護するための追加レイヤーを提供することで、セキュリティを強化し、Webサイトのコンテンツとリスク分類に基づいて、Webサイトアクセスの企業基準を実施します。 80以上の組み込みカテゴリと事前定義されたセキュリティポリシーによる即時保護 CatoクラウドのSWGは、インターネットセキュリティのベストプラクティスに沿った、すぐに使えるポリシーを提供します。一度有効化されたポリシーは、即座に企業全体に適用されます。また、Cato SWGには、80以上のカテゴリに分類されたWebサイトが含まれており、管理者は、機密性の高いコンテンツや不適切なコンテンツへのアクセスを管理する企業のコンプライアンス要件を容易に遵守できます。必要に応じて、ユーザーID、場所、デバイスなどの詳細な属性を使用してポリシーを絞り込むことができます。また、各ポリシーに対して、管理者は許可、ブロック(Block)、プロンプト(Prompt)などの必要なアクションを選択できます。 フィッシングおよびマルウェア配信サイトからの防御 悪意のあるドメイン、危険なドメイン、フィッシングドメイン、およびパークドメイン(ドメインのみが存在)カテゴリーをブロックすることで、ユーザーがWeb上の脅威にさらされる可能性を低減します。Catoは、常に変化するドメインランドスケープ全体で悪意のあるドメインの最新のブラックリストを維持し、最適なセキュリティ態勢を確保します。悪意のあるサイトへのアクセス試行は、記録、さらなる分析、セキュリティトレーニングの優先順位付け、常習犯の識別のためにログに記録することができます。 検索エンジンによるポリシー迂回の防止 検索エンジンでは、ユーザーが検索エンジンのドメインから離れることなく、画像を閲覧したり、動画コンテンツをプレビューしたりできるため、組織のコンプライアンス・ポリシーを回避できることがよくあります。CatoクラウドのSWGは、管理者が一般的な検索エンジンのセーフサーチとYouTubeのコンテンツ制限を実施することを可能にし、ユーザによるポリシーの回避を防ぎます。この機能は数回クリックするだけで有効化でき、最小限の労力ですべてのユーザーとロケーションの保護を強化できます。 カスタマイズ可能な通知でエンドユーザーエクスペリエンスを最適化 CatoクラウドのSWGは、Webサイトへのアクセスが妨げられたり、遅延したりした場合に、ユーザーに明確な通知を行い、例外を要求したり、エラーを報告したりすることができます。管理者は、Catoのブロック(Block)とプロンプト(Prompt)ページを自由うにカスタマイズして、企業ブランドロゴや、情報システム部の連絡先、再カテゴライズ要求のプロセスなど、ユーザーに提供される特定の通知テキストを組み込むことができます。 ※ブラウザにセットされている言語での自動切換え表示も可能です。 SWGイベントのログとレポートによる総合的な可視性 すべてのイベントデータは自動的に保持され、Catoのデータレイクに正規化され、SIEM(Security Information and Event Management)のような機能を備えた組み込みのイベントエンジンを使用してクエリできます。管理者は、一般的なユースケースをカバーする様々な定義済みクエリから選択するか、必要なフィルタを選択してカスタムクエリを迅速に構築できます。PDFレポートも生成でき、監査や経営陣の可視化を目的としたドキュメントを簡単に作成できます。   まとめ Catoクラウドの標準サービスに含まれるFWaaSとSWGの記事をご紹介させていただきました。 Catoクラウドに少しでも興味をお持ちになられた方は、遠慮なくSCSKまでお問い合わせください。 SASE、Cato Networks社、Catoクラウド(Cato Cloud/Cato SASE Cloud)自体の知名度もまだまだ低い状況です。 SCSKでは、2021年からSASEの主要ソリューションを一同に紹介を行うオンラインセミナー「SCSK SASE Solution Summit(通称S4 エスフォー)」を定期的に開催しております。これまで14回開催し、1,800名以上の方にご参加いただいております。 S4については、次回2024年4月以降に開催する予定ですので、改めてご案内します。 来月、2024年3月14日に、Catoクラウドの主要機能を2時間・デモ形式でご覧いただけるセミナーを開催しますので、ご興味のある方は是非ご参加ください。 Catoクラウドデモセミナー~Catoクラウドの主要機能を2時間で網羅~ 本セミナーでは、世界初のSASEである「Catoクラウド」の概要をたっぷり2時間、デモ形式でご覧いただきます。 また、ご希望の方(先着10名様)は、デモ環境に対して、お手元の環境からハンズオン形式でCatoクラウドに触れて頂くことが可能な参加型セミナーです。 www.scsk.jp SASE、Catoクラウドセミナー以外に、Catoクラウドのお客様導入事例の制作、FAQサイト運営、この TechHarmony(技術ブログ)で、皆様のお役に立て、Catoクラウドの知名度アップに少しでも貢献できればと考えております。
本記事の内容は、以下のCato Networks社の記事を元に日本語へ意訳し、再構成したものとなります。 CatoクラウドのIPSおよびNGAMは、標準サービスではなく、セキュリティオプション「 Threat Prevention 」に含まれるサービスとなります。 以前は、マルウェア対策(Anti-Malware:AM)、次世代型のマルウェア対策(Next-Generation Anti-Malware:NGAM)、不正侵入検知システム(Intrusion Prevention System:IPS)が、それぞれ3つのセキュリティオプションとして存在していましたが、AM、NGAMが、NGAMとして統合され、さらに2024年2月に、NGAMとIPSが、 Threat Preventionへ統合されています。 それでは、IPSとNGAMについてそれぞれ解説します。 Cato IPSについて CatoクラウドのIPSは、既知および未知のエクスプロイトを利用する高度な脅威や攻撃から組織をリアルタイムに保護します。IPSによる保護は、インターネット、WAN、クラウドを含むすべてのトラフィックに適用され、ランサムウェアの配信や伝播、データの盗難を防止します。 リアルタイムAI/MLによるフィッシング&マルウェア対策 攻撃者は、レピュテーション(評判/風評)ベースの防御ツールを回避するために、 ドメインスクワッティング (不正な目的でドメインを登録する)やドメイン生成アルゴリズム(Domain Generation Algorithms: DGA )のようなテクニックをしばしば使用します。CatoのIPSは、リアルタイム検査エンジンに複雑なAI/MLモデルを統合し、ドメインスクワッティングとDGAを検出します。脅威は、ディープラーニングモデルと、ドメインの人気度、年齢、文字パターンなどのデータポイントの相関関係を使用して識別されます。ファビコン(favicon)、画像、テキストなどのウェブページコンポーネントの分析により、ブランド偽装を検出します。 これまで事後分析でしか利用できなかったツールをリアルタイム防御に移行することで、防御の有効性と企業のセキュリティ態勢が劇的に改善されます。 ランサムウェア配信、C&C通信を防止 ランサムウェア攻撃を成功させるには、ランサムウェアの配信、攻撃者とのコマンド・アンド・コントロール(C&C)通信、そして最大の影響を与えるためのネットワーク全体への伝播が必要です。 Cato IPSは、インターネットとWANの両方のトラフィックを完全に可視化します。悪意のあるファイルのダウンロード、ランサムウェアや悪意のあるアクティビティに関連するドメインやIPアドレスへのアクセスをブロックすることで、マルウェアの配信やC&C通信を防止します。WAN全体への伝播は、横方向の移動パターンとインジケータの検出とブロックによって防止されます。 Cato IPSの包括的な可視化により、ランサムウェアの露出を減らすだけでなく、ランサムウェア攻撃の潜在的な影響を最小限に抑えることができます。 新たな脅威を迅速かつシームレスに緩和 企業は、新たな CVE (Common Vulnerabilities and Exposures:共通脆弱性識別子)からネットワークを保護するためのプロセス、リソース、および時間に苦労することがよくあります。Cato IPS は仮想パッチ適用機能を提供し、ミティゲーション(緩和/軽減)に要する時間が非常に重要な場合に、お客様のネットワークを迅速に保護します。Catoの専門家チームは、記録的な速さで新しいIPSルールを構築、テスト、展開し、お客様の関与を必要とすることなく、新しいCVEに迅速に対応します。この「仮想パッチ適用」により、企業は、影響を受けるシステムを更新し、パッチを適用している間、リスクの高い新たな脅威から保護されているという保証を得ることができます。 クラウドスケールのトラフィック検査 Catoクラウドは、クラウドネイティブアーキテクチャのパワーを活用し、TLS暗号化トラフィックを含むすべてのトラフィックを検査できる、伸縮性と拡張性に優れたIPSを提供します。大規模なクラウドコンピューティングリソースにより、シグネチャセットを微調整したり、IPSに送信されるトラフィックを制限したりする必要がありません。クラウドインフラストラクチャ、本社・拠点、リモートユーザーを含むすべてのロケーションとユーザーがCatoのIPSで保護されるため、FW/IPSアプライアンスの拡張やアップグレードが不要になります。Catoを使用することで、企業はリソースの制約により、一部のトラフィックしか検査できないIPSや、限られたシグネチャセットしか使用できないIPSを廃止することができます。 攻撃サーフェス削減のためのジオフェンシング 組織の攻撃サーフェスを削減する最も簡単な方法の1つは、組織がビジネス上やり取りする必要のない国をブロックすることです。CatoのIPSでは、すべてのユーザーとロケーションに適用される単一のグローバルポリシーで、特定の地域のトラフィック(インバウンド、アウトバウンド、またはその両方)を迅速にブロックできます。 ※ジオフェンシングは、特定エリアに仮想的なフェンス(柵)を作る仕組みです。 SASEを活用した専用ヒューリスティック言語 Cato IPSは、脅威や攻撃をリアルタイムで識別するためにヒューリスティック(経験則や先入観に基づき、直感で素早く判断)を使用します。ヒューリスティックは、実際のネットワーク・トラフィックに対して検証された一連の条件から構成されます。 CatoのSingle Pass Cloud Engine (SPACE)の一部であるCato IPSは、URL分類、アプリID、ターゲットリスクスコア、ターゲットの人気度、デバイスフィンガープリント、ユーザー認証など、スタンドアロンIPSソリューションが考慮できないデータを可視化します。 真のSASEコンバージェンス(収束)を活用するように設計された専用ヒューリスティック言語により、企業は脅威をリアルタイムで強固に防御することができます。 自動化されたAI管理型脅威インテリジェンス 最新の脅威インテリジェンスは、マルウェア、フィッシング、C&Cサイトに対するIPSの有効性、および誤検知による摩擦の低減が鍵となります。Cato IPSは、250以上の脅威インテリジェンスフィードからの情報を自律的に集約し、スコアリングする専用のAIベースのレピュテーションシステムを使用しています。このシステムは、フィード間の重複を継続的にマッピングしてクリアし、脅威記録の品質と関連性を測定し、実際のトラフィックへの潜在的な影響をシミュレートします。更新され集約されたブラックリストは、すべてのCato PoPに自動的に公開され、ほぼゼロの誤検知と顧客の関与なしに最新の保護を保証します。   Cato NGAMについて ネットワークベースの次世代型マルウェア対策(NGAM)は、ファイルがインターネットや企業WANを経由して送信される際に、リアルタイムでマルウェアから組織を保護します。マルウェアは、高度なヒューリスティックと高度に訓練された機械学習アルゴリズムによって識別されます。 ゼロデイマルウェアからのリアルタイム保護 CatoのNGAMは、ゼロデイマルウェアとポリモーフィックマルウェアをリアルタイムで検出します。SentinelOneとの提携により、機械学習アルゴリズムが何千ものデータポイント間の接続をマッピングし、良性、疑わしい、または悪意のある判定を返します。リアルタイムのゼロデイマルウェア保護により、情報システム部に過度の負担をかけ、ユーザーエクスペリエンスを損なうレガシーのサンドボックスソリューションへの依存がなくなります。 きめ細かなポリシーとシンプルな例外コントロール ポリシー管理は簡単で、管理者はインターネットやWANの宛先、送信元(ユーザー、IPアドレス、ホスト)、アプリケーションなどのコンテキストに基づいて、許可、ブロックのアクションを定義できます。スキャンの例外は、特定することも、アカウント全体に適用することもできます。CatoのNGAMを使用することで、企業はより厳格なセキュリティアプローチを採用することができ、ポリシーの変更がわずか数分でグローバルに反映されるため、ビジネスニーズを満たす俊敏性を維持することができます。 TLSインスペクションによる完全なマルウェア対策 最近のWebトラフィックの90%以上は暗号化されており、企業はそのトラフィックに脅威がないかは復号化して検査する必要があります。Catoクラウドは、TLS検査を大規模に実行するため、従来のセキュリティアプライアンスのようにサイズや規模を変更する必要がありません。検査ポリシーはきめ細かく適用できるため、企業は必要なだけのトラフィックを検査できます。TLSインスペクションを有効にすると、パフォーマンスへの影響はなく、Cato NGAMの完全な可視性により、すべてのトラフィックでマルウェアを検出してブロックすることができます。 ネストされたアーカイブと暗号化ファイルの保護 CatoクラウドのNGAMは、複数のファイルタイプをサポートし、ネストされたアーカイブファイル内の複数のレベルをスキャンすることができます。アーカイブファイルは、エンジンがファイルの全コンテンツにマルウェアがないことを確認するまで保持されます。暗号化されたファイルやパスワードで保護されたファイルはスキャンできませんが、ポリシールールによってブロックすることができます。これらの機能は、脅威者がセキュリティエンジンを回避するために使用するテクニックの1つに対処することで、組織の安全を確保するのに役立ちます。 常に最新の保護 CatoクラウドのNGAMは、すべてのファイルをワイヤスピードでスキャンし、Catoによって継続的に更新および最適化されるシグネチャおよびヒューリスティックデータベースに照らしてファイルを継続的に評価します。お客様は、従来のファイアウォールやUTMのマルウェア対策エンジンを置き換えることができ、固定アプライアンスのリソースの制約を受けることなく、すべてのファイルが包括的で最新のマルウェア対策データベースに照らして評価されるようになります。   まとめ Catoクラウドのセキュリティオプション「 Threat Prevention 」に含まれるIPSとNGAMの記事をご紹介させていただきました。 Catoクラウドに少しでも興味をお持ちになられた方は、遠慮なくSCSKまでお問い合わせください。 SASE、Cato Networks社、Catoクラウド(Cato Cloud/Cato SASE Cloud)自体の知名度もまだまだ低い状況です。 SCSKでは、2021年からSASEの主要ソリューションを一同に紹介を行うオンラインセミナー「SCSK SASE Solution Summit(通称S4 エスフォー)」を定期的に開催しております。これまで14回開催し、1,800名以上の方にご参加いただいております。 S4については、次回2024年4月以降に開催する予定ですので、改めてご案内します。 来月、2024年3月14日に、Catoクラウドの主要機能を2時間・デモ形式でご覧いただけるセミナーを開催しますので、ご興味のある方は是非ご参加ください。 Catoクラウドデモセミナー~Catoクラウドの主要機能を2時間で網羅~ 本セミナーでは、世界初のSASEである「Catoクラウド」の概要をたっぷり2時間、デモ形式でご覧いただきます。 また、ご希望の方(先着10名様)は、デモ環境に対して、お手元の環境からハンズオン形式でCatoクラウドに触れて頂くことが可能な参加型セミナーです。 www.scsk.jp SASE、Catoクラウドセミナー以外に、Catoクラウドのお客様導入事例の制作、FAQサイト運営、この TechHarmony(技術ブログ)で、皆様のお役に立て、Catoクラウドの知名度アップに少しでも貢献できればと考えております。