IAM アクセスの概念
IBM Cloud IAMは、多くのクラウド・ネイティブ・サービスに共通する、 最終的に一貫したパターンに従っている。 その結果、IAM は複数のグローバル・リージョンにわたって高可用性とパフォーマンスを維持できます。 IAM アクセス・ポリシー、許可、サービス ID、API キー、アクセス・グループ、トラステッド・プロファイル、リソース・グループ、ユーザー、または他のアクセス制御に加えられた変更は、全世界のすべての IAM コンポーネントおよび IAM 対応サービスにわたって記録および伝搬されます。 伝搬プロセスが完了するまでアクセス権限の変更が有効にならないことがあります。
アクセス・グループ
ユーザーとサービス ID のグループを編成すると、1 つ以上のポリシーを使用してグループ内のすべてのメンバーに同じアクセス権限を割り当てることができます。 アクセスグループを使用すると、アクセス割り当てプロセスを合理化できるため、より少ないポリシーを管理し、 アカウント内のポリシー数を減らすことができます。 アクセス・グループを使用すると、ユーザーまたはサービス ID をアクセス・グループに追加したりアクセス・グループから除外したりするだけで、アクセス権限の付与と取り消しを行うことができます。 グループをセットアップした後、ポリシーのサブジェクトとしてアクセス・グループを選択することから、ポリシーの割り当てを開始できます。 詳細については、アクセス・グループのセットアップを参照してください。
トラステッド・プロファイル
トラステッド・プロファイルを使用する場合は、ユーザーの ID の管理は、お客様自身の企業ディレクトリーで行います。 また、IBM Cloud の複数のアカウントと資産にまたがって、フェデレーテッド・ユーザーのアクセス権限のライフサイクルを一元的に管理できます。アカウントごとに各エンティティーについてアクセス・ポリシーを構成する必要がありません。 ユーザーをアカウントに招待して IBM Cloud リソースに対するアクセス権限を付与する必要はありません。
アプリケーション用にサービス ID を作成したり API キーのライフサイクルを管理したりすることなく、コンピュート・リソースで実行されるすべてのアプリケーションのための権限をきめ細かく定義することもできます。 組織の信頼済みプロファイルの作成を開始するには、 信頼済みプロファイルの作成を 参照してください。
リソース
アカウント リソースとは、カタログから選択されたサービス・インスタンスや、 IBM Cloud® Object Storage バケットなど、サービス・インスタンス内のより細かいリソースのことである。 IAM 対応のリソースは、カタログから作成されるときにリソース・グループに追加されます。
IAMアクセス管理は、きめ細かなアクセスを可能にする。つまり、例えばリソースグループ内のすべてのリソースや、 アカウント内の特定のサービスインスタンス、さらには特定のインスタンス内の IBM Cloud Object Storage バケットのようなリソースタイプに対して、広範囲にポリシーを設定することができる。
アクセス・ポリシー
アクセス・ポリシーとは、アカウント内のユーザー、サービス ID、アクセス・グループ、トラステッド・プロファイルに、アカウント・リソースに対するアクセスとアクションの実行を許可する方法です。 ポリシーには、サブジェクト、ターゲット、役割が含まれます。 サブジェクトとは、アクセス権限を提供する対象のユーザー、サービス ID、またはアクセス・グループです。 ポリシーのターゲットとは、権限を付与するアクセス対象リソースです。 また、IAM 役割により、ポリシーのターゲットに対するアクセス・レベルや許可アクションを定義します。
ポリシーは、アクセスのレベルを定義する 1 つ以上の役割と、アクセスを許可するターゲットを定義する 1 つ以上の属性をサブジェクトに割り当てます。 ポリシーは、インスタンス・レベルの単一のサービス、リソース・グループに編成されたリソースのセット、または属性のセット (ロケーション、リソース・タイプなど) で定義できるリソースのセットへのアクセス権限を付与できます。 ポリシーはさらに、アカウント管理サービスへのアクセス権限を付与することもできます。 割り当てられる IAM 役割に応じて、サブジェクトは、アカウント管理タスクを実行したり、サービス・インスタンスを処理したり、またはコンソールの使用や API 呼び出しの実行によってサービスにアクセスしたりするためのさまざまなレベルのアクセス権限を許可されます。
ユーザーとサービス ID にアカウント・リソースへのアクセスを許可するポリシーには、さまざまなタイプがあります。例えば、リソース・グループ・ポリシー、リソース・インスタンス・ポリシー、すべての IAM 対応サービスまたは指定したサービスのすべてのインスタンスへのアクセスに関してアカウント全体に適用するポリシー、すべてまたは 1 つのアカウント管理サービスに関するポリシーなどがあります。 選択に応じて、特定ロケーションのリソースへのアクセス権限の定義や、インスタンス内にある細かいレベルのサービス固有リソースへのアクセス権限の定義といった、カスタム構成オプションが使用可能な場合があります。
ユーザーとサービス ID のアクセス・ポリシーに加えて、特定のサービスまたはサービスのインスタンスが他のサービスにアクセスできるようにする、許可と呼ばれるポリシー・タイプがあります。 サービス間のアクセス権限の割り当てについて詳しくは、許可を使用した、サービス間のアクセス権限の付与を参照してください。
役割
IBM Cloud のアクセス役割とは、アクションをまとめたグループのことです。 アクセス役割を使用すると、ユーザーとサービス ID は、そのポリシーで定義されているターゲット・リソースのコンテキスト内で特定のタスクを実行できます。 事前定義されたアクセス役割には、プラットフォーム管理とサービス・アクセスの 2 タイプがあります。 3 番目のタイプのアクセス役割はカスタム役割です。利用可能なアクションのセットを組織のニーズを満たすように組み合わせてサービス用に作成できます。
プラットフォーム管理役割は、ユーザー・アクセス権限の割り当てやサービス・インスタンスの作成など、プラットフォーム・レベルでリソースを管理するために許可されるアクションを定義します。 プラットフォームロールは、ユーザーの招待と削除、アクセスグループの管理、サービスIDの管理、プライベートカタログ製品など、 アカウント管理サービスのコンテキスト内で実行できるアクションにも適用されます。
サービス・アクセス役割は、サービス API の呼び出しやサービスのダッシュボードへのアクセスなど、許可されるアクションを定義します。 これらの役割は、ポリシー内で選択されたサービスに基づいてカスタマイズされます。
コンソール内でアクセス権限を割り当てると、その役割の横に、各役割にマップされているアクションの数が表示されます。そのリストを掘り下げることで、各役割で何が許可されているかを正確に把握できます。
アクセス権限について詳しくは、IAM 役割を参照してください。
アクション
ユーザーは、各種役割を割り当てられているときに特定のタスクのみを実行できるように、アクションが IBM Cloud IAM 役割にマップされます。 アクションは、許可や操作と呼ばれることもあります。 役割がサービスの使用にどのようにマップされるかは各サービスで定義されるため、各役割の許可アクションは、アクセスされるサービスによって変わります。 詳しくは、IAM の役割とアクションを参照してください。
エンタープライズ管理 IAM テンプレート
企業が管理するIAMテンプレートは、 企業クラウド環境でのアカウントと課金管理を一元化したアカウントの階層構造。全体のアクセス管理とアカウントセキュリティ設定を標準化するための便利なツールである。 テンプレートを使用すると、一般的に使用されるアクセスグループ、信頼されるプロファイル、およびセキュリティ設定を一貫した方法で定義できるため、セキュリティポリシーが企業全体で統一的に適用されます。 これは、組織の標準に準拠するために特に重要である。このような標準では、特定のアクセス管理およびセキュリティ設定を、すべてのアカウントまたは一部のアカウントで一貫して構成する必要がある場合がある。 IAMテンプレートを使用することで、セキュリティポリシーの管理を簡素化し、設定ミスや人為的ミスのリスクを減らし、全体的なセキュリティ体制を改善することができる。 詳細は、 エンタープライズ・マネージドIAMの仕組みを 参照。
アカウント Enterprise-managed IAM リソースには、 enterprise-managed というタグがあります。
アクション・コントロール
アクションコントロールは、 アカウント管理者がアカウント内のエンテプライズ・マネージド IAM リソースに対してどのような操作を行えるかを設定するものです。 アカウント管理者が、そのアカウント割り当てたエンタープライズ管理アクセスグループにメンバーを追加できるようにしたい場合があります。 この場合、メンバーを追加するアクション・コントロールを有効にできます。 あるいは、 アカウント管理者が信頼済みプロファイルに新しいポリシーを追加することを禁止したい場合もあるでしょう。 デフォルトでは、アクションコントロールは、 アカウント管理者が自分のアカウントエンタープライズ管理されたIAMリソースに変更を加えることを制限する。
アクセス管理システム
IBM Cloud IAM 制御システムは、サービスのコンテキスト内でユーザーまたはサービス ID によるアクションを、そのユーザーやサービス ID に割り当てられたアクセス・ポリシーに基づいて許可または拒否します。 デフォルトでは、どのユーザーおよびサービス ID にもアクセス権限がありません。 追加された各アクセス・ポリシーにより、ユーザーまたはサービス ID は、アクセス・ポリシーで選択され指定されたターゲットと役割に基づき、アカウント内でアクションを実行できます。 ユーザーが特定アクションを実行しようとすると、制御システムは、ポリシーで定義された属性を使用して、ユーザーにそのタスクの実行許可があるかどうかを判別します。 詳しくは、IBM Cloud IAM の仕組みを参照してください。
ABAC および RBAC とは何ですか?
クラウド・プロバイダーには 2 つの一般的なタイプの IAM システムがあり、これらの各モデルを理解することで、IBM Cloud で IAM がどのように機能するのかをより深く理解できます。
-
属性ベースのアクセス制御 (ABAC) は、ID (ユーザー、サービス ID など)、環境、およびリソースのそれぞれの属性を使用します。 これらの属性は、アクセス要求を許可するか拒否するかを決定するためにアクセス決定エンジンによって使用されます。 ABAC は、役割ベースのアクセス制御システムよりも高いレベルの柔軟性、制御性、および機能性を提供します。 ABAC は通常、きめ細かいアクセス制御が必要な場合、またはさまざまなアクセス制御のユース・ケースを同じ意思決定エンジンで解決する必要がある場合に使用します。 ABAC はきめ細かいアクセス制御を提供することでセキュリティー・リスクを軽減するため、普通は ABAC のほうがより複雑になります (初期セットアップ時は特にそう言えます)。
-
役割ベースのアクセス制御 (RBAC) は、ID (ユーザー、サービス ID など) から役割へのマッピングを使用します。 RBAC 役割は、RBAC 役割を持つ ID がリソースに対して取得できるアクセス権限のタイプを定義します。 通常、アクセス権限は、リソース・タイプまたはリソースのグループに関して付与できます。 RBAC 役割は通常、組織内の職務に基づいて定義します。 RBAC 役割は、ID がその職務を遂行するために必要なアクセス権限を付与します。 RBAC 役割から ID へのマッピングは IAM 管理者が管理するため、これは単純なモデルです。 RBAC 役割のセットアップは、ABAC の初期セットアップより簡単です。
IBM Cloud IAM は、ID およびリソース属性を使用して ABAC モデルを使用します。IBM Cloud IAM は、アクセス・ポリシーを使用して、IAM アクセス決定エンジンが必要とする属性情報を保管します。 また、アクセス・ポリシーは、ポリシーの作成者がリソースへのアクセス権限を付与するのに必要な属性を IAM 意思決定エンジンに通知します。
サポートされている ID 属性は、iam_id とアクセス・グループ ID です。 サポートされているリソース属性は、次のいずれかのカテゴリーに属します。
- リソース CRN で定義されたフィールド (サービス名など)。
- システム全体で定義されたリソース属性 (リソース・グループなど)。
- サービス固有のリソース属性 (名前空間、バケットなど)。
各サービスは、管理対象のリソースに対してサポートされる属性を定義します。 詳しくは、使用するサービスの資料を参照してください。
IBM Cloud IAM のベスト・プラクティスは、アクセス・グループを使用して ID のアクセスを管理することです。 アクセス・グループのアクセス・ポリシーを定義したら、アクセス・グループに ID を追加したり、アクセス・グループから ID を削除したりするだけで、アクセス権限を付与または取り消しできます。 ユーザーまたはサービス ID は、管理者が必要と判断した数のアクセス・グループに属することができ、グループのメンバーは、アクセス・グループに割り当てられているすべてのアクセス権限を継承します。 このアプローチでは、RBAC のシンプルさに加えて、ABAC のきめ細かいアクセス制御のメリットを享受できます。
RBAC に精通している IAM 管理者は、アクセス・グループを使用して RBAC モデルを模倣することができます。 概念的には、アクセス・グループは RBAC 役割に似ています。 従来の RBAC 役割 (システム管理者、ネットワーク管理者、ストレージ管理者など) の使用に慣れている場合、IBM Cloud IAM でこれらを定義するには、アクセス・グループを使用し、それぞれに特定のアクセス・ポリシーを割り当てます。
例えば、Storage Administrators というアクセス・グループを作成するとします。 最初に作成した時点では、アクセス・グループのどのメンバーにもアクセス権限が付与されていません。 アクセス・グループは、現在のアカウント内のすべてのストレージ・リソースと、将来作成されるすべてのストレージ・リソースに対して、管理者ロールを付与するポリシーを割り当てることができる。 新しいユーザーがチームに参加し、組織内での職務がアカウントのストレージ管理者である場合は、そのユーザーをアクセス・グループに追加するだけで、職務に必要なすべてのアクセス権限を付与できます。
これは単純な例ですが、このアプローチは、組織内のあらゆる職務、役割、職責に適用できます。 アクセス・グループに割り当てるアクセス・ポリシーは微調整が可能なため、特定のリソース・グループ内のすべてのストレージのストレージ管理者のユース・ケースや、特定のストレージ・タイプのみの管理者のユース・ケースが可能になります。
アクセス権限を素早く割り当てるためにアクセス・グループをセットアップし、アカウントにユーザーを招待し、各ユーザーのアクセス権限を管理するという IBM Cloud IAM の簡単な利用開始手順について詳しくは、リソースに対するアクセス権限の割り当てを参照してください。