小林  治

小林 治

1598281440

[小ネタ] Sumo LogicでCloudTrailのログからAWSアカウントIDを取得する #sumologic

背景

Sumo LogicでCloudTrailの監視をしていると、たまに「このログ、どのAWSアカウントから出たものだろう?」と思うことがあります。

というのも、そもそもCloudTrailのログには、「どのAWSアカウントIDで発生したログか」という情報がフィールドとして存在しないためです。

userIdentity.accountId として記録されている情報はあくまで「操作したユーザの情報」であるため、日常的は問題ない場面も多そうですが、AWSの仕組み上別のAWSアカウントに権限を移譲できるため、完全ではありません。

  • AWS リソースへのアクセス権を第三者に付与するときに外部 ID を使用する方法 - AWS Identity and Access Management

そもそも全てのログにこの情報が記録されるわけでもないので、まるっと見たい時にはちょっと使いづらいです。

じゃあどうするか、と考えてみたところ、簡単な方法がみつかりました。

ログファイル名(S3オブジェクトファイル名)からパースすれば良さそうです。

解説

上述したAWSドキュメントにあるように、CloudTrailのログは下記のフォーマットのオブジェクト名をもっています。

AccountID_CloudTrail_RegionName_YYYYMMDDTHHmmZ_UniqueString.FileNameFormat

実際にはこれに、デフォルトのプレフィクスが追加されるため、バケット名を除けば例えば以下のような感じになります。

#aws #オペレーション #sumo logic

What is GEEK

Buddha Community

[小ネタ] Sumo LogicでCloudTrailのログからAWSアカウントIDを取得する #sumologic
小林  治

小林 治

1598281440

[小ネタ] Sumo LogicでCloudTrailのログからAWSアカウントIDを取得する #sumologic

背景

Sumo LogicでCloudTrailの監視をしていると、たまに「このログ、どのAWSアカウントから出たものだろう?」と思うことがあります。

というのも、そもそもCloudTrailのログには、「どのAWSアカウントIDで発生したログか」という情報がフィールドとして存在しないためです。

userIdentity.accountId として記録されている情報はあくまで「操作したユーザの情報」であるため、日常的は問題ない場面も多そうですが、AWSの仕組み上別のAWSアカウントに権限を移譲できるため、完全ではありません。

  • AWS リソースへのアクセス権を第三者に付与するときに外部 ID を使用する方法 - AWS Identity and Access Management

そもそも全てのログにこの情報が記録されるわけでもないので、まるっと見たい時にはちょっと使いづらいです。

じゃあどうするか、と考えてみたところ、簡単な方法がみつかりました。

ログファイル名(S3オブジェクトファイル名)からパースすれば良さそうです。

解説

上述したAWSドキュメントにあるように、CloudTrailのログは下記のフォーマットのオブジェクト名をもっています。

AccountID_CloudTrail_RegionName_YYYYMMDDTHHmmZ_UniqueString.FileNameFormat

実際にはこれに、デフォルトのプレフィクスが追加されるため、バケット名を除けば例えば以下のような感じになります。

#aws #オペレーション #sumo logic

Alverta  Crist

Alverta Crist

1590389692

Aggregating SSH logs from your servers into SumoLogic

This tutorial covers aggregating SSH access logs from your server fleet into SumoLogic using Teleport

#morioh #ssh #sumologic #teleport

笹田  晃

笹田 晃

1598021580

Sumo LogicにGuardDutyのログをS3から取り込む方法

Sumo LogicはAmazon GuardDutyのログを取り込んでダッシュボード表示させる機能があります。

しかし公式には、CloudWatch Logsから収集する方法しか書かれていません。

  • Amazon GuardDuty - Sumo Logic
  • Collect Logs for the Amazon GuardDuty App - Sumo Logic

このやり方を使うためには、Sumo GuardDuty events processor というAWS Lambda関数をデプロイして、CloudWatch Events経由でSumo Logicに送信する必要があります。

AWS Serverless Application Repository からデプロイできるので手軽ではありますが、管理するリソースも増えますし、導入にハードルを感じる方もいらっしゃるんじゃないでしょうか。

一方で皆さんご存じのように、GuardDutyにはログをS3に記録する設定が可能です。

この仕組みを使って、S3バケットに保存されたGuardDutyのログをSumo Logicに取り込むことももちろん可能です。以下、その手順をご説明します。

#aws #sumo logic #amazon guardduty #aws kms

笹田  晃

笹田 晃

1598257276

[初心者向け] Terraform で default セキュリティグループをあつかう

最近 Terraform に入門した西野です。

ひととおりチュートリアルを終え、いざ自分で .tf ファイルを書く段階になった途端、default セキュリティグループのルールを抹消したい欲求がフツフツとわき起こってきました。よくあることだと思います。 *1

Output Variables) などを用いてこねくり回さないとだめなのだろうか…?と思いつつ公式ドキュメントを眺めていたところ、ちょうど良い Resource を見つけました。

aws_default_security_group

default セキュリティグループをあつかうための Resource は下記の aws_default_security_group です。

Resource: aws_default_security_group)

通常の Resource の場合 Terraform は .tf ファイルにおける宣言によって対象の実体を 作成 します。

この aws_default_security_group の場合、既に存在する default セキュリティグループを 取り込む 動きをし、引数でわたされた設定で上書きするようです。

やってみた

新たな VPC を作成し、当該 VPC の dafault セキュリティグループからインバウンド/アウトバウンドルールを削除してみます。

main.tf

resource "aws_vpc" "vpc" {
  cidr_block = "10.0.0.0/16"
  tags = {
    Name = "vpc"
  }
}

resource "aws_default_security_group" "default" {
  vpc_id = aws_vpc.vpc.id
}

output "default_security_group_id" {
  value = aws_default_security_group.default.id
}

#aws #terraform #初心者向け #amazon vpc #小ネタ

Desmond  Gerber

Desmond Gerber

1653680940

Sumobot Jr: Open Source Sumo Design for Nodebots Day Sumo Competitions

Sumobot Jr.

Sumobot Jr. is an open source sumobot design made for Nodebots Day. Most existing sumo kits cost between $99 and $160. Since we're trying to keep our event costs down, I decided to try to design a bot that could be put together for around $50 including the cost of the Arduino. The name and design are inspired by the simplicity and zip-tied wooden beauty of the Printrbot Jr.

How ?

If you're planning on laser cutting the bots, you should use the OpenSCAD source file to generate a cutting plan for your specific type of laser cutter and material thickness. There's a wiki article for that!

Laser Cutting with the OpenSCAD file

If you want to jump right into it, you can watch this instructional video, but note that you may not want to clip the wires if you plan to reuse the servos for something else:

Sumobot Jr Assembly video for Nodebots Day 7/27

Customizing Sumobot Jr with Suziam and cats

IKEA-style Assembly Instruction Card

Microsoft's version for Build 2015 on Raspberry Pi + Windows 10

Katie K's No Solder Guide

Frank Hunleth's Arduino Mini Shield

Norfolk.js's Shopping List

Sidepart adaptors for MG-6-48 DC-Motors from ghtomcat

The main part of the design is a cutting sheet in EPS file format that is designed to be used with a laser cutter. You can find it in the cutting_plans directory. If you don't have a laser cutter, you can use a CNC, tape your printout to balsa wood and go at it with an x-acto knife, or send it to a laser cutting service like Ponoko and get the sheet done for about $10.

There is also a directory called 3d_print that contains an STL file for a ball caster designed by sliptonic - the STL is set up for a 16mm ball bearing, but you can make one for other sizes with the included OpenSCAD file.

NEW Microsoft has created a tutorial and version of the bot kit for Build 2015. You can find their version of the cutting plan for Ponoko in this repository, and also check out their tutorial using Raspberry Pi and Windows 10.

There is a completely 3D printable version available at Thingiverse now.

What if I don't have a Laser Cutter / 3D Printer?!

Neither do I! The best way to get some help creating the parts is to look up your local Hackerspace or Makerspace and connect with them. I belong to a fantastic hackerspace in Las Vegas called SYN Shop!

If you don't have a hackerspace nearby, you can also use a mail order service like Ponoko that does both 3D printing and laser cutting.

Other Parts Needed

No-solder Wiring Diagram (thanks @katiek2)

That's about it! Connect the red and black leads on the servos together, then connect them to the + and - terminals on the battery holder respectively. Then connect the black leads and - terminal to the ground of the Arduino. Finally, the white leads of each motor go to pins 9 and 10 (or whatever you like) on the Arduino - you're done!

Sample Code

To run the sample code for the Sumobot Jr., you will first need to install Node.js and git.

Open a terminal application and clone this repository:

git clone https://github.com/makenai/sumobot-jr

Navigate to the code folder:

cd code_example

Install code dependencies:

npm i

Run the code:

node sumobot.js

License

Creative Commons - Attribution - ShareAlike 3.0

You are free to:

  • to Share — to copy, distribute and transmit the work, and
  • to Remix — to adapt the work
  • Under the following conditions:
    • Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work)
    • Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same, similar or a compatible license.

With the understanding that:

  • Waiver — Any of the above conditions can be waived if you get permission from the copyright holder.
  • Other Rights — In no way are any of the following rights affected by the license:
    • your fair dealing or fair use rights;
    • the author's moral rights; and
    • rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights.

Credits

Made by

Design by @makenai with feedback and ideas from @noopkat aka (by their powers combined) Amalgamation of Cats.

Author: Makenai
Source Code: https://github.com/makenai/sumobot-jr 
License: 

#node #javascript #raspberrypi #iot