ユーザーがプロジェクト データを表示するには、特定の権限が割り当てられている必要があります。ユーザーにこれらの権限を付与する方法はいくつかありますが、最も一般的なのは次の 3 つの方法です。
- ユーザーに直接権限を付与する
- ユーザーを権限グループに追加する
- ユーザーをプロジェクト チームに追加する
これらの各ケースについては、以下で詳しく説明します。
権限
ユーザーにプロジェクト データを表示するためのアクセス権を与える権限はいくつかあります。最も基本的な権限は GRS プロジェクト権限です。
権限 | 説明 | 値 |
---|---|---|
project | Report Center に定義された特定のプロジェクトのデータへのアクセスを許可します。関連プロジェクトへのアクセスを許可するために正規表現を使用できます。たとえば、grs:project:Core が Core プロジェクトへのアクセスを許可する場合、正規表現 grs:project:Core \d\.\d は、Core 1.0 や Core 1.1 プロジェクトなどへのアクセスを許可します。 | <project name> / <regex pattern> |
プロジェクト権限に加えて、プロジェクト データの表示とメタデータの変更に関連するさらに詳細な権限が 3 つあります。
権限 | 説明 | 値 |
---|---|---|
viewSourceCode | プロジェクトに関連するソース コードを参照する権利を許可します。 | <project name> / <regex pattern> |
prioritizeOwner | 割り当てられた違反の優先度を設定できます。 | <project name> / <regex pattern> |
prioritizeAll | プロジェクトに関連する違反の優先度を設定する権利を許可します。 | <project name> / <regex pattern> |
その他の権限については、「GRS 権限」を参照してください。
ユースケース 1: ユーザーに直接権限を付与する
このユースケースでは、特定のユーザーに特定のプロジェクトに対する特定の権限を付与します。
例
Core と Database という 2 つのプロジェクトがあるとします。ユーザー john に、Core のプロジェクト データの表示、ソース コードの表示、違反の抑制のアクセス権を付与します。ただし、Database のプロジェクト データについては表示のみを許可します。
ユーザー john に次の権限を割り当てます。
- project - 値を Core に設定
- viewSourceCode - 値を Core に設定
- prioritizeAll - 値を Core に設定
- project - 値を Database に設定
ユーザーへの権限の割り当ての詳細については、「ネイティブ権限 (Native Permissions) の割り当て」を参照してください。
ユースケース 2: ユーザーを権限グループに追加する
このユースケースでは、特定のプロジェクトに対する権限を特定のグループに付与し、そのグループにユーザーを追加します。グループのユーザーはその権限を継承します。
例
Core と Database という 2 つのプロジェクトがあるとします。ユーザー john と bob に Core へのフル アクセスを与え、ユーザー adam、carol、david に Database へのフル アクセスを与えるとします。5 人のユーザーに対して 5 回権限を設定するのではなく、2 つのグループ (core_group と database_group) に対して権限を設定し、ユーザーをそれらのグループに追加できます。
グループ core_group に次の権限を設定します。
- project - 値を Core に設定
- viewSourceCode - 値を Core に設定
- prioritizeAll - 値を Core に設定
グループ database_group に次の権限を設定します。
- project - 値を Database に設定
- viewSourceCode - 値を Database に設定
- prioritizeAll - 値を Database に設定
次のユーザーをグループ core_group に追加します。
- john
- bob
グループ database_group に次のユーザーを追加します。
- adam
- carol
- david
グループの作成の詳細については「グループの作成と管理」を、権限グループへのユーザーの割り当ての詳細については「権限グループへのユーザーの割り当て」を参照してください。
ユースケース 3: ユーザーをプロジェクト チームに追加する
このユースケースでは、プロジェクトにチームを追加すると、チームに権限が自動的に追加されます。その後、特定の役割でユーザーをチームに割り当てることができます。
例
プロジェクト Core があるとします。ユーザー john と bob にはチーム メンバーとして Core へのアクセス権を与え、ユーザー adam にはチーム リーダーとして Core へのアクセス権を与えるとします。Core に新しいチームを作成すると、ユーザー管理に次の権限を持つ 2 つのグループが自動的に作成されます。
- グループ: Core Team
- 権限:
- project - 値を Core に設定
- viewSourceCode - 値を Core に設定
- prioritizeOwner - 値を Core に設定
- 権限:
- グループ: Core Team Leaders
- 権限:
- project - 値を Core に設定
- viewSourceCode - 値を Core に設定
- prioritizeAll - 値を Core に設定
- 権限:
john と bob を Core Team に追加します。
adam を Core Team Leaders に追加します。
Core Team と Core Team Leaders には 2 つの違いがあります。まず、prioritizeOwner 権限と prioritizeAll 権限には明らかな違いがあります。2 番目は、それほど明らかではありませんが、Core Team Leaders グループのユーザーには、Report Center 設定へのアクセスや、チーム リーダー権限を必要とする特定の API へのアクセスなど、チーム リーダー権限が付与されます。
プロジェクト チームとチーム メンバーシップの詳細については、「プロジェクトへのチームの追加」を参照してください。