AWSもGithubも適切な権限付けが大切だよという話

AWSのオーナーアカウントやGithubのAdmin権限を簡単に手渡してはならないという話です。

当たり前な事なんですが、現実には結構よく起こりがちなんですよね。なので、注意喚起という意味で書いておこうと思いました。

起こりがちなパターン

社長が技術に疎く、AWS?Github?となってしまうと、エンジニアに一任する事も少なくないでしょう。 全部お願いします、というパターンです。そして、これでも問題ないでしょう。初めのうちは。

問題は、ある日突然やってきます。全てを一任していたエンジニアが退職することになった、 仲違いしてしまい社長がアクセスできない、引き継いだ人が悪意を持った人だった等々…何が起きるか分かりません。

一時的にアクセスできないだけならまだいいですが、もっと恐ろしいケースも往々にして考えられます。

怖い怖いお話

AWSのオーナーアカウントが悪用されてしまうと、怖ろしい事態が起こりえますね。

例えば、EC2インスタンスを立ち上げまくって悪用する(ビットコインのマイニングに悪用されて月100万の請求など)、 データベースを消される、大事なデータの流出などなど… ここまで行くと犯罪になりますが、危険な人物がオーナーアカウントでアクセスされているとすぐには止められません。

Githubの場合、Admin権限を信頼できると思った人に渡したら、 その人がAdmin権限を行使しまくって他のチームメンバーをチームから外してしまうという事が実際にありました。

メンバーとしては、突然リポジトリにアクセス出来なくなってしまって、仕事に支障出まくりです。 会社が数ヶ月、数年頑張って開発してきたコードです。 Githubの権限悪用されたり、ソースコードが変な場所で悪用されたりしてはなりません。

どうすれば良いか

GithubやAWSのオーナーアカウントは社長自身がコントロールすべきです。

大企業ならまだしも、スタートアップなどの小さい会社で、アプリケーションやソフトウェアが 会社にとって大事な資産となるような会社では、社長自信がAWSのオーナーアカウントやGithubの権限設定を管理すべきです。 これぐらいは勉強すればすぐ出来ます。

そして、それらのオーナーアカウントは自分だけが分かるようにしないといけません。 AWSなら、他のユーザはIAMユーザとしてアカウントを発行して管理しましょう。

危険な事態に陥った時に、最後に火消しが出来るのは、AWSならオーナーアカウント保有者、 GithubならAdmin権限保有者です。 アクセスさせたくない人物のアカウントを停止させれば、その後アクセスされる事はありません。

そもそも、こんなトラブルに巻き込まれないようにするのが大事ですが、トラブルの時も迅速に対応できるようにしておくのが吉でしょう。

…と色々書きましたが、ちょっと身の回りでも要注意な事があったので、注意喚起でした。

@takp