「AWS IAM」の「ABAC」で、ポリシーを変更せずにユーザー/リソース数の多いプロジェクトに対応する:AWSチートシート
「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、「AWS IAM」の「属性ベースアクセスコントロール」(ABAC)について解説する。
「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。
AWSを利用する多くの方にとってなじみのある「AWS Identity and Access Management」(IAM)の一歩踏み込んだポリシー管理の手法として、記事『AWS活用のガードレール「IAM」の「Permissions Boundary」でアクセス境界を設定するには』ではPermissions Boundaryを利用したアクセス許可の境界を設定する方法を紹介しました。
今回の記事では「IAMエンティティ」(IAMユーザーまたはIAMロール)やAWSリソースにタグを付与することで行う属性ベースのアクセスコントロール「ABAC」(Attribute Based Access Control)について解説します。
「ABAC」とは?
ABACとは「属性ベースのアクセスコントロール」という名前の通り、ユーザーやリソースの属性に応じたアクセス制御によって、実行できる機能やアクセスできるサービスを限定する手法です。
AWSの場合、この「属性」としてIAMエンティティやAWSリソースの「タグ」を用いることができます。
また、ABACと対比されるアクセス制御の手法に「役割ベースのアクセスコントロール」(RBAC)があります。RBACも名前の通り、管理者や開発者といった役割ごとに異なるアクセス権限を付与する方法です。
ABACを利用するメリット
ロールベースでのアクセス制御は比較的作業が簡単ですが、兼務などの場合にはユーザーやロールがどんどん増えていったり、アクセス許可を最小にするには新しいリソースを作成するたびにポリシーの修正が必要(動的に権限を付与することはできない)になったりといったデメリットが存在します。
タグを利用したABACによるアクセス制御のメリットは、新しいリソースの作成時にポリシーを修正しない最小アクセスの実現(動的な権限付与ができる)ことです。また、職務機能ごとに異なるポリシーを作成する必要がないので、作成しなければならないポリシーの数も減らすことができます。
タグを利用したABACの設定手順
ABACを利用する方法を確認していきましょう。今回は下記の手順で作業します。
- テスト用の「Amazon EC2」インスタンスを2台起動
- テスト用のIAMユーザーを作成
- ABACの条件を満たす場合のみEC2インスタンスを操作できることを確認
1.テスト用のEC2インスタンスを2台起動
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- クラウド全面移行目前、DeNAが324のセキュリティ監査項目を8割減できた理由
DeNAは各種サービスのインフラ基盤のクラウド移行を進めており、クラウドセキュリティの対策が重要になってきていた。オンプレミス時代から実施している社内のセキュリティ監査の取り組みを、クラウドに適用した方法と、そこで見えてきた課題などが明かされた。 - AWSのロードバランサー「ALB Ingress Controller」で公開アプリのルーティング
本連載では、AWSが提供するマネージドKubernetesサービスの「EKS」を用いてアプリを公開する方法を紹介している。第4回は、ロードバランサー「ALB Ingress Controller」について。 - クラウドセキュリティの強化には、IAMとCASBの組み合わせが必要
アイデンティティー管理は今後の企業におけるクラウドセキュリティの要といえる。だが、カバーできない部分もある。これを補完するために検討したいのが、クラウドアクセスセキュリティブローカーの活用だ。