p4 grant-permission (グラフ)

graphタイプの指定されたディポ(またはそのディポのレポジトリ)のための 指定された権限を指定されたユーザまたはグループに割り当てます。

注意

graphタイプのディポのみになります。

構文規則

            
                p4 [g-opts] grant-permission -d graphDepot1 -g group [-r ref] -p permission
            
p4 [g-opts] grant-permission -d graphDepot1 -u user [-r ref] -p permission
p4 [g-opts] grant-permission -n //graphDepot1/reponame -g group [-r ref] -p permission
p4 [g-opts] grant-permission -n //graphDepot1/reponame -u user [-r ref] -p permission
p4 [g-opts] grant-permission -n //graphDepot1/reponame -g group -r ref -p restricted-ref
p4 [g-opts] grant-permission -n //graphDepot1/reponame -u user -r ref -p restricted-ref

説明

注意

管理者は、所有者、またはその特定のグラフのディポやリポジトリへの adminアクセス権限が付与されているユーザです。

ディポを作成するユーザはそのディポのownerで、常にディポに対する完全な admin権限を持っています。adminユーザは、admin権限を含む権限を、 ディポまたはそれに含まれるリポジトリのグループおよび ユーザに付与することができます。

このコマンドは指定されたユーザまたはグループの存在を確認しません。 また、このコマンドは指定されたブランチまたはタグへのリファレンスの存在を 確認しません。そのため、これらのオプションはユーザ、グループ、ブランチ、 またはタグへのリファレンスの作成の前または後に使用することができます。

権限は付加的です。例えば、ユーザにcreate-repo権限を与え、 後でそのユーザにdelete-repo権限も与えることができます。 権限を与えた後で、その権限をp4 revoke-permissionで削除することができます。

注意

特定の権限は、複数の権限を意味します。そのような権限は自動的に含まれ、 それらを含む権限が取り消されない限り、取り消すことができません。 詳細については、「権限」を参照してください。

オプション

-d

ディポおよびそのリポジトリに適用します。

注意

Helixサーバスーパーユーザは-d *を指定すると、すべてのグラフディポ内すべてのリポジトリに対する権限を付与できます。

-n

指定した名前のリポジトリに適用します。

-g

指定したグループに適用します。

-u

指定したユーザに適用します。

-r

(任意指定)create-refdelete-refwrite-ref権限にrefを指定します。 これはリポジトリのブランチ(refs/heads/releaseなど)や、 リリース番号を表すタグ(refs/heads/rel-2.1.14など)に 対応するリファレンスです。 詳細については、https://git-scm.com/book/en/v2/Git-Internals-Git-Referencesを参照してください。

restricted-ref権限に必要になります。

-p

指定した権限を適用します。

g-opts

グローバルオプション」を参照してください。

権限

ユーザまたはグループに権限を与えるとき、そのユーザまたはグループは 次のものを受け取ります。

  • 指定した権限
  • 明示的な権限に含まれる暗黙的(暗示的に含まれた)権限

例えばadmin権限の場合、他のすべての権限が暗黙的に含まれ、force-push権限の場合は、delete-ref権限が暗黙的に含まれます。

次の権限が割り当てられているとします:

この場合、以下の権限が暗黙的に含まれることになります。
  admin force-push delete-ref create-ref delete-repo create-repo write-all write-ref read
admin                  
force-push                  
delete-ref                  
create-ref                  
delete-repo                  
create-repo                  
write-all                  
write-ref                  
read                  

各権限に関連付けられた機能:

admin

指定したリポジトリまたはディポの権限を付与または取消します。

注意

これは、p4 protectadmin機能とは異なります。

p4 protectsuper権限を付与されたユーザには、自動的にadmin機能が設定されます。

リポジトリまたはグラフディポの所有者には、そのリポジトリまたはグラフディポに対するadmin機能が自動的に設定されます。

force-push

ブランチに強制的に上書きします。

delete-ref

-rrefで指定されたリポジトリのブランチまたはタグを削除します。

create-ref

指定されたリポジトリのブランチまたはタグに、-rrefの初期値を作成し設定します。

注意

write-ref権限は含まれません。

delete-repo

graphタイプの指定されたディポ内のリポジトリを削除します。

create-repo

ユーザはgit pushコマンドを使用してグラフディポに新しいリポジトリを 作成することができます。リポジトリの作成方法と表示方法については、 「Helix4Git管理者ガイド」を参照してください。

write-all

-rrefで指定されたブランチまたはタグのファイルおよびリファレンスを 読み取り、更新します。この権限により、ユーザはグラフディポ内に既に 存在するリポジトリのクローン、プル、プッシュが可能になります。 ただし、create-repo権限は含まれません。

注意

変更後のファイルは、プロテクションテーブルに対して確認されることも、Git LFSロックに対して確認されることもありません。

write-ref

-rrefで指定されたリポジトリのブランチまたはタグを読み取り、 更新します。

注意

変更後のファイルは、プロテクションテーブルとGit LFSロックに対して確認されます。

これは、プロテクションテーブル内のプロテクション設定をファイルまたは ディレクトリに適用する唯一の権限です。 『Helix Coreサーバ管理者ガイド』のp4 protectと「アクセスの認証」、『Helix4Git管理者ガイド』の「プッシュできない: p4 protectにより有効化されない」を参照してください。

read

指定されたディポまたはリポジトリ内のファイルを読み取ります。ユーザに対して、リポジトリからクローンまたはプルすることを許可します。

注意

これは、p4 protectread権限とは異なります。

次の権限は排他的であり、暗黙的な権限はありません。

restricted-ref

指定されたユーザまたはグループは、-rオプションによって指定されたリファレンス (ブランチまたはタグ)を更新することができます。これを設定した場合、 この権限を持つユーザのみが更新を実行できます。 これにより、write-refまたはwrite-all権限を持つ他のユーザが、 指定されたリファレンスを更新することを防止できます。(最後の例を参照してください。)

タイプgraphの指定されたディポ(およびそのディポのレポジトリ)のread権限を 指定されたユーザに割り当てます。

p4 grant-permission -p read -d graphDepot1 -u bruno

割り当てを特定のグラフディポ内の特定のレポジトリに制限します。

p4 grant-permission -n //graphDepot1/repo8 -u bruno -p read

リファレンス関連の割り当て(write-refwrite-allcreate-refdelete-refforce-push)を特定のブランチまたはタグに制限します。

p4 grant-permission -n //graphDepot1/repo8 -r "refs/heads/rel-2.1.14" -u bruno -p create-ref

リファレンス関連の割り当てを2つ以上のブランチまたはタグに適用するには、 アスタリスク(*)のワイルドカードを使用します。

p4 grant-permission -n //graphDepot1/repo8 -r "refs/heads/rel-*" -u bruno -p delete-ref

指定したユーザまたはグループのブランチの使用を特定のブランチを制限します(マスターブランチの使用を開発チームに制限するなど)。

p4 grant-permission -n //repo/test -g devops -p restricted-ref -r refs/heads/master

使用上の注意点

ファイル引数でリビジョン指定子を使用できるか? ファイル引数でリビジョン範囲を使用できるか? 最低限必要なアクセスレベル

適用外

適用外

  • p4 protectコマンドのsuperオプションは、すべてのリポジトリとグラフディポに適用されます。

  • 特定のリポジトリやグラフディポに対して、p4 grant-permissionコマンドでadmin権限を割り当てられたユーザは、そのリポジトリやグラフディポの範囲内であれば、p4 grant-permissionコマンドを実行することができます。

関連コマンド

現在与えられている権限を一覧表示する

p4 show-permission

権限を取り消す

p4 revoke-permission