第6章 権限ポリシーリファレンス
Red Hat Developer Hub の権限ポリシーは、リソースまたは機能へのアクセスを管理する一連のルールです。これらのポリシーは、ユーザーのロールに基づいてユーザーに付与される認可レベルを示します。権限ポリシーは、特定の環境内でセキュリティーと機密性を維持するために実装されます。
Developer Hub では、次の種類の権限を定義できます。
- リソースタイプ
- 基本
2 つの権限タイプの違いは、権限に定義されたリソースタイプが含まれているかどうかによって決まります。
リソースタイプ権限は、次の例に示すように、関連するリソースタイプまたは権限名のいずれかを使用して定義できます。
リソースタイプ権限の定義の例
p, role:default/myrole, catalog.entity.read, read, allow g, user:default/myuser, role:default/myrole p, role:default/another-role, catalog-entity, read, allow g, user:default/another-user, role:default/another-role
基本的な権限は、次の例に示すように、権限名を使用して Developer Hub で定義できます。
基本的な権限の定義の例
p, role:default/myrole, catalog.entity.create, create, allow g, user:default/myuser, role:default/myrole
Developer Hub は次の権限ポリシーをサポートしています。
- Catalog 権限
- .Catalog 権限
名前 | リソースタイプ | ポリシー | 説明 |
---|---|---|---|
|
|
| ユーザーまたはロールがカタログから読み取ることを許可する |
|
| ユーザーまたはロールがカタログエンティティーを作成することを許可する。これには、カタログ内の既存のコンポーネントの登録も含まれます。 | |
|
|
| ユーザーまたはロールがカタログから単一または複数のエンティティーを更新することを許可する。 |
|
|
| ユーザーまたはロールがカタログから単一または複数のエンティティーを削除することを許可する。 |
|
| ユーザーまたはロールがカタログから単一または複数の場所を読み取ることを許可する | |
|
| ユーザーまたはロールがカタログ内に場所を作成することを許可する | |
|
| ユーザーまたはロールがカタログから場所を削除することを許可する |
- 一括インポートパーミッション
- .一括インポートパーミッション
名前 | リソースタイプ | ポリシー | 説明 |
---|---|---|---|
|
|
| すべての GitHub インテグレーションでアクセス可能なすべてのリポジトリーと組織のリスト表示や、インポート要求の管理など、一括インポートエンドポイントにユーザーがアクセスできるようにする |
- Scaffolder 権限
- .Scaffolder 権限
名前 | リソースタイプ | ポリシー | 説明 |
---|---|---|---|
|
|
| テンプレートからのアクションの実行を許可する |
|
|
| ユーザーまたはロールがテンプレートから 1 つまたは複数のパラメーターを読み取ることを許可する |
|
|
| ユーザーまたはロールがテンプレートから 1 つまたは複数のステップを読み取ることを許可する |
|
| ユーザーまたはロールが新しいスキャフォールダータスクを作成するソフトウェアテンプレートをトリガーすることを許可する | |
|
| ユーザーまたはロールが現在実行中のスキャフォールダータスクをキャンセルすることを許可する | |
|
| ユーザーまたはロールがすべてのスキャフォールダータスクとそれに関連するイベントおよびログを読み取ることを許可する |
- RBAC 権限
- .RBAC 権限
名前 | リソースタイプ | ポリシー | 説明 |
---|---|---|---|
|
|
| ユーザーまたはロールが権限ポリシーとロールを読み取ることを許可する |
|
|
| ユーザーまたはロールが単一または複数の権限ポリシーとロールを作成することを許可する |
|
|
| ユーザーまたはロールが単一または複数の権限ポリシーとロールを更新することを許可する |
|
|
| ユーザーまたはロールが単一または複数の権限ポリシーとロールを削除することを許可する |
- Kubernetes 権限
- .Kubernetes 権限
名前 | リソースタイプ | ポリシー | 説明 |
---|---|---|---|
|
| ユーザーまたはロールがプロキシーエンドポイントにアクセスすることを許可する |
- OCM 権限
-
基本的な OCM 権限はクラスタービューへのアクセスのみを制限しますが、リソースビュー内の Kubernetes クラスターへのアクセスを妨げることはありません。より効果的な権限を得るには、条件付きポリシーを適用して、
kubernetes-cluster
タイプのカタログエンティティーへのアクセスを制限することを検討してください。アクセス制限は、ロールに付与された権限のセットに依存します。たとえば、ロールに完全な権限 (read
、update
、delete
) がある場合は、permissionMapping
フィールドにそのすべての権限を指定する必要があります。
permissionMapping 定義の例
result: CONDITIONAL roleEntityRef: 'role:default/<YOUR_ROLE>' pluginId: catalog resourceType: catalog-entity permissionMapping: - read - update - delete conditions: not: rule: HAS_SPEC resourceType: catalog-entity params: key: type value: kubernetes-cluster
名前 | リソースタイプ | ポリシー | 説明 |
---|---|---|---|
|
| ユーザーまたはロールが OCM プラグインから読み取ることを許可する | |
|
| ユーザーまたはロールが OCM プラグイン内のクラスター情報を読み取ることを許可する |
- トポロジー権限
- .Topology 権限
名前 | リソースタイプ | ポリシー | 説明 |
---|---|---|---|
|
| ユーザーまたはロールがトポロジープラグインを表示することを許可する | |
|
| ユーザーまたはロールがプロキシーエンドポイントにアクセスすることを許可し、RHDH 内の Pod ログとイベントを読み取ることを許可する |