2020年5月18日に発表されたEC2 Instance Connect で 属性ベースアクセス制御(ABAC)が出来るようになったので、解説です。
まず EC2 Instance Connect とは
通常EC2インスタンスにSSHアクセスするときは、鍵を作成して、ダウンロードして、、と行いますが、EC2 Instance ConnectはIAMを使用して、インスタンスへのSSHアクセスを制御したり、CloudTrailで接続リクエストを監査したり出来ます。
またユーザーが接続するたびに1回限りのSSHキーを生成するので、SSHキーが流出したりする危険性がなくなります。
AWSのABACとは
属性ベースのアクセスコントロール(ABAC)とは、AWSの場合タグに基づいてアクセス許可を定義する認証戦略です。
タグは、IAM プリンシパル(ユーザーまたはロール)および AWS リソースにアタッチできます。
これにより新しくアクセスを許可するために、既存のポリシーを更新する必要がなくなりました。
既存のaccess-project
タグを使用しているABAC戦略が設計されているとき、access-project = Heart
タグを使用することが出来ます。
その後はタグが一致するので、Heart
プロジェクトのすべてのユーザーがこれらのインスタンスに対して操作出来るようになります。
また、新しくSun
というプロジェクトが始まった時に、access-project=Sun
タグを使用して新しいロールを作成することが出来ます。
この時アクセス許可ポリシーを変更する必要はありません。
詳細については、公式のページもご覧ください。