環境クレジット サービス (プレビュー) でロール ベースのアクセス制御を設定する方法

Microsoft Cloud for Sustainability テクニカルサミット 2024 年 5 月

重要

この機能の一部またはすべては、プレビュー リリースの一部として利用できます。 コンテンツおよび機能は変更される場合があります。 30 日間の試用版で、環境クレジット サービス (プレビュー) サンドボックス環境にアクセスできます。 運用環境で、環境クレジット サービス (プレビュー) を使用するには、環境クレジット サービス (プレビュー) サインアップ フォームを完了してください。

ロールベースのアクセス制御制御を使用すると、組織内のユーザーに割り当てられた役割に存在する権限に基づいて、アプリケーション内のさまざまな操作へのアクセスを制御できます。 組織内のユーザーに割り当てられたロールを付与および削除して、きめ細かい制御を行うことができます。

それぞれの 自発的なエコロジカル市場のエコシステム組織 は、環境クレジットサービス (プレビュー) における市場の役割と呼ばれる特定の役割を担っています。 各組織は、ユーザーを環境クレジット サービス (プレビュー) にオンボードし、ユーザー ロールを割り当てます。 エコロジー プロジェクトやプログラム、モジュラー ベネフィット プロジェクト、クレーム、トークンなどのリソースは、ユーザーではなく組織に属します。

ユーザー ロールの割り当て

ユーザー ロールは、アプリケーションで特定の操作を許可する権限の集合として定義されます。 これらのユーザー ロールは、特定の市場ロールのコンテキスト内で、組織レベルまたは資産レベルで割り当てることができます。 環境クレジットサービス (プレビュー) では、以下のユーザーロールがサポートされています:

ユーザーの役割 権限
管理者 管理者は、関連付けられたリソースに対して、作成、更新、読み取り、削除など、サポートされているすべてのデータ プレーン操作を実行できます。 また、組織内のユーザーのオンボーディングや、ユーザーへのロールの割り当ての作成または更新など、管理プレーンの操作を実行することもできます。
共同作成者 共同作成者は、関連付けられたリソースに対して、作成、更新、読み取り、削除など、サポートされているすべてのデータ プレーン操作を実行できます。 また、管理プレーン レベルでの読み取りアクセスも受け取ります。
閲覧者 閲覧者 は、関連するデータ プレーン レベルおよび管理プレーン レベルのリソースで読み取り操作を実行できます。

市場のロールのコンテキストで組織レベルでロールを管理する

次の機能は、特定の市場のロール レベルのコンテキスト内で、組織レベルでのロール ベースのアクセス制御のためにサポートされています。 たとえば、組織がバイヤーとして運営されている場合、その組織には 1 つのマーケット ロール (バイヤー) が存在します。 組織レベルでは、この組織のユーザーは、バイヤー管理者、バイヤー共同作成者、バイヤー 閲覧者 ユーザー ロールを持つことができます。

1 つの組織が複数の市場のロールを持つことができます。 たとえば、別の組織が発行レジストリと市場の両方として運営されている場合、その組織には 2 つのマーケット ロールがあります。 この組織のユーザーは、サプライヤー マーケット ロールのコンテキストでサプライヤー管理ロールを持ち、発行レジストリ ロールのコンテキストで発行レジストリ 閲覧者 ロールを持つことができます。

資産レベルで役割を管理する

組織内の資産レベルでユーザー権限を管理できます。 組織レベルの管理者、または共同作成者は、新しい資産を作成できます。 組織レベルの管理者は、資産にユーザーを追加し、ロールを割り当てることも可能です。

  • 資産レベルの管理者: 資産レベルの管理者には、組織内のアセットの特定の詳細範囲で管理者ユーザー ロールが付与されます。 たとえば、ユーザーは、組織のサプライヤー マーケット ロールのモジュラー ベネフィット プロジェクトのスコープでサプライヤ管理者ロールを割り当てられます。 これらは、読み取りや書き込みなど、資産に対してサポートされているすべてのデータ プレーン操作を実行できます。 また、管理者である組織内のユーザーに特定のアセットに関するオンボーディングを行うなど、管理面におけるオペレーションも可能です。

  • 資産レベルの共同作成者: 資産レベルの共同作成者は、資産の読み取りや更新など、資産でサポートされているすべてのデータ プレーン操作を実行できます。 資産のスコープで、他のユーザーまたはグループのロールの割り当てを読み取ることができます。

  • 資産レベル 閲覧者: 資産レベル 閲覧者 は、資産に対して読み取り操作を実行できます。 資産のスコープで、他のユーザーまたはグループのロールの割り当てを読み取ることができます。

注意

トップダウンのアクセス階層が維持されます。 たとえば、ユーザーが組織のスコープでサプライヤー市場ロールの管理者ユーザー ロールを持っている場合、そのサプライヤーのすべての資産 (環境保護プロジェクトやモジュラー ベネフィット プロジェクトなど) に対する管理者レベルのアクセス権が自動的に付与されます。 別のユーザーが資産レベルの管理者アクセス権を持っている場合 (たとえば、環境保護プロジェクトで)、そのユーザーはその下にあるすべての資産にアクセスできます。

ロールベースのアクセス制御でサポートされる機能

API に Postman コレクションを使用するための前提条件

次のように、組織とその管理者の環境構成を使用して Postmanコ レクションを設定できます:

  • 使用するさまざまな市場のロールについて、postman コレクションのさまざまな変数 (<marketRole>_admin_username など) にユーザーの詳細をそれぞれのパスワードと共に設定します。

  • 新しい Postman 環境を作成し、コレクション内の API を実行する前にそれに切り替えます。

  • 組織の設定 フォルダーを使用する特定のマーケット ロールに対して実行し、Postma n環境で組織 (およびそれぞれの管理者) のプロパティをセットアップします。

  • ロール定義 > すべてのロールの定義を取得する APIを実行して、Postman 環境に組み込まれているすべてのユーザー ロール定義の詳細を取得します。 ロール定義 API からの応答を使用して、ユーザーに割り当てることができる割り当て可能なスコープについて知ることができます。

ユーザーの追加

左側のナビゲーションの設定メニューに切り替えることで、ユーザーを追加し、組織内での役割を管理できます。

注意

すでに追加されているユーザーを追加することはできません。

  1. ユーザー アクセス画面で、ユーザーの追加を選択します。
  2. ユーザーの追加ウィンドウで、ユーザーを追加し、アクセス レベルを選択し、保存を選択します。 ユーザーの追加ウィンドウでユーザーを追加するスクリーンショット。

API 経由:

注意

Postman コレクションの ユーザーのオンボーディング フォルダーは、ワンクリック実行をサポートしています。 ただし、個々の API を使用してユーザーのオンボーディングを試み、API に慣れることをお勧めします。

  • サプライヤー などの組織フォルダーについては、Postman コレクションの ユーザーのオンボーディング フォルダーで、 組織詳細の取得 および 管理者ユーザーの詳細の取得 API を呼び出して、組織とその管理者にアクセスします。

  • 共同作成者ユーザーをオンボードするにあたって、API に必要な承認が管理者ユーザーに対応していることを確認できます。 要求のペイロードは、組み込みの貢献者ユーザーロール (サプライヤー共同作成者ユーザー ロールなど) を持つ新しいユーザーの追加を試みます。 要求を送信すると、共同作成者がオンボードされます。

  • 同様に、組織内のリーダー ユーザーには、サプライヤー リーダー ユーザーのような、対応するリーダー ロールを持たせることができます。

ロールの割り当ての変更

ユーザーを追加した後、ユーザーに割り当てられたユーザー ロールを変更できます。

注意

自身のアクセスを編集することはできません。

  1. ユーザー アクセス画面で、ユーザーの横にある 3 つのドットを選択し、編集を選択します。
  2. アクセス権の編集ウィンドウで、アクセス レベル ドロップダウンで新しいロールを選択し、保存を選択します。 ユーザーを削除するアクセスの編集画面のスクリーンショット。

API 経由:

  1. コレクション内の ロールの割り当て フォルダーに移動します。

  2. 資産でのロールの割り当ての作成 API を使用します。 既定では、サプライヤー管理者アクセス トークンを使用して、サプライヤー リーダー ユーザーにサプライヤー共同作成者ロールが割り当てられています。

    注意

    この例は、ロールの割り当て API がどのように機能するかに焦点を当てています。 それぞれの管理者アカウントによって、異なる組織のユーザーに異なるユーザー ロールを割り当てることができます。 スコープのリソース URI を、ロール定義の有効な資産 URI に変更できます。 要求ペイロードの環境変数 (roleDefinitionId および userId) を置き換えて、resourceUri 要求本文パラメーターを変更できます。アクセス トークン環境変数をそれぞれの管理者ユーザー アカウントに一致させます。

    役割定義識別子 (roleDefinitionId) のさまざまな値を使用してロールの割り当て作成 API を送信し、異なるスコープ (resourceUri) で組織内のさまざまなユーザー (userId) に割り当てることができます。 それぞれの管理ユーザーのアクセストークンに対応するように、Authorization ヘッダーを変更することができます。

    組織管理者は、組織外のユーザー ロールを割り当てることはできません。また、組織外のユーザーにロールを割り当てることもできません。

  3. ロール割り当ての更新 API を使用して、ユーザーのアクセス権を更新します。 たとえば、ユーザーをサプライヤ管理者に昇格させることができます。 API パラメーターroleassignment_id を必ず確認してください。

ロールの割り当てを削除する

管理者ユーザーは、必要に応じて、参加者の既存の役割の割り当てを削除できます。

注意

自身のアクセスを削除することはできません。

  1. ユーザー アクセス画面で、ユーザーの横にある 3 つのドットを選択し、編集を選択します。
  2. アクセス権の編集ウィンドウで、アクセス レベル ドロップダウンでなしを選択し、保存を選択します。 ユーザーを削除するアクセスの編集画面のスクリーンショット。

API 経由:

  1. ロール割り当ての削除が必要なユーザーの組織に対応する管理者ロールを設定します。

  2. ロールの割り当て フォルダに移動し、 ロールの割り当ての削除 API を選択します。

  3. API パラメーター に正しい roleassignment_id を入力してください。

  4. 管理者ユーザーの アクセス トークン で認証ヘッダーを設定して、DELETE /roleAssignments/{{roleassignment_id}} を呼び出します (Postman 環境の変数を使用して、さまざまな組織のさまざまな役割を持つユーザーを試すことができます)。

プロファイルの詳細を表示および変更する

プロファイルの詳細を表示するには、左側のナビゲーションで、マイ アカウントを選択します。

基本設定を編集するには、基本設定セクションで編集アイコンを選択し、使用したいホーム ページを選択します。 リストには、現在サインインしているユーザーがアクセスできるさまざまなマーケット ロールが示されます。

編集基本設定のスクリーンショット。

API 経由:

  1. POST /organizations/{organizationId}/users/{userId}/setMyDefaultMarketRole API を使用して、ユーザーの既定マーケット ロールを切り替えます。 認証ヘッダーは、userId URL パラメーターで渡されたのと同じユーザーのアクセス トークンを使用する必要があります。 ユーザーは、既定として設定されている新しいマーケット ロールに何らかのアクセス権を持っている必要があります。

ロールの定義を表示する

任意の役割を持つユーザーは、さまざまな役割の定義を表示できます。

API を介してすべてのロールの定義を表示する方法:

  1. ロールの定義フォルダーに移動し、すべてのロールの定義の取得 API を選択します。

  2. それぞれのユーザーの アクセス トークン で認証ヘッダーを設定して、GET /roleDefinitions を呼び出します (Postman 環境の変数を使用して、さまざまな組織のさまざまな役割を持つユーザーを試すことができます)。

ID 別のロールの定義を表示する方法:

  1. ロールの定義フォルダーに移動し、ID 別のロールの定義の取得 API を選択します。

  2. リクエスト URL のロール定義識別子で認証ヘッダーを設定して、GET /roleDefinitions/{{id}} を呼び出します (Postman 環境の変数を使用して、さまざまな組織のさまざまな役割を持つユーザーを試すことができます)。

ユーザーとロールの割り当ての表示

任意のロールを持つユーザーは、割り当てられたロールとともに組織のユーザーを表示できます。

  • ユーザー アクセス画面に移動して、アクセス権を持つユーザーを表示します。

    ユーザーとそのロールを示すユーザー アクセス画面のスクリーンショット。

API 経由:

  1. ユーザー フォルダーに移動します。
  2. それぞれの組織からのアクセス トークンで認証ヘッダーを設定して、組織内のすべてのユーザーを取得するを呼び出します (Postman 環境の変数を使用して、さまざまな組織のさまざまな役割を持つユーザーを試すことができます)。
  3. ロールの割り当てフォルダーに移動します。
  4. 既定のマーケット ロールですべての役割の割り当てを取得するを呼び出し、resourceUri クエリ パラメーターに基づいて、呼び出し元 ID の既定のマーケット ロールにロールの役割を取得します。

資産に対する組織間のアクセス制御を管理する

管理者ユーザーは、組織全体で資産へのアクセスを管理することができます。 これは、サプライヤがバイヤーにクレジットを事前にコミットしていて、他のバイヤーにクレジットを表示させたくない場合など、複数のシナリオで使用できます。 もう 1 つの例は、同じバリュー チェーン内で使用されるインセットです。

これらのシナリオをサポートするために、環境クレジット サービス (プレビュー) には次の機能があります:

  • 管理者は、資産をすべてのマーケット ロールに表示するかどうかを管理できます。 たとえば、インセットにクレジットを使用したいサプライヤーは、すべてのバイヤーからクレジットの可視性を隠すことを決定できます。 既定では、資産はすべてのマーケット ロールに表示され、管理者が切り替えることができます。

  • 管理者は、マーケットロールのすべての組織に資産を表示させるかどうかを管理することができます。 たとえば、サプライヤはバイヤーに対してクレジットを事前にコミットしている場合があります。 管理者は、クレジットがこの 1 人以外の他の購入者に表示されないように、可視性を管理できます。

既定では、エコロジー プロジェクト、モジュラー ベネフィット プロジェクト、クレジットなどの資産は、管理者が切り替えることができるすべての組織に表示されます。 管理者は、次のように、優先度の低いものから高いものまでさまざまなレベルで、組織間のアクセス ポリシーを設定できます。

  • 組織: 組織レベルの組織間ポリシーは、組織内のすべての資産に組織間アクセス制御が適用されることを意味します。

  • エコロジー プロジェクト: エコロジー プロジェクト レベルでの組織横断的なポリシーは、前の層よりも優先度が高くなります。 これは、特定のエコロジー プロジェクトとその中のすべての資産に対する組織間のアクセス制御を意味します。 組織間ポリシーがこのレベルで設定されている場合、組織レベルで設定されているすべてのポリシーよりも優先されます。 これは、エコロジー プロジェクト スコープで資格のある管理者アクセス権を持つユーザーが設定できます。

  • モジュル ベネフィット プロジェクト: モジュル ベネフィットでの組織横断的なポリシーは、前の層よりも優先度が高くなります。 これは、特定のモジュル ベネフィットとその中のすべての資産に対する組織間のアクセス制御を意味します。 組織間ポリシーがこのレベルで設定されている場合、上記の層で設定されているすべてのポリシーよりも優先されます。 これは、モジュール ベネフィット プロジェクト スコープで資格のある管理者アクセス権を持つユーザーが設定できます。

  • クレジット: クレジット レベルでの組織横断的なポリシーは、前の層よりも優先度が高くなります。 これは、特定のクレジットに対する組織間のアクセス制御を意味します。 組織間ポリシーがこのレベルで設定されている場合、上記の層で設定されているすべてのポリシーよりも優先されます。 これは、モジュール ベネフィット プロジェクト スコープで資格のある管理者アクセス権を持つユーザーが設定できます。

注意

管理者は、所有する資産の組織横断的なポリシーを設定できます。 サプライヤーおよびバイヤーは、組織横断的なポリシーを設定できる 2 つのマーケット ロールです。 サプライヤーは、エコロジー プロジェクト、モジュール ベネフィット プロジェクト、クレジットに設定できます。 バイヤーは、所有するクレジットに設定できます。 API を呼び出すとき、x-ms-marketRole ヘッダーは、管理者ユーザーが API を呼び出しているマーケット ロール コンテキストに関するサービスを示します。

UX を介して:

現在、組織レベルの管理者は UX から組織レベルで組織間ポリシーを設定できます。

  1. 左のナビゲーションで、組織アクセスを選択します。

  2. 変更する組織の編集を選択し、必要に応じて更新します。

    組織間アクセスの変更を示す組織アクセス画面のスクリーンショット。

API 経由:

  1. Postman の組織フォルダーに移動し、API を使用して組織レベルで組織間アクセス ポリシーを設定 します。既定のマーケット ロールの下で、組織レベルでポリシーを設定します。
  2. Postman のエコロジー プロジェクト作成フォルダーに移動し、API エコロジー プロジェクトに組織間アクセス ポリシーを設定するを使用し、 特定のエコロジー プロジェクトレベルでポリシーを設定します。
  3. Postman のエコロジー プロジェクト作成フォルダーに移動し、API MBP に組織間アクセス ポリシーを設定するを使用し、特定のモジュール ベネフィット プロジェクト レベルでポリシーを設定します。
  4. Postman のクレジットフォルダーに移動し、API クレジットに組織間アクセス ポリシーを設定するを使用し、特定のクレジット レベルでポリシーを設定します。

グループを活用してアクセスを管理する

管理者は、グループを作成し、グループ内のユーザーを管理し、ロールでグループを割り当てることができます。 この機能は API を介してのみ利用できます。

  • ユーザー グループを作成してユーザーを追加する:

    POST /organizations/{{organization_id}}/groups  
    
  • 組織内の全ユーザーグループの取得:

    GET /organizations/{{organization_id}}/groups
    
  • ID でユーザーグループを取得する:

    GET /organizations/{{organization_id}}/groups/{{group_id}} 
    
  • ユーザー グループのユーザーを取得する:

    GET /organizations/{{organization_id}}/groups/{{group_id}}/users  
    
  • ユーザーをユーザー グループに追加する:

    POST /organizations/{{organization_id}}/groups/{{group_id}}/addUsers  
    
  • ユーザー グループからユーザーを削除する:

    DELETE /organizations/{{organization_id}}/groups/{{group_id}}/users/{{user_id}}  
    
  • ユーザーをユーザー グループにオンボードする:

    POST /organizations/{{organization_id}}/groups/{{group_id}}/addNewUsers  
    
  • ユーザー グループのロールの割り当てを作成する:

    POST /roleAssignments  
    
  • ロールの割り当てユーザー グループを削除する:

    DELETE /roleAssignments/{{roleAssignmentId}}  
    

関連項目

環境クレジット サービス (プレビュー) の概要
環境クレジット サービス (プレビュー) の用語集
環境クレジット サービス (プレビュー) API リファレンスの概要