第7章 コンテナープラットフォームのセキュリティー保護


7.1. コンテナーのオーケストレーション

API は、スケーリング時にコンテナー管理を自動化する際に主要な役割を担います。API は以下の目的で使用されます。

  • Pod、サービス、およびレプリケーションコントローラーのデータの検証および設定。
  • 受信要求におけるプロジェクト検証の実施と、他の主要なシステムコンポーネントでのトリガーの呼び出し。
関連資料

7.2. 認証および承認

7.2.1. OAuth を使用したアクセスの制御

コンテナープラットフォームのセキュリティーを保護にするために、認証および承認で API アクセス制御を使用することができます。OpenShift Container Platform マスターには、ビルトインの OAuth サーバーが含まれます。ユーザーは、OAuth アクセストークンを取得して API に対して認証することができます。

管理者として、LDAP、GitHub、または Google などの アイデンティティープロバイダー を使用して認証できるように OAuth を設定できます。新規の OpenShift Container Platform デプロイメントには、デフォルトで Deny All アイデンティティープロバイダーが使用されます。ただし、これは初回のインストール時またはインストール後に設定することが可能です。アイデンティティープロバイダーの詳細な一覧については、「認証とユーザーエージェントの設定」を参照してください。

たとえば、GitHub アイデンティティープロバイダーをインストール後に設定するには、以下を実行します。

  1. /etc/origin/master-config.yaml で、マスター設定ファイルを編集します。
  2. 以下のように oauthConfig スタンザを修正します。

    oauthConfig:
      ...
      identityProviders:
      - name: github
        challenge: false
        login: true
        mappingMethod: claim
        provider:
          apiVersion: v1
          kind: GitHubIdentityProvider
          clientID: ...
          clientSecret: ...
          organizations:
          - myorganization1
          - myorganization2
          teams:
          - myorganization1/team-a
          - myorganization2/team-b
    注記

    詳細情報と使用方法については、「認証とユーザーエージェントの設定」の「GitHub」セクションを参照してください。

  3. 変更を保存したら、変更を有効にするためにマスターサービスを再起動します。

    # systemctl restart atomic-openshift-master-api atomic-openshift-master-controllers
関連資料

7.2.2. API アクセス制御および管理

アプリケーションには、管理を必要とする各種のエンドポイントを持つ複数の独立した API サービスを設定できます。OpenShift Container Platform には 3scale API ゲートウェイのコンテナー化されたバージョンが含まれており、これにより API を管理し、アクセスを制御することができます。

3scale は、API の認証およびセキュリティーについての様々な標準オプションを提供します。これらは、認証情報を発行し、アクセスを制御するために単独で使用することも、他と組み合わせて使用することもできます (例: 標準 API キー、アプリケーション ID とキーペア、OAuth 2.0 など)。

アクセスについては、特定のエンドポイント、メソッド、およびサービスに制限することができ、アクセスポリシーをユーザーグループに適用することができます。アプリケーションの計画に基づいて、API の使用にレート制限を設定したり、開発者グループのトラフィックフローを制御したりすることが可能です。

APIcast v2 (コンテナー化された 3scale API ゲートウェイ) の使用についてのチュートリアルは、「Running APIcast on Red Hat OpenShift」を参照してください。

7.2.3. Red Hat SSO

Red Hat Single Sign-On (RH-SSO) サーバーを使用すると、SAML 2.0、OpenID Connect、および OAuth 2.0 などの標準に基づく Web SSO 機能を提供し、アプリケーションのセキュリティーを保護することができます。このサーバーは、SAML または OpenID Connect ベースのアイデンティティープロバイダー (IdP) として機能します。つまり、標準ベースのトークンを使用して、アイデンティティー情報およびアプリケーションについてエンタープライズユーザーディレクトリーまたはサードパーティーのアイデンティティープロバイダーとの仲介を行います。Red Hat SSO を Microsoft Active Directory および Red Hat Enterprise Linux Identity Management を含む LDAP ベースのディレクトリーサービスと統合することが可能です。

使用方法についてのチュートリアルは、『Red Hat JBoss SSO for OpenShift』のドキュメントを参照してください。

7.2.4. セルフサービス Web コンソールのセキュリティー保護

OpenShift Container Platform はセルフサービスの Web コンソールを提供して、チームが承認なしに他の環境にアクセスできないようにします。OpenShift Container Platform は以下の条件に基づいてセキュアなマルチテナントマスターを提供します。

  • マスターへのアクセスは Transport Layer Security (TLS) を使用する。
  • API サーバーへのアクセスは X.509 証明書または OAuth アクセストークンを使用する。
  • プロジェクトのクォータは不正トークンによるダメージを制限する。
  • Etcd はクラスターに直接公開されない。
関連資料

7.3. プラットフォームの証明書の管理

OpenShift Container Platform には、そのフレームワーク内に、TLS 証明書による暗号化を利用した REST ベースの HTTPS 通信を使用する複数のコンポーネントがあります。OpenShift Container Platform の Ansible ベースのインストーラーは、これらの認証をインストール時に設定します。以下は、このトラフィックを生成するいくつかの主要コンポーネントです。

  • マスター (API サーバーとコントローラー)
  • etcd
  • ノード
  • レジストリー
  • ルーター

7.3.1. カスタム証明書の設定

API サーバーおよび Web コンソールのパブリックホスト名のカスタム提供証明書は、初回のインストール時または証明書の再デプロイ時に設定できます。カスタム CA を使用することも可能です。

Ansible Playbook を使用した初回の通常インストール (Advanced Installation) 時に、カスタム証明書は openshift_master_overwrite_named_certificates Ansible 変数を使用して設定できます。この Ansible の変数は、以下のようなインベントリーファイルで設定できます。

openshift_master_named_certificates=[{"certfile": "/path/on/host/to/custom1.crt", "keyfile": "/path/on/host/to/custom1.key", "cafile": "/path/on/host/to/custom-ca1.crt"}]

インストール Playbook の実行方法に関するオプションと説明については、通常インストール (Advanced Installation) の「カスタム証明書の設定」を参照してください。

インストーラーは、すべてのクラスター証明書の有効期限を確認するための Ansible Playbook を提供します。追加の Playbook は、最新の CA を使用してすべての証明書を一度に自動的に再デプロイしたり、特定の証明書のみを再デプロイしたり、または新たに生成した CA またはカスタム CA を独自に再デプロイしたりできます。これらの Playbook に関する詳細は、「証明書の再デプロイ」を参照してください。

関連資料
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.