Asana API をコールしてセクションにタスクを作成する
以下2つのAPIを使用する。つまり、タスクを作成し、セクションに追加するという流れ。各言語ごとのサンプルコードは各ページの右上で言語を選択すれば見ることができる。
同時にできないものかと思って調べた結果、membershipを使う方法がAsanaのコミュニティフォーラムに投稿されていたのだが、私の方で試した限りはできなかった。2021年にAsanaのAPI仕様は大きく変更が入ったらしいが、当該の投稿は2019〜2020年頃のものなので、今は無効なのかもしれない。
AWS Security Hub の 3 つのステータスについて
AWS Security Hub を使い始めたのだが、ステータスにあたるパラメータが多く混乱したので整理しておく。用語と概念 も参考になる。
Compliance.Status
純粋にチェックに合格しているか否かを示し、ステータスは PASSED (合格) 、FAILED (不合格) 、WARNING (合否不明)、NOT_AVAILABLE (チェック失敗) のステータスがある。大抵は PASSED か FAILED になる。
Workflow.Status
各レコードについての追跡状況を示していて、ユーザが状況に応じて変更できるステータス。ステータスは 4 種類あり、NEW は新たに検出された状態、NOTIFIED は担当者に通知した状態、SUPPRESSED は検出を意図的に抑制した状態、RESOLVED は解決した状態を示す (自由に変えられるので運用方法は利用者に任せられる)。検出対象のリソース自体を修正しても RESOLVED にならないことがあるので、リソースの修正が完了したら手動で RESOLVED したほうがよい。
Compliance.Status では FAILED になってしまうが運用において必要な設定であり、合否チェックの対象から外したい、といったような場合には SUPPRESSED を設定すればよい。
RecordState
各レコードがアクティブかアーカイブであるかを示す。ステータスはチェック対象を示す ACTIVE か ARCHIVED のみ。検出されたタイミングでは ACTIVE だが、リソースが削除された場合などに ARCHIVED へ変更される。タイミングは特に決まっていないようだ。
補足
運用上チェックしなくてもいい場合には、コントロール (EC2.8 など、チェックの種類) を無効にすることがあるだろう。しかし、コントロールを無効にしても、その時点で既に検出されていた項目の Compliance.Status が FAILED だと、不合格判定のまま残り続けてしまうので、Workflow.Status で適宜 SUPPRESSED などに設定したほうがよい。