5.7. OpenShift Online Pro でのプロジェクトコラボレーション
OpenShift Online Starter では、コラボレーションは利用できません。
すべての OpenShift Online Pro アカウントには、サブスクリプションごとに最大 50 のコラボレーターユーザーを追加する機能があります。これらのコラボレーターユーザーには、OpenShift Online Pro アカウントのサブスクリプションをお持ちのお客様がクラスターアクセスを付与し、それらのユーザーは OpenShift Online でホストされるプロジェクトで共同作業を行うことができます。これにより、アカウントごとに月額の費用を支払うことなく、複数のユーザーが 1 つのサブスクリプションでプロジェクトにアクセスできるようになります。
5.7.1. コラボレーションの制限
コラボレーターは、アクセスが付与されているプロジェクト内のリソースのみにアクセスできます。また、プロジェクトリソースを表示、編集、および管理する機能は、プロジェクト内で付与される特定のロールによって異なります。
5.7.2. コラボレーターの追加
OpenShift Online Pro のサブスクリプションをお持ちのお客様は、以下の手順に従ってコラボレーターを追加できます。
- コラボレーターとして追加する各ユーザーは、developers.redhat.com で無料アカウントを作成する必要があります。コラボレーターがそれぞれの Red Hat Developers アカウントを確認したら、それらをサブスクリプションに追加できます。
- 各コラボレーターは、developers.redhat.com にサインインし、右上の名前をクリックしてアカウントの詳細にアクセスする必要があります。このページの Red Hat ログイン ID をメモしてください。これは、コラボレーターをサブスクリプションに関連付けるために入力する必要のあるユーザー名です。
manage.openshift.com にサインインし、コラボレーターを追加するクラスターの下で Manage Subscription をクリックします。
サブスクリプション管理コンソールで、Collaborators 見出しの下の Manage リンクをクリックします。これにより、Collaboration ページに移動します。
Collaboration ページで、ユーザー名フィールドに Red Hat Login ID を入力し、Add Collaborator をクリックします。
これで、コラボレーター、ユーザーが追加された時間、サブスクリプションからユーザーを削除するオプションの下にユーザーが一覧表示されるはずです。
ただし、これにより、ユーザーにプロジェクトへのアクセスが自動的に付与される訳ではありません。アクセスは、
oc policy
コマンド または Web コンソール を使用してプロジェクトオーナーによって手動で付与される必要があります。
5.7.3. Web コンソールを使用したプロジェクトアクセスの付与
コラボレーターを OpenShift Online Pro サブスクリプションに追加した後に、Web コンソールを使用してコラボレーターへのプロジェクトアクセスを付与できます。
- プロジェクト内で Resources をクリックしてから Membership をクリックします。
アクセスを付与するユーザーにロール (表示、編集、または管理) を追加します。
アクセスロールの詳細は、「認証」を参照してください。
ここで、コラボレーターユーザーが manage.openshift.com にログインすると、サブスクリプションと同じクラスターについて Web コンソールにログインするためのカードが表示され、コラボレーターにクラスターのプロジェクトへのアクセスが付与されている場合、他のユーザーと同様にアクセスできるようになります。
5.7.4. CLI を使用したプロジェクトアクセスの付与
コラボレーターを OpenShift Online Pro サブスクリプションに追加した後に、CLI を使用してコラボレーターへのプロジェクトアクセスを付与できます。
- アクセストークンを使用して CLI でクラスターにログインします。
以下を使用して、Collaboration ページに一覧表示されている同じユーザー名を使用してユーザーにロールを付与します。
$ oc policy add-role-to-user <role-name> <username>
以下は例になります。
~$ oc login https://api.openshift.com --token=<...> Logged into "https://api.openshift.com:443" as "exampleuser" using the token provided. You have one project on this server: "exampleuser-collab" Using project "exampleuser-collab". ~$ oc policy add-role-to-user view collaborator-1234 role "view" added: "collaborator-1234"
この例では、ユーザー
collaborator-1234
についてプロジェクトへの 表示 アクセスを付与します。アクセスロールの詳細は、「認証」を参照してください。ここで、コラボレーターユーザーが manage.openshift.com にログインすると、サブスクリプションと同じクラスターについて Web コンソールにログインするためのカードが表示され、コラボレーターにクラスターのプロジェクトへのアクセスが付与されている場合、他のユーザーと同様にアクセスできるようになります。
5.7.5. コラボレーターの削除
コラボレーターとしてのユーザーをサブスクリプションから削除する必要がある場合はいつでも、それらを追加する際に使用したのと同じ Collaboration ページで実行できます。ただし、これによりプロジェクトでユーザーに割り当てたロールは自動的に削除されないことに注意してください。これらは手動で削除する必要があり、そうしない場合はユーザーがプロジェクトに依然としてアクセスできる可能性があります。
5.7.5.1. Web コンソールを使用したプロジェクトアクセスの削除
Web コンソールを使用して、コラボレーターからプロジェクトアクセスを削除できます。
- プロジェクト内で Resources をクリックしてから Membership をクリックします。
- ユーザーからロール (表示、編集、または 管理 など) を削除します。
5.7.5.2. CLI を使用したプロジェクトアクセスの削除
CLI を使用して、コラボレーターからプロジェクトアクセスを削除できます。
- アクセストークンを使用して CLI でクラスターにログインします。
以下を実行して、Collaboration ページに一覧表示されているのと同じユーザー名を使用して、ロール (表示、編集、管理 など) を削除します。
$ oc policy remove-role-from-user <role-name> <username>