3.2. Red Hat SSO を Trusted Artifact Signer の OpenID Connect プロバイダーとして設定する手順


Red Hat Single Sign-On (SSO) を、Red Hat Trusted Artifact Signer (RHTAS) サービスの OpenID Connect プロバイダーとして使用できます。これにより、アプリケーションと安全なサービスに Keycloak 認証環境が提供されます。

前提条件

  • Red Hat OpenShift Container Platform バージョン 4.13 以降
  • cluster-admin ロールでの OpenShift Web コンソールへのアクセス。
  • Keycloak PostgreSQL データベース用に 1 GB のコンテナーストレージを使用できる。
  • oc バイナリーがインストールされているワークステーション。

手順

  1. cluster-admin ロールを持つユーザーで OpenShift Web コンソールにログインします。
  2. Keycloak サービスをデプロイする新規プロジェクトを作成します。

    1. Administrator パースペクティブのナビゲーションメニューから Home を展開し、Projects をクリックします。
    2. Create Project ボタンをクリックします。
    3. 新しい project namekeycloak-system で、Create ボタンをクリックします。
  3. ナビゲーションメニューから Operators を展開し、OperatorHub をクリックします。
  4. 検索フィールドに sso と入力し、Red Hat Single Sign-on タイルをクリックします。
  5. Install ボタンをクリックして、Operator の詳細を表示します。
  6. まだ設定されていない場合は、Installed Namespace ドロップダウンメニューから keycloak-system を選択します。
  7. Install Operator ページで Install をクリックし、インストールが完了するまで待ちます。
  8. インストールが完了したら、View Operator をクリックします。
  9. ワークステーションターミナルから、OpenShift クラスターにログインします。

    構文

    oc login --token=TOKEN --server=SERVER_URL_AND_PORT

    $ oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443

    注記

    OpenShift Web コンソールからコマンドラインで使用するログイントークンと URL を確認できます。OpenShift Web コンソールにログインします。ユーザー名をクリックし、Copy login command をクリックします。入力を求められた場合はユーザー名とパスワードをもう一度入力し、Display Token をクリックしてコマンドを表示します。

  10. Keycloak プロジェクトに切り替えます。

    $ oc project keycloak-system

  11. Keycloak インスタンスを作成します。

    $ cat <<EOF | oc apply -f -
    apiVersion: keycloak.org/v1alpha1
    kind: Keycloak
    metadata:
      labels:
        app: sso
      name: keycloak
    spec:
      externalAccess:
        enabled: true
      instances: 1
      keycloakDeploymentSpec:
        imagePullPolicy: Always
      postgresDeploymentSpec:
        imagePullPolicy: Always
    EOF

  12. Keycloak レルムを作成します。

    $ cat <<EOF | oc apply -f -
    apiVersion: keycloak.org/v1alpha1
    kind: KeycloakRealm
    metadata:
      labels:
        app: sso
      name: trusted-artifact-signer
    spec:
      instanceSelector:
        matchLabels:
          app: sso
      realm:
        displayName: Red-Hat-Trusted-Artifact-Signer
        enabled: true
        id: trusted-artifact-signer
        realm: trusted-artifact-signer
        sslRequired: none
    EOF

  13. Keycloak クライアントを作成します。

    $ cat <<EOF | oc apply -f -
    apiVersion: keycloak.org/v1alpha1
    kind: KeycloakClient
    metadata:
      labels:
        app: sso
      name: trusted-artifact-signer
    spec:
      client:
        attributes:
          request.object.signature.alg: RS256
          user.info.response.signature.alg: RS256
        clientAuthenticatorType: client-secret
        clientId: trusted-artifact-signer
        defaultClientScopes:
        - profile
        - email
        description: Client for Red Hat Trusted Artifact Signer authentication
        directAccessGrantsEnabled: true
        implicitFlowEnabled: false
        name: trusted-artifact-signer
        protocol: openid-connect
        protocolMappers:
        - config:
            claim.name: email
            id.token.claim: "true"
            jsonType.label: String
            user.attribute: email
            userinfo.token.claim: "true"
          name: email
          protocol: openid-connect
          protocolMapper: oidc-usermodel-property-mapper
        - config:
            claim.name: email-verified
            id.token.claim: "true"
            user.attribute: emailVerified
            userinfo.token.claim: "true"
          name: email-verified
          protocol: openid-connect
          protocolMapper: oidc-usermodel-property-mapper
        - config:
            claim.name: aud
            claim.value: trusted-artifact-signer
            id.token.claim: "true"
            access.token.claim: "true"
            userinfo.token.claim: "true"
          name: audience
          protocol: openid-connect
          protocolMapper: oidc-hardcoded-claim-mapper
        publicClient: true
        standardFlowEnabled: true
        redirectUris:
        - "*"
      realmSelector:
        matchLabels:
          app: sso
    EOF

  14. Keycloak ユーザーを作成します。

    $ cat <<EOF | oc apply -f -
    apiVersion: keycloak.org/v1alpha1
    kind: KeycloakUser
    metadata:
      labels:
        app: sso
      name: jdoe
    spec:
      realmSelector:
        matchLabels:
          app: sso
      user:
        email: jdoe@redhat.com
        enabled: true
        emailVerified: true
        credentials:
          - type: "password"
            value: "secure"
        firstName: Jane
        lastName: Doe
        username: jdoe
    EOF

    ユーザー名、ユーザーのメールアドレス、パスワードを設定するか、秘密オブジェクトを参照します。

  15. OpenShift Web コンソールに戻り、All instances タブをクリックして監視し、Keycloak システムが正常に初期化されるまで待ちます。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.