Menu Close

8.9.3. DeveloperUser カスタムリソースのデプロイによる 3scale 開発者ユーザーの管理

3scale operator を使用して 3scale をインストールする場合、Developer Portal で 3scale 管理の API への開発者アクセスを管理するために、DeveloperUser カスタムリソース (CR) をデプロイできます。ここで提供される手順は、新規 DeveloperUser CR をデプロイするためのものです。DeveloperUser CR のデプロイ後、更新または削除する手順は他の CR と同じです。

CR は、3scale operator が含まれる名前空間にのみデプロイできます。

前提条件

  • 3scale operator がカスタムリソースのリンク先のテナントを特定するしくみ を理解している。
  • admin ロールを持つユーザー用に、デプロイされた DeveloperUser CR が少なくとも 1 つ含まれる DeveloperAccount カスタムリソースが少なくとも 1 つデプロイされている。同じ namespace にある 3scale インスタンスのデフォルトのテナントにリンクしない DeveloperUser カスタムリソースを作成する場合、DeveloperUser CR が含まれる namespace には、DeveloperUser CR がリンクするテナントを特定するシークレットが含まれます。シークレットの名前は以下のいずれかです。

    • threescale-provider-account
    • ユーザー定義

    このシークレットには、3scale インスタンスの URL と、3scale インスタンスの 1 つのテナントにアクセスするためのクレデンシャルが含まれるトークンが含まれます。

  • 新しい DeveloperUser カスタムリソース用に、その開発者のユーザー名、パスワード、およびメールアドレスを把握している。

手順

  1. 3scale operator が含まれる名前空間で、開発者ユーザーのユーザー名とパスワードが含まれるシークレットを定義するリソースファイルを作成して保存します。たとえば、myusername02.yaml ファイルには以下が含まれます。

    apiVersion: v1
    kind: Secret
    metadata:
      name: myusername02
    stringData:
      password: "987654321"
  2. シークレットを作成します。以下は例になります。

    oc create -f myusername02.yaml

    この例では、以下のような出力になります。

    secret/myusername02 created
  3. DeveloperUser CR を定義する .yaml ファイルを作成および保存します。spec.role フィールドには admin または member を指定します。たとえば、developeruser02.yaml ファイルには以下が含まれる場合があります。

    apiVersion: capabilities.3scale.net/v1beta1
    kind: DeveloperUser
    metadata:
      name: developeruser02
    spec:
      username: myusername02
      email: myusername02@example.com
      passwordCredentialsRef:
        name: myusername02
      role: member
      developerAccountRef:
        name: developeraccount1
      providerAccountRef:
        name: mytenant

    DeveloperUser CR では:

    • 開発者のユーザー名 (metadata.name フィールドで指定)、ユーザー名、および電子メールは、含んでいる DeveloperAccount のリンク先のテナントで一意である必要があります。
    • developerAccountRef フィールドには、デプロイされた DeveloperAccount CR の名前を指定する必要があります。
    • DeveloperUser CR がリンクするテナントは、指定された DeveloperAccount CR リンク先と同じテナントである必要があります。
  4. 前のステップで定義したリソースを作成します。以下は例になります。

    oc create -f developefuser02.yaml

    この例では、以下のような出力になります。

    developeruser.capabilities.3scale.net/developeruser02 created

次のステップ

3scale operator が 3scale 設定を更新して、新規または更新されたカスタムリソースを反映するのに、数秒かかります。Operator がカスタムリソース情報を正常に伝搬しているかどうかを確認するには、DeveloperUser カスタムリソースの status フィールドを確認するか、以下のように oc wait コマンドを実行します。

oc wait --for=condition=Ready --timeout=30s developeruser/developeruser02

失敗した場合、カスタムリソースの status フィールドは、エラーが一時的または永続的であるかどうかを示し、問題の修正に役立つエラーメッセージを提供します。

新しい開発者ユーザーに、デベロッパーポータルにログインできることを通知します。また、ログイン認証情報を通知する必要がある場合もあります。

他のカスタムリソースを更新または削除するのと同じ様に、デプロイされた DeveloperUser カスタムリソースを更新または削除することができます。ただし、DeveloperUser CR を削除すると、3scale operator は実際には削除しません。削除した DeveloperUser CR と同じアカウント名、ユーザー名、または電子メールの新しい DeveloperUser CR をデプロイしようとすると、DeveloperUser CR がすでに存在することを示すメッセージを受信します。新規の DeveloperUser CR には、別の開発者ユーザーアカウント名、ユーザー名、または電子メールを指定する必要があります。

その他のリソース