フォーム読み込み中
コンピュートノードやデータベースの種類、価格、性能などの差が議論になることはよくあります。しかしながら、誰・何に、あるターゲットへ、どのようなアクセスを認可させるかを管理するIAM(Identity and Access Management)サービスを比較することは多くないのではないでしょうか。本記事では、大手クラウドベンダAlibaba Cloud(以降Alibabaと表記)、 Amazon Web Services(以降AWSと表記)、 Microsoft Azure、Google Cloud(以降Googleと表記))のIAMサービスに焦点をあて、その役割と違いを見ていきたいと思います。
ユーザがクラウドへログインしてサービスを使う場合でも、プログラムを経由して操作する際も、情報セキュリティの観点から必要最小特権の原則(PLOP:Principle of Least Privilege)を意識することが必要です。
権限を絞ることで外部からの攻撃への耐性を高めることができます。内部からの悪意ある、また意図しない危害を防ぐ、和らげることにも役立ちます。また考慮しなければいけないシステム機能を狭めることで生産性の向上も見込むことができます。
必要最小特権の原則を徹底するために認証(authentication)と認可(authorization)をクラウド全体で統一的な手法で提供しているサービスこそが、IAMです。
※Alibaba CloudではIAMではなく、RAM(Resource Access Management)として同種の仕組みが提供されています。本記事内では統一してIAMと表現します。
各クラウドのIAMのサービスの比較をしていきます。まずは、アクセスを許可される対象が誰または何であるのかを見てみましょう。
アイデンティティとはアクセス方針が適用されるサブジェクトです。その内訳として、どのクラウドにも(クラウドによって多少呼び名が違いますが)ユーザがいることが分かります。ユーザとは例えばブラウザから管理コンソールへログインしてインタラクティブな操作を行う利用者のことです。Eメールアドレスとの連携を想像するかもしれません。実際にその通りで、クラウドで登録しログインに利用します。ただし、Alibaba Cloud、AWSでは、Eメールアドレスとは別にIAM内で管理するIAMユーザを利用してログインすることが一般的です。
| Alibaba | AWS | Azure | ||
| アイデンティティ 許認可ルールの適用主体 | ユーザ | ユーザ | ユーザ サービスプリンシパル | ユーザアカウント サービスアカウント |
| ユーザ インタラクティブな操作を行うID | IAM内で管理されたID | IAM内で管理されたID | Active Directoryで管理されたID | クラウド内で管理されたID |
サービス
| なし ユーザ、ロールの利用 | なし ユーザ、ロールの利用 | サービス プリンシパル | サービス アカウント |
| ユーザによる、非インタラクティブ操作 APP等の操作 | 許可 | 許可 | 不許可 サービス プリンシパルの利用 | 不許可 サービスアカウントの利用 |
Azure、Google Cloudではユーザ以外にサービスと名称がつくアイデンティティが存在します。アプリケーションで利用する非インタラクティブなIDととらえてください。Alibaba Cloud、AWSではユーザによるアプリケーションの操作が許可されています。これはIAMユーザに紐づくアクセスキーを発行できるためです。IAMユーザを人と考えると複雑に感じます。アプリケーションが利用してもよいわけです。インタラクティブなコンソールログインを無効にもできるため、ログインにも使える他クラウドのサービスIDととらえると理解しやすいでしょう。またサービスに類似している機能としてロールをイメージするかもしれません。ロールはサービスと同義ではありません。ロールという権限集合をリソースへ委譲する形式となっているためです(ロールについては後述します)。
続いてアクセス方針の適用対象を見ていきます。
| Alibaba | AWS | Azure | ||
| ターゲット 許認可ルールの適用対象 | リソース リソースグループ | リソース リソースグループ | リソース リソースグループ | リソース リソースグループ |
| リソース クラウドが提供する各機能 | リソース | リソース | リソース | リソース |
| リソースグループ リソースのグループ管理単位 | リソース群 | タグ | リソース群 | プロジェクト |
許認可の適用対象はリソースであり、各クラウドでも同じ名称が使われています。リソースの具体例としては、分かりやすいところでは、コンピュートノードやデータベースあたりでしょうが、それ以外にも、例えば請求情報やサポートのチケット等もクラウドが提供するリソースに含まれることがあります。詳細なリソースの内訳は各クラウドのドキュメントを参照ください。
最後に許認可の方針を比較してみましょう。適用対象へ割り当てる方針がポリシーであり、またその集合がロールとなります。
| Alibaba | AWS | Azure | ||
| アクセス方針の管理方法 | ポリシー またその集合としてのロール | ポリシー またその集合としてのロール | ロール | ロール |
| アクセス方針の適用範囲 | アカウント | アカウント | プロジェクト | プロジェクト |
アクセス方針を適用するアイデンティティの互換性
| あり | あり | 一部なし | 一部なし |
| アクセス方針の書き換え 独自方針の作成、既存方針の拡張 | 可能 | 可能 | 不許可 | 不許可 |
アクセス方針の論理的な適用範囲に違いが見えます。Azure、Google Cloudではプロジェクトであるのに対し、Alibaba Cloud、AWSではアカウントが境界として機能しています。
もう一点、クラウド間で大きな違いがあります。リソースには、請求情報などのクラウドの管理機能も含むと説明しましたが、例えばGoogle Cloudではユーザに付与するそれらの権限をアプリケーションへ渡することはできません。アクセス方針の書き換え可否という観点でも差があります。Azure、Google Cloudでは定義済みポリシーのみをロールへ付与してコントロールする方式をとっています。ポリシーがロール内に定義され、ロールとしてしか見えないような実装もあります。アクセス方針を独自に書き換えが可能であるAWSやAlibaba Cloudとは方針が異なります。
クラウドのリソースを安全に扱うための基盤となるサービスであるIAMついて見てきましたがいかがだったでしょうか。類似点も多いですが、相違点にも気づかれたと思います。
今回は基本的な部分のみの比較でしたが、実運用に入ると、例えば、全く外部の組織への一部のリソースの許可希望があったりと、ややこしい要件が求められることもあるでしょう。各クラウドはそのような複雑な要件にも対応できるよう柔軟で、しかしセキュアな手段を提供しています。IAM内でできることもありますし、別の管理機構と組み合わせてコントロールすることもあります。各クラウドがこのあたりの機能をどう提供するのかについても関心を広げるのもおもしろいかもしれません。
ソフトバンクはAWS アドバンストティアサービスパートナーです
「はじめてのAWS導入」から大規模なサービス基盤や基幹システムの構築まで、お客さまのご要望にあわせて最適なAWS環境の導入を支援します。
Microsoft Azureは、Microsoftが提供するパブリッククラウドプラットフォームです。コンピューティングからデータ保存、アプリケーションなどのリソースを、必要な時に必要な量だけ従量課金で利用することができます。
Google サービスを支える、信頼性に富んだクラウドサービスです。お客さまのニーズにあわせて利用可能なコンピューティングサービスに始まり、データから価値を導き出す情報分析や、最先端の機械学習技術が搭載されています。
Alibaba Cloudは中国国内でのクラウド利用はもちろん、日本-中国間のネットワークの不安定さの解消、中国サイバーセキュリティ法への対策など、中国進出に際する課題を解消できるパブリッククラウドサービスです。
条件に該当するページがございません