GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

capitalone

cloud-custodian – Rules engine for AWS management, DSL in yaml for query, filter, and actions on resources

投稿日:

AWS管理のルールエンジン、クエリ、フィルタ、およびリソースのアクションに関するyamlのDSLhttps://developer.capitalone.com/open…

 

クラウドカストディアン

Cloud Custodianは、AWSフリート管理のルールエンジンです。 これにより、ユーザーはポリシーを定義して、安全に管理されたクラウドインフラストラクチャを有効にすることができます。 組織が持つアドホックスクリプトの多くを、統合されたメトリクスとレポート機能を備えた軽量で柔軟なツールに統合します。

カストディアンは、未使用リソースのガベージコレクションと時間外のリソース管理を通じて、セキュリティポリシー(暗号化やアクセス要件など)、タグポリシー、およびコスト管理にリアルタイムで準拠することによって、AWSアカウントを管理するために使用できます。

カストディアンポリシーは、ユーザーがリソースタイプ(ec2、asg、redshiftなど)でポリシーを指定できるようにする簡単なYAML構成ファイルで記述され、フィルタとアクションのボキャブラリから構成されています。

これはラムダとクラウドウォッチのイベントと統合されており、ラムダのプロビジョニングを組み込んだポリシーのリアルタイム適用や、既存の大規模な艦隊に対して実行する簡単なcronジョブとして提供されます。

@drewfirmentによる「 次世代のクラウドガバナンスの設計」

 

特徴

  • ポリシーを構築するための400以上のアクションと300以上のフィルタとともに、AWSサービスとリソース(> 100)の包括的サポート
  • ネストされたブール条件を持つリソースに対する任意のフィルタリングをサポートします。
  • どのポリシーを実行するのかを確認するには、任意のポリシーを実行します。
  • リアルタイムポリシーのラムダ機能、設定ルール、およびクラウドウォッチイベントターゲットを自動的にプロビジョニングします。
  • ポリシーに一致したリソースのCloudwatchメトリック出力
  • s3への構造化された出力が、ポリシーと一致するリソース。
  • インテリジェントキャッシュを使用してAPI呼び出しを最小限に抑えます。
  • 非常に大規模な一部のAWSアカウントでは、バトルテスト済みです。
  • STSの役割を前提としたクロスアカウントの使用をサポートします。
  • アクションとしてカスタム/ユーザ提供のlambdaとの統合をサポートします。
  • Python 2.7とPython 3.6(beta)ラムダの両方のランタイムをサポート

 

リンク

 

クイックインストール

$ virtualenv --python=python2 custodian
$ source custodian/bin/activate
(custodian) $ pip install c7n

 

使用法

最初に、ポリシーファイルを例としてYAML形式で作成する必要があります。

policies:
- name: remediate-extant-keys
  description: |
    Scan through all s3 buckets in an account and ensure all objects
    are encrypted (default to AES256).
  resource: s3
  actions:
    - encrypt-keys

- name: ec2-require-non-public-and-encrypted-volumes
  resource: ec2
  description: |
    Provision a lambda and cloud watch event target
    that looks at all new instances and terminates those with
    unencrypted volumes.
  mode:
    type: cloudtrail
    events:
        - RunInstances
  filters:
    - type: ebs
      key: Encrypted
      value: false
  actions:
    - terminate

- name: tag-compliance
  resource: ec2
  description: |
    Schedule a resource that does not meet tag compliance policies
    to be stopped in four days.
  filters:
    - State.Name: running
    - "tag:Environment": absent
    - "tag:AppId": absent
    - or:
      - "tag:OwnerContact": absent
      - "tag:DeptID": absent
  actions:
    - type: mark-for-op
      op: stop
      days: 4

それを考えると、あなたはクラウド・カストディアンを以下のように運営することができます:

# Validate the configuration (note this happens by default on run)
$ custodian validate policy.yml

# Dryrun on the policies (no actions executed) to see what resources
# match each policy.
$ custodian run --dryrun -s out policy.yml

# Run the policy
$ custodian run -s out policy.yml

カストディアンは、s3への出力、クラウドウォッチメトリック、stsの役割の前提など、いくつかの有用なサブコマンドとオプションをサポートしています。 ポリシーは、アクションとフィルタを備えたレゴブロックと同様に機能します。

追加情報については、ドキュメントを参照するか、ぎこちなに手を差し伸べてください。

 

関与する

メーリングリスト – https://groups.google.com/forum/#!forum/cloud-custodian

Gitter – https://gitter.im/capitalone/cloud-custodian

 

その他のツール

カストディアンプロジェクトはまた、 https : //github.com/capitalone/cloud-custodian/tree/master/toolsに追加の一連のツールを開発し、管理しています

サラクタス
s3スキャンをスケールアウトします。
メーラー
ユーザーに電子メールを送信して通知するためのリファレンス実装。
TrailDB
ダッシュボード用のCloudtrailインデックス作成と時系列データ生成
LogExporter
s3へのクラウドウォッチログのエクスポート
インデックス
カスケードメトリクスの索引付けとダッシュボードの出力
セントリー
https://sentry.io/welcome/と統合するためのPythonトレースバックのログ解析

 

貢献者

キャピタル・ワンのオープンソース・プロジェクト(以下、「プロジェクト」)への関心をお待ちしています。 プロジェクトのコントリビュータは、下記の使用許諾契約書に同意することを示す契約書に同意し署名する必要があります。 本契約で資格OneおよびCapital Oneが配布するソフトウェアの受領者に付与されたライセンスを除いて、お客様は、お客様の寄付に権利、権原、および利益を留保します。 本契約は、その他の目的でお客様の貢献を使用する権利に影響を与えません。

個人契約に署名する

法人契約に署名する

 

行動規範

このプロジェクトは、 オープンな行動規範に準拠しています。 参加することで、このコードを尊重することが期待されます。







-capitalone
-, , , , , , ,

執筆者: