|
Steampipe: select * from cloud を使用すると、SQLを使用してクラウドサービス(AWS、Azure、GCP、GitHub、Slackなど)に瞬時にクエリを実行できます。これはデータベースを必要としないオープンソースのCLIツールです。SteampipeはAPIとサービスを高性能なリレーショナルデータベースとして公開し、SQLベースのクエリを記述して動的なデータを探索できます。Modsは、シンプルなHCLで構築されたダッシュボード、レポート、コントロールを使用することで、Steampipeの機能を拡張します。 インストール公式ウェブサイト https://steampipe.io/downloads にアクセスし、対応するプラットフォームを選択してインストール パッケージをダウンロードできます。 Linux ユーザーの場合は、次のコマンドを使用してワンクリック インストールできます。 sudo / bin / sh - c "$(curl -fsSL https://raw.githubusercontent.com/turbot/steampipe/main/install.sh)" インストール後、成功したかどうかを確認します。 ~$ 蒸気パイプ- v Steampipe バージョン0.15.2 上記のバージョン情報が表示されればインストールは成功です。 次に、ニーズに応じて対応するプラグインをインストールします: steampipe plugin install steampipe。 Mac ユーザーの場合は、Homebrew を使用して、brew install steampipe というコマンドを 1 回のクリックで実行して steampipe をインストールできます。 使用ここでは AWS を例にして、steampipe の使用方法を説明します。 まず、Steampee をダウンロードしてインストールし、次にプラグインをインストールします。 Steampipe プラグインのインストールaws Steampipe は、steampipe クエリを初めて実行するときに追加のコンポーネントをダウンロードしてインストールするため、最初の読み込みに数秒かかる場合があります。 Steampipe は多くのプラグインをサポートしており、公式 Web サイト (https://hub.steampipe.io/plugins) で確認できます。 プラグインがインストールされると、Steampipe は認証情報ファイルや環境変数からのデフォルトの AWS 認証情報を使用するため、これらも設定されていることを確認する必要があります。 AWS認証情報ファイルから「profile」パラメータを使用して名前付きプロファイルを指定できます。各プロファイルをリンクする場合、名前付きプロファイルを使用するのがおそらく最も一般的な設定です。 AWS 認証情報ファイル [ プロフィール_y ] aws_access_key_id = AKIA4YFAKEKEYXTDS252 aws_secret_access_key = SH42YMW5p3EThisIsNotRealzTiEUwXN8BOIOF5J8m 地域= 米国- 西部- 2 [ プロフィール_z ] aws_access_key_id = AKIA4YFAKEKEYJ7HS98F aws_secret_access_key = Apf938vDKd8ThisIsNotRealzTiEUwXj9nKLWP9mg4 aws.spc 接続"aws_account_y" { プラグイン= "aws" プロファイル= "profile_y" リージョン= [ "us-east-1" , "us-west-2" ] } 接続"aws_account_z" { プラグイン= "aws" プロファイル= "profile_z" 地域= [ "ap-southeast-1" , "ap-southeast-2" ] } `aws ec2 describe-vpcs` を実行できる場合は、使用する準備が整っています。 Steampipe は、クエリシェルを離れることなくテーブルやデータを探索できるコマンドを提供しています。`steampipe query` を実行すると、対話型クエリセッションが開きます。 $ steampipe クエリ Steampipe v0.5.0 へようこそ 詳細については、「. help」 と入力してください。 > 次に、`.tables` コマンドを実行すると、利用可能なテーブルが一覧表示されます。 > .tables ==> AWS +----------------------------------------+-------------------------------------------+ | 表| 説明| +----------------------------------------+-------------------------------------------+ | aws_accessanalyzer_analyzer | AWS アクセスアナライザー| | aws_account | AWS アカウント| | aws_acm_certificate | AWS ACM 証明書| | aws_api_gateway_api_key | AWS API Gateway API キー| ... +----------------------------------------+-------------------------------------------+ 通常、AWS プラグインには利用可能なテーブルが多数あります。例えば、`aws_iam_role` テーブルは `.inspect` コマンドを実行することで表示できます。 > . aws_iam_role を検査する +---------------------------+----------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | 列| タイプ| 説明| +---------------------------+----------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | account_id | text | リソースが配置されているAWS アカウントID 。 | | 別名| jsonb | リソースのグローバルに一意の識別子文字列( とも呼ばれます) の配列。 | | arn | テキスト| ロールを指定するAmazon リソース名( ARN ) 。 | | assume_role_policy | jsonb | エンティティにロールを引き受ける権限を付与するポリシー。 | | assume_role_policy_std | jsonb | 検索を容易にするために、 ロール引き継ぎポリシーを正規形式で格納します。 | | attached_policy_arns | jsonb | ロールにアタッチされている管理ポリシーのリスト。 | | create_date | タイムゾーンなしのタイムスタンプ| ロールが作成された日時。 | | 説明| テキスト| ロールについてのユーザー提供の説明。 | | inline_policies | jsonb | ロールのインラインポリシーとして埋め込まれているポリシードキュメントのリスト。 ... +---------------------------+----------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ aws_iam_role テーブルで使用できる列がわかったので、簡単なクエリを実行してロールを一覧表示できます。 aws_iam_role から名前を選択 もう少し複雑なシナリオを見て、境界ポリシーを適用していないロールを見つけてみましょう。 選択 名前 から aws_iam_role どこ permissions_boundary_arnがnull です。 他のデータベースと同様に、テーブルを結合することもできます。例えば、AWS管理ポリシーがアタッチされているすべてのロールを検索できます。 選択 r . 名前、 policy_arn 、 p is_aws_managed から aws_iam_roleをr として、 jsonb_array_elements_text ( attached_policy_arns ) をpolicy_arn として、 aws_iam_policyをp として どこ p.arn = ポリシー_arn およびp . is_aws_managed ; +-------------------------------------------------------+------------------------------------------------------------------------------------+----------------+ | 名前| policy_arn | is_aws_managed | +-------------------------------------------------------+------------------------------------------------------------------------------------+----------------+ | aws - elasticbeanstalk - ec2 - ロール| arn : aws : iam :: aws : ポリシー/ AWSElasticBeanstalkWorkerTier | true | | aws - elasticbeanstalk - ec2 - ロール| arn : aws : iam :: aws : ポリシー/ AWSElasticBeanstalkMulticontainerDocker | true | | admin | arn : aws : iam :: aws : ポリシー/ ReadOnlyAccess | true | | AWSServiceRoleForSSO | arn : aws : iam :: aws : ポリシー/ aws - サービス- ロール/ AWSSSOServiceRolePolicy | true | | AWSServiceRoleForAccessAnalyzer | arn : aws : iam :: aws : ポリシー/ aws - サービス- ロール/ AccessAnalyzerServiceRolePolicy | true | | aws - elasticbeanstalk - サービス- ロール| arn : aws : iam :: aws : ポリシー/ サービス- ロール/ AWSElasticBeanstalkEnhancedHealth | true | | AWSServiceRoleForElasticLoadBalancing | arn : aws : iam :: aws : ポリシー/ aws - サービス- ロール/ AWSElasticLoadBalancingServiceRolePolicy | true | | aws - elasticbeanstalk - サービス- ロール| arn : aws : iam :: aws : ポリシー/ サービス- ロール/ AWSElasticBeanstalkService | true | | AWSServiceRoleForOrganizations | arn : aws : iam :: aws : ポリシー/ aws - サービス- ロール/ AWSOrganizationsServiceTrustPolicy | true | +-------------------------------------------------------+------------------------------------------------------------------------------------+----------------+ Steampipeプラグインは設定を簡単に照会する方法を提供し、Steampipeモードではダッシュボード、レポート、コントロールを作成して共有できます。Steampipeダッシュボードでは、Steampipeデータを視覚化できます。 AWS Insightsのmodをダウンロードしてダッシュボードを表示できます。まずはリポジトリをクローンします。 git クローン 次に、そのディレクトリに切り替えて、steampipe ダッシュボードを実行します。 cd steampipe - mod - aws - インサイト 蒸気管ダッシュボード これによりダッシュボードが起動します。 Steampipe はブラウザで http://localhost:9194/ を開きます。ホームページには利用可能なダッシュボードが一覧表示され、タイトルまたはタグで検索できます。レポートを表示するには、タイトルをクリックします。例えば、「AWS CloudTrail Trail Dashboard」をクリックすると表示されます。 ページ上部の検索バーを使って別のダッシュボードに移動するか、左上隅のSteampipeロゴをクリックしてホームページに戻ることができます。終了したら、ターミナルコンソールに戻り、Ctrl+C を押して終了してください。 Git リポジトリ: https://github.com/turbot/steampipe。 |