第5章 外部ファイルを使用した認可の管理


Red Hat Developer Hub のメンテナンスを自動化するには、Developer Hub を起動する前に、外部ファイルで権限とロールを設定できます。

5.1. Operator を使用して外部ファイルで権限の定義

Red Hat Developer Hub のメンテナンスを自動化するには、Developer Hub を起動する前に、外部ファイルで権限とロールを定義します。ファイルを準備し、OpenShift Container Platform プロジェクトにアップロードして、外部ファイルを使用するように Developer Hub を設定する必要があります。

手順

  1. 次の形式を使用して、CSV ファイル rbac-policies.csv でポリシーを定義します。

    1. ロール権限を定義します。

      p, <role_entity_reference>, <permission>, <action>, <allow_or_deny>
      <role_entity_reference>
      ロールエンティティー参照 (例: role:default/guest)
      <permission>

      権限 (例: bulk.importcatalog.entity.readcatalog.entity.refresh)、または権限リソースタイプ (例: bulk-importcatalog-entity)

      権限ポリシーリファレンス を参照してください。

      <action>
      アクションタイプ (例: usereadcreateupdatedelete)。
      <allow_or_deny>
      許可されるアクセス: (allow または deny)。
    2. グループまたはユーザーにロールを割り当てます。

      g, <group_or_user>, <role_entity_reference>
      <group_or_user>

      グループ (例: user:default/mygroup)、またはユーザー (例: user:default/myuser)。

      サンプル rbac-policies.csv

      p, role:default/guests, catalog-entity, read, allow
      p, role:default/guests, catalog.entity.create, create, allow
      g, user:default/my-user, role:default/guests
      g, group:default/my-group, role:default/guests

  2. 次の形式を使用して、YAML ファイル rbac-conditional-policies.yaml で条件付きポリシーを定義します。

    result: CONDITIONAL
    roleEntityRef: <role_entity_reference>
    pluginId: <plugin_id>
    permissionMapping:
      - read
      - update
      - delete
    conditions: <conditions>

    条件付きポリシーリファレンス を参照してください。

  3. rbac-policies.csv ファイルと rbac-conditional-policies.yaml ファイルを、Developer Hub を含む OpenShift Container Platform プロジェクトの rbac-policies config map にアップロードします。

    $ oc create configmap rbac-policies \
         --from-file=rbac-policies.csv \
         --from-file=rbac-conditional-policies.yaml
  4. Developer Hub Backstage カスタムリソースを更新して、rbac-policies config map からファイルを Developer Hub ファイルシステムにマウントします。

    Backstage カスタムリソースフラグメント

    apiVersion: rhdh.redhat.com/v1alpha3
    kind: Backstage
    spec:
      application:
        extraFiles:
          mountPath: /opt/app-root/src
          configMaps:
            - name: rbac-policies

  5. 外部ファイル rbac-policies.csv および rbac-conditional-policies.yaml を使用するように、Developer Hub の app-config.yaml 設定ファイルを更新します。

    app-config.yml フラグメント

    permission:
      enabled: true
      rbac:
        conditionalPoliciesFile: /opt/app-root/src/rbac-conditional-policies.yaml
        policies-csv-file: /opt/app-root/src/rbac-policies.csv
        policyFileReload: true

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.