トラステッド・プロファイルを使用したフェデレーテッド・ユーザーのアクセス権限の管理

このチュートリアルでは、外部 ID プロバイダーの仕様に基づいて、アカウントに対するアクセス権限をフェデレーテッド・ユーザーに自動的に付与する手順について説明します。 このチュートリアルを行うと、トラステッド・プロファイルを作成し、企業ユーザー・ディレクトリーに定義されている属性に基づいてフェデレーテッド・ユーザーとの信頼を確立し、リソースに対するアクセス権限を割り当てるポリシーを定義する方法を学習できます。

トラステッド・プロファイルを使用すると、柔軟かつ安全な方法で、フェデレーテッド・ユーザーに業務の遂行に必要な IBM Cloud® リソースへのアクセスを提供することができます。 企業ユーザー・ディレクトリーに定義されているフェデレーテッド・ユーザーのうち、特定の属性を共有するすべてのユーザーを共通の 1 つのプロファイルにマップして、IBM Cloud リソースに対するアクセス権限を共有させることができます。 この共通 ID によって、アクセス要件を共有する組織のメンバー達に、リソースに対する一回限りのアクセス権限を自動的に付与することが可能になります。つまり、ユーザーを 1 人ずつアカウントに追加してアクセス権限を直接付与したり、アクセス・グループを介して付与したりする必要がなくなります。

Marla という人が航空会社で開発チームのマネージャーを務めているとします。 そのチームは、HR Web サイト用の新しいチャットボット・アプリを IBM Cloud Kubernetes Service クラスターで稼働させることを計画中です。 Marla は、開発者が日常的な作業を行えるように、テスト環境でチームが IAM 対応サービスにアクセスできるようにしたいと考えています。 また、Marla は、チームが誤って実稼働環境で作業を行うことを防ぐ必要もあります。 このケースでは、Marla は 2 つのトラステッド・プロファイルを作成することができます。Chatbot Dev (test) という名前のものと Chatbot Ops (prod) という名前のものです。 Marla は多くの開発者を管理しているので、チーム・メンバーに個別にアクセス権限を割り当てると、通常は一日の多くの時間を費やすことになります。 トラステッド・プロファイルを使用すれば、必要なリソースに対するアクセス権限をフェデレーテッド・ユーザーに自動的に付与できるので、Marla が各ユーザーをアカウントに招待してアクセス権限を一度に 1 つずつ割り当てる必要がなくなります。 このチュートリアルでは、架空の ID プロバイダーの属性を使用しているので、実際の企業ユーザー・ディレクトリーとは属性が異なる可能性があります。

開始前に

  • 以下のアクセスに割り当てられていることを確認してください:
    • トラステッド・プロファイルを作成するために、アカウントの管理者役割
    • リソースに対するアクセス権限を割り当てるために、そのリソースの管理者役割
  • 外部 ID プロバイダーからの認証を有効にします。 詳しくは、外部 ID プロバイダーからの認証の有効化を参照してください。
  • 以下のサービスのインスタンスを作成し、このチュートリアル用のリソース・グループに追加します。
    • IBM Cloud Kubernetes Service
    • IBM Watson® Tone Analyzer

トラステッド・プロファイルの作成

まずは、Marla はテスト環境用のトラステッド・プロファイルを作成します。

  1. IBM Cloudコンソールで、「管理」>**「アクセス (IAM)」に移動して、「トラステッド・プロファイル」**を選択します。
  2. 「プロファイルの作成」 をクリックします。
  3. プロファイルに Chatbot Dev (test) という名前を付けます。
  4. 説明として、プロファイルに割り当てるアクセス権限のレベルを列挙します。 説明を記入しておくと、チームがトラステッド・プロファイルのリストでさまざまなプロファイルを簡単に見分けられるようになります。 この場合、以下のようになります。
    1. プラットフォーム: ビューアー
    2. サービス: リーダー
  5. 「続行」 をクリックします。

フェデレーテッド・ユーザーとの信頼の確立

Marlaは信頼されたプロファイルを作成したので、このプロファイルに適用できる連携ユーザーの基準を確立したい。 これを行うには、会社の企業ユーザー・ディレクトリーの属性に基づく条件を作成します。 Marla とチーム・メンバーの半分はアイルランドを拠点とし、他の半分は米国を拠点としています。

  1. 信頼されたエンティティー・タイプとして、**「フェデレーテッド・ユーザー」**を選択します。

  2. 認証方式の場合は、リストから IBM Cloud App ID によって統合されたユーザーを選択します。

    トラステッド・プロファイルを作成する対象のユーザーが IBM Cloud App ID を使用する場合、App ID ユーザーとしてトラステッド・プロファイルを作成する必要があります。IBMid についても同様です。 この方法により、独自の SAML 属性を使用して、トラステッド・プロファイル条件を構成する方法を理解することができます。 同じ IdP を持つ他のユーザーは異なる SAML 属性を持つことができます。独自の属性のみをヒントとして使用してください。 独自の属性とは異なる属性をクレームで使用するには、それらを手動で入力します。 {: tip}

  3. 認証方法として「 **Users federated by IBM Cloud SAML 」を選択し、ステップ 1 で有効にしたデフォルトの ID プロバイダ(**IdP )を入力します。

  4. 作成したデフォルトの ID プロバイダー (IdP) を選択します。

  5. **「ID プロバイダー (IdP) データの表示」**をクリックします。 マーラは次のステップでこれを使い、どの属性を使って条件を作成できるかを確認する。

  6. **「条件の追加」**をクリックします。

  7. **「フィルター属性」**をクリックし、countryを選択します。

    • これらは個人データに含まれている属性です。
  8. **「修飾子」**をEqualsに設定します。

  9. **「値」として、「手動で追加」**をクリックし、usと入力します。 このようにして、Marla は、ID プロバイダーの個人データで自分に割り当てられていない属性値を入力できます。

  10. **「条件の追加」**をクリックし、手順 6 から 8 までを繰り返します。 us の代わりに ire と入力します。

  11. **「条件の追加」をもう一度クリックし、「手動で追加」**をクリックします。

    1. 企業ユーザー・ディレクトリーに、従業員のチームを管理者で表す team という名前の属性があるとします。 teammarlaに「等しい」という条件を入力します。
  12. **「条件の追加」をもう一度クリックし、「手動で追加」**をクリックします。

    1. 企業ユーザー・ディレクトリーに、従業員の担当業務を表すjob-roleという名前の属性があるとします。 job-roledevに「等しい」という条件を入力します。
  13. セッション期間を 8 時間に設定します。

  14. 「続行」 をクリックします。

トラステッド・プロファイルの条件を作成するために使用されるフィールドについて詳しくは、IAM 条件プロパティーを参照してください。

アクセス権限の割り当て

Marla は、チャットボットのテスト環境で作業するチームの開発者のみを認証するように絞り込んだ条件を作成しました。 これで彼女は、プロジェクトに必要な IBM Cloud サービスとプラットフォームへのアクセスを与えるポリシーを作成することができる。

  1. 「アクセス・ポリシー」 を選択します
  2. サービスのリストから 「Kubernetes Service」 を選択します。 **「次へ」**をクリックします。
  3. 選択した属性に基づいて、アクセス権限のスコープを**「特定のリソース」**に設定します。
  4. **「リソース・グループ」**を選択します。 Marlaは、チャットボットプロジェクト用に作成されたリソースグループの名前を選択または入力することができます。
  5. 「ビューアー」役割と「リーダー」役割を選択してアクセス権限のスコープを定義し、**「確認」**をクリックします。
  6. 追加をクリックして、ポリシー構成をポリシー・サマリーに追加します。
  7. サービスのリストから**「IBM Watson® Tone Analyzer」**を選択します。
  8. 選択した属性に基づいて、アクセス権限のスコープを**「特定のリソース」**に設定します。
  9. **「リソース・グループ」**を選択します。 Marlaは、チャットボットプロジェクト用に作成されたリソースグループの名前を選択または入力することができます。
  10. 「ビューアー」役割と「リーダー」役割を選択してアクセス権限のスコープを定義し、**「確認」**をクリックします。
  11. 追加をクリックして、ポリシー構成をポリシー・サマリーに追加します。
  12. プロファイルのサマリーを確認し、**「作成」**をクリックします。

次のステップ

トラステッド・プロファイルの作成方法の基本を学習したので、より広い範囲の特権を必要とする従業員に、より多くのアクセス権限を付与する Chatbot Ops (prod) トラステッド・プロファイルを作成できます。 これを行うには、ステップ 1 を繰り返します。 ステップ 2.11.a で、条件job-role equals dev-leadを入力します。 このプロファイルには「エディター」と「ライター」のアクセス権限を割り当てます。 詳しくは、トラステッド・プロファイルの作成を参照してください。

Activity Tracker を使用して、トラステッド・プロファイルをどのフェデレーテッド・ユーザーおよびコンピュート・リソースに適用するかをモニターすることもできます。 詳しくは、トラステッド・プロファイルのログイン・セッションのモニターを参照してください。