第2章 レジストリー全体のアクセス管理
次のセクションでは、ユーザーとスーパーユーザーの両方のレジストリー全体の権限を調整する方法について説明します。
2.1. 制限ユーザーの管理
デフォルトでは、レジストリーに属するすべての Red Hat Quay メンバーはリポジトリーを作成し、自分のユーザーアカウントにコンテンツをアップロードできます。たとえば、user1
が /<user1>/<image>:<tag>
などのアーティファクトタグをプッシュすると、名前が user1/image
のリポジトリーが作成されます。そのリポジトリー内には、アーティファクトタグに関する情報が含まれています。
FEATURE_RESTRICTED_USERS
設定フィールドを使用すると、Red Hat Quay 管理者は、レジストリーに登録されている全ユーザーに対して、レジストリーへのイメージまたはアーティファクトのプッシュを制限できます。この設定フィールドにより、すでにその組織に所属しており、その組織のチームメンバーとして定義されていない限り、どのユーザーも新しい組織を作成したり、コンテンツをプッシュしたりできなくなります。つまり、制限ユーザーであっても、所属しているチームに基づいて、組織内で通常の権限を引き続き割り当てられます。
たとえば、Red Hat Quay 管理者は、config.yaml
ファイルで FEATURE_RESTRICTED_USERS
設定フィールドを次のように設定します。
FEATURE_RESTRICTED_USERS: true
上記のように設定すると、user1
は Red Hat Quay UI を使用して新しい組織を作成できなくなります。試行すると、Unauthorized
のエラーメッセージが返されます。さらに、user1
が CLI を使用してイメージを自分の名前空間にプッシュしようとすると (つまり、/<user1>/<image>:<tag>
)、Error: writing Blob: initiating layer upload to/v2/user1/<image>/blobs/uploads/in <quay-server.example.com>: authorized: access to the request resource is not authorized
のエラーメッセージが返されます。ただし、管理者によって定義された組織のチームに user1
が所属している場合は、そのチームが持つ権限が維持されます。たとえば、user1
が組織のチームに追加され、Admin ロールが付与されている場合、その組織に対する管理者権限を持ちます。
ただし、FEATURE_RESTRICTED_USERS
を RESTRICTED_USERS_WHITELIST
設定フィールドと共に活用すると、Red Hat Quay 管理者は指定されたメンバーに引き続きレジストリーへのプッシュや組織の作成を行う権限を付与できます。一般的に、FEATURE_RESTRICTED_USERS
が設定されている場合、Red Hat Quay 管理者は RESTRICTED_USERS_WHITELIST
も設定する場合があります。そうしないと、レジストリーのすべてのメンバー (チームによって定義されたメンバーを除く) が基本的なタスクを実行できなくなります。
たとえば、Red Hat Quay 管理者は、config.yaml
ファイルで FEATURE_RESTRICTED_USERS
および RESTRICTED_USERS_WHITELIST
設定フィールドを次のように設定します。
# ... FEATURE_RESTRICTED_USERS: true RESTRICTED_USERS_WHITELIST: - user2 # ...
この設定では、user2
を 除く すべてのユーザーはイメージのプッシュや組織の作成が制限されます。チームに所属する他のユーザーにもこれらの権限が与えられます。レジストリーに登録されているユーザーのうち、RESTRICTED_USERS_WHITELIST
フィールドで定義されていない、または、いずれの組織のチームにも属していないユーザーには、そのレジストリー内の権限がありません。そのため、基本的な操作を行うことができません。
この機能は、LDAP デプロイメントタイプによって動作が異なります。詳細は、Red Hat Quay の LDAP 認証の設定 を参照してください。