type
Post
status
Published
date
Feb 26, 2025
slug
summary
tags
DO285
Redhat
EX280
学習ノート
category
民間資格勉強
icon
password

ガイド付き演習: プロジェクトとアカウントの管理

この演習では、通常のユーザーによるプロジェクトの自動プロビジョニングを無効にし、プロジェクトアクセスを分離し、特定のプロジェクトのサービスアカウントを有効にする方法を学びます。

目標:

この演習を通じて、次の操作ができるようになります:
  1. ユーザーによるプロジェクト作成の無効化 – 通常のユーザーがプロジェクトを作成できないようにする。
  1. プロジェクトへの個別アクセスの有効化 – 特定のユーザーにプロジェクトへのアクセス権を付与する。
  1. サービスアカウントの作成 – 特定のプロジェクトに対してサービスアカウントを作成し、セキュリティ制限を変更する。

始める前に:

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イメージによるデプロイメントの失敗

  1. デプロイメントの失敗: nginxコンテナはデフォルトでrootユーザーを使用しますが、OpenShiftではコンテナはデフォルトでランダムなOSユーザーで実行することが求められます。そのため、ポッドはCrashLoopBackOffまたはError状態になります。
  1. デプロイメントの確認: 出力には、ポッドがエラーステートにあることが示されます。

    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 ユーザーを削除

    これでガイド付き演習が終了です。
     
    49- 第12章:OpenShiftリソースへのアクセス制御-1:アクセス保護の説明51- 第12章:OpenShiftリソースへのアクセス制御-3:Secretsの説明
    Loading...
    Catalog
    0%
    minami
    minami
    みなみの成長 🐝
    Announcement

    🎉 ブログへようこそ 🎉

    名前: みなみ一人会社
    性別:
    国籍: China 🇨🇳
    政治スタンス: 民主主義支持者
    完全独学で基本情報技術者をはじめ、32個の資格を仕事をしながら取得。
    現在はIT会社で技術担当として働きながら、ブログ執筆や学習支援にも取り組んでいます。
    独学で合格できる学習法や勉強法、試験対策を発信中!

    📚 発信内容

    • 💻 IT・システム開発
    • 🏠 不動産 × 宅建士
    • 🎓 MBA 学習記録

     
    Catalog
    0%