第1章 Red Hat Quay 権限モデル


Red Hat Quay の権限モデルは、リポジトリーとそのリポジトリーのコンテンツに対するアクセス制御を詳細に指定でき、安全なコラボレーションと自動化を実現します。Red Hat Quay 管理者は、ユーザーとロボットアカウントに次のいずれかのアクセスレベルを付与できます。

  • Read: ユーザー、ロボット、チームがイメージをプルできるようにします。
  • Write: ユーザー、ロボット、チームがイメージをプッシュできるようにします。
  • Admin: ユーザー、ロボット、チームに管理者権限を提供します。
注記

管理ユーザーは、既存のユーザーやチームに新しい権限を委譲したり、既存の権限を変更したり、必要に応じて権限を取り消したりすることができます。

これらのアクセスレベルをまとめると、ユーザーまたはロボットアカウントは、イメージのプル、イメージの新しいバージョンのレジストリーへのプッシュ、リポジトリーの設定の管理など、特定のタスクを実行できるようになります。これらの権限は、組織全体および特定のリポジトリーに委譲できます。たとえば、Read 権限は組織内の特定のチームに設定できますが、Admin 権限は組織内のすべてのリポジトリーのすべてのユーザーに付与できます。

1.1. Red Hat Quay のチームの概要

Red Hat Quay の チーム は、権限を共有するユーザーのグループであり、プロジェクトの効率的な管理とコラボレーションを可能にするものです。チームは、組織およびリポジトリー内のアクセス制御とプロジェクト管理を効率化するのに役立ちます。指定の権限をチームに割り当てることで、メンバーの役割と責任に基づいて、リポジトリーへの適切なレベルのアクセス権を付与できます。

1.1.1. UI を使用したチームのロールの設定

チームを作成したら、そのチームの組織内でのロールを設定できます。

前提条件

  • チームを作成している。

手順

  1. Red Hat Quay のランディングページで、組織の名前をクリックします。
  2. ナビゲーションウィンドウで、Teams and Membership をクリックします。
  3. 次の図に示すように、TEAM ROLE ドロップダウンメニューを選択します。

    Set the role that a team has within an organization

  4. 選択したチームについて、以下のロールのいずれかを選択します。

    • Admin。チームの作成、メンバーの追加、権限の設定など、組織への完全な管理アクセス権を付与します。
    • Member。チームに設定されているすべての権限を継承します。
    • Creator。メンバーのすべての権限に加えて、新しいリポジトリーを作成する権限を付与します。

1.1.1.1. チームメンバーとリポジトリー権限の管理

チームメンバーを管理し、リポジトリー権限を設定するには、次の手順に従います。

  • 組織の Teams and membership ページでは、チームメンバーを管理したり、リポジトリー権限を設定したりすることもできます。

    • 縦の省略記号メニューをクリックし、次のいずれかのオプションを選択します。
    • Manage Team Members。このページでは、すべてのメンバー、チームメンバー、ロボットアカウント、または招待したユーザーを表示できます。Add new member をクリックして、新しいチームメンバーを追加することもできます。
    • Set repository permissions。このページでは、リポジトリー権限を次のいずれかに設定できます。

      • None。チームメンバーにリポジトリーに対する権限は付与されません。
      • Read。チームメンバーがリポジトリーの表示とリポジトリーからのプルを行えるようになります。
      • Write。チームメンバーがリポジトリーの読み取り (プル) とリポジトリーへの書き込み (プッシュ) を行えるようになります。
      • Admin。プルおよびプッシュを行うためのリポジトリーへのフルアクセスに加えて、リポジトリーに関連する管理作業を行う権限を付与します。
    • Delete。このポップアップウィンドウでは、Delete をクリックしてチームを削除できます。

1.1.2. API を使用して組織内のチームのロールを設定する

API を使用して組織内のチームのロールを表示および設定するには、次の手順に従います。

前提条件

手順

  1. 組織のチームのリポジトリー権限のリストを返すには、次の GET/api/v1/organization/{orgname}/team/{teamname}/permissions コマンドを入力します。このコマンドで情報を取得するには、チームがリポジトリーに追加されている必要があることに注意してください。

    $ curl -X GET \
      -H "Authorization: Bearer <your_access_token>" \
      "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/permissions"

    出力例

    {"permissions": [{"repository": {"name": "api-repo", "is_public": true}, "role": "admin"}]}

  2. PUT/api/v1/organization/{orgname}/team/{teamname} コマンドを使用して、組織内のチームを作成または更新し、指定されたロールを adminmember、または creator にすることができます。以下に例を示します。

    $ curl -X PUT \
      -H "Authorization: Bearer <your_access_token>" \
      -H "Content-Type: application/json" \
      -d '{
        "role": "<role>"
      }' \
      "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>"

    出力例

    {"name": "testteam", "description": "", "can_view": true, "role": "creator", "avatar": {"name": "testteam", "hash": "827f8c5762148d7e85402495b126e0a18b9b168170416ed04b49aae551099dc8", "color": "#ff7f0e", "kind": "team"}, "new_team": false}

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.