type
status
date
slug
summary
tags
category
icon
password
书籍
ガイド付き演習: プロジェクトとアカウントの管理
この演習では、通常のユーザーによるプロジェクトの自動プロビジョニングを無効にし、プロジェクトアクセスを分離し、特定のプロジェクトのサービスアカウントを有効にする方法を学びます。
目標:
この演習を通じて、次の操作ができるようになります:
- ユーザーによるプロジェクト作成の無効化 – 通常のユーザーがプロジェクトを作成できないようにする。
- プロジェクトへの個別アクセスの有効化 – 特定のユーザーにプロジェクトへのアクセス権を付与する。
- サービスアカウントの作成 – 特定のプロジェクトに対してサービスアカウントを作成し、セキュリティ制限を変更する。
始める前に:
OpenShift Container Platform クラスターが実行中であり、第7章: OpenShiftのインストール の演習が完了していることを確認してください。もし完了していない場合、マスター、ノード1、ノード2ホストをリセットし、次のコマンドをワークステーションホストで実行して、環境が正しく設定されていることを確認します:
手順:
1. ラボに必要なユーザーを作成する:
ユーザー1はプロジェクト管理者、ユーザー2はプロジェクト開発者として設定します。どちらのユーザーも「redhat」をパスワードとして使用します。
1.1. マスターVMにアクセス
ワークステーションからSSHでマスターVMにログインします:
1.2. プロジェクト管理者ユーザー(user1)を作成
次のコマンドを実行して、ユーザー1を作成します:
1.3. 開発者ユーザー(user2)を作成
次のコマンドを実行して、ユーザー2を作成します:
1.4. マスターVMからログアウト
次のコマンドを実行して、マスターVMからログアウトします:
2. 通常ユーザーによるプロジェクト作成機能を無効化する
2.1. adminユーザーでログイン
ワークステーションVMで次のコマンドを実行して、管理者としてログインします:
「不正な接続を承認する」ことに同意します。
2.2. 通常ユーザーによるプロジェクト作成機能を削除
次のコマンドを実行して、通常ユーザーのプロジェクト作成機能を削除します:
3. 通常ユーザーがプロジェクトを作成できないことを確認
3.1. ユーザー1でログイン
次のコマンドを実行して、ユーザー1でログインします:
ログインに成功すると、次のようなメッセージが表示されます:
3.2. 新しいプロジェクトを作成しようとする
次のコマンドを実行して、新しいプロジェクトを作成しようとします:
次のエラーが表示されます:
セキュリティポリシーの変更により、ユーザー1は新しいプロジェクトを作成できなくなります。このタスクはOpenShiftクラスター管理者に委任されています。
4. クラスター管理者として2つのプロジェクトを作成する
4.1. adminユーザーとしてOpenShiftにログイン
ターミナルで次のコマンドを実行して、adminユーザーとしてOpenShiftにログインします:
4.2. 新しいプロジェクトを作成する
次のコマンドを実行して、新しいプロジェクト「project-user1」を作成します:
クラスター管理者として新しいプロジェクトが作成されます。
4.3. もう一つのプロジェクトを作成する
次のコマンドを実行して、「project-user2」というプロジェクトを作成します:
5. ユーザー1を「project-user1」に、ユーザー2を「project-user1」と「project-user2」に関連付ける
5.1. ユーザー1を「project-user1」プロジェクトの管理者として追加する
次のコマンドを実行して、「project-user1」プロジェクトにユーザー1を管理者として追加します:
5.2. ユーザー2を「project-user1」プロジェクトの開発者として追加する
次のコマンドを実行して、「project-user1」プロジェクトにユーザー2を開発者として追加します:
5.3. ユーザー2を「project-user2」プロジェクトの開発者として追加する
次のコマンドを実行して、「project-user2」プロジェクトにユーザー2を開発者として追加します:
6. ユーザーのプロジェクトアクセスをテストする
6.1. ユーザー1が「project-user1」プロジェクトにのみアクセスできることを確認
ユーザー1としてOpenShiftにログインします:
6.2. 「project-user1」プロジェクトに入る
次のコマンドを実行して、「project-user1」に入ります:
6.3. 「project-user2」プロジェクトに入る
次のコマンドを実行して、「project-user2」に入ろうとします。失敗するはずです:
6.4. ユーザー2が「project-user1」と「project-user2」の両方のプロジェクトにアクセスできることを確認
ユーザー2としてOpenShiftにログインします:
6.5. 「project-user1」プロジェクトに入る
次のコマンドを実行して、「project-user1」に入ります:
6.6. 「project-user2」プロジェクトに入る
次のコマンドを実行して、「project-user2」に入ります:
7. 開発者ユーザーとして「project-user1」に特権が必要なアプリケーションをデプロイ
7.1. ユーザー2としてログインし、「project-user1」プロジェクトに入る
次のコマンドを実行して、ユーザー2として「project-user1」プロジェクトに入ります:
7.2. アプリケーションをデプロイする
次のコマンドを実行して、「nginx」アプリケーションをデプロイしようとします:
出力の一部が次のようになります:
この警告は、クラスター管理者が「root」ユーザーでの実行を許可していない可能性があることを示しています。
7. rootユーザーを使用するnginxイメージによるデプロイメントの失敗
- デプロイメントの失敗:
nginx
コンテナはデフォルトでrootユーザーを使用しますが、OpenShiftではコンテナはデフォルトでランダムなOSユーザーで実行することが求められます。そのため、ポッドはCrashLoopBackOff
またはError
状態になります。
- デプロイメントの確認: 出力には、ポッドがエラーステートにあることが示されます。
8. 特定のプロジェクトでセキュリティ制限を緩和
rootユーザーを使用するコンテナを実行するために、任意のOSユーザーを使用してポッドを実行するサービスアカウントを作成します。この操作は、プロジェクト管理者とクラスター管理者の権限が必要です。
8.1 ユーザー1としてログインし、project-user1
プロジェクトを選択
8.2 サービスアカウントの作成
プロジェクト管理者が行う操作です。
8.3 管理者ユーザーとしてログインし、project-user1
プロジェクトを選択
8.4 サービスアカウントにanyuidセキュリティコンテキストを関連付け
クラスター管理者ユーザーが行う操作です。
8.5 ユーザー2としてログインし、project-user1
プロジェクトを選択
8.6 nginxデプロイメントを管理するデプロイメント設定リソースを更新
開発者ユーザーが行うことができる操作です。
8.7 新しいポッドが更新されたデプロイメント設定を使用して作成されることを確認
9. コンテナのテスト
9.1 nginxポッドへの外部アクセスを有効にするサービスを公開
9.2 ワークステーションVMに接続し、nginxサービスを確認
期待される出力は、NGinxのウェルカムページです。
10. クリーンアップ
10.1 一般ユーザーのプロジェクト作成を再度有効にする
以下のコマンドを実行します。
10.2 プロジェクトを削除
10.3 ユーザーを削除
これでガイド付き演習が終了です。
- 作者:みなみ
- 链接:https://www.minami.ac.cn//%E8%B3%87%E6%A0%BC%E5%8B%89%E5%BC%B7/1a7d7ae8-88e2-80ff-ba83-ea3f6e4b02aa
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章