権限について

ネームスペーススコープとクラスタスコープのどちらにTimesTenオペレータをインストールするかによって、TimesTenオペレータに必要になる権限は異なります。
  • TimesTenオペレータがネームスペーススコープのクラスタ内のネームスペースで実行される場合、必要になるのはインストールしたネームスペース内の権限のみです。TimesTenオペレータはクラスタ内の他のネームスペースの権限を必要としません。

  • TimesTenオペレータがクラスタスコープのクラスタ内のtimesten-operatorネームスペースで実行される場合、オペレータが実行されるネームスペース内およびクラスタ内のすべてのネームスペース内の権限が必要です。

Kubernetesは、RoleおよびRoleBindingを使用して単一のネームスペース内の権限を指定し、ClusterRoleおよびClusterRoleBindingを使用してすべてのネームスペースにわたる権限を指定します。KubernetesのRole、RoleBinding、ClusterRoleおよびClusterRoleBindingの詳細は、Kubernetesドキュメントのhttps://kubernetes.io/docs/reference/access-authn-authz/rbac/を参照してください。

TimesTenオペレータがネームスペーススコープで実行される場合、オペレータが機能するにはRoleおよびRoleBindingが必要になります。具体的には、ネームスペーススコープのネームスペースにTimesTenオペレータをインストールした場合、このネームスペースにtimesten-operatorというServiceAccountが作成されます。さらにRoleBindingが作成されて、これによりtimesten-operatorサービス・アカウントに対し必要な権限が付与されます。これらの権限は、timesten-operatorロールで定義されます。

TimesTenオペレータがクラスタスコープで実行される場合、オペレータが機能するにはRole、RoleBinding、ClusterRoleおよびClusterRoleBindingが必要になります。TimesTenオペレータにはすべてのネームスペースでの権限に加え、そのネームスペースのみでの権限が必要になるため、次のオブジェクトがプロビジョニングされます:
  • timesten-operatorと呼ばれるClusterRole: TimesTenオペレータがクラスタ内の各ネームスペースで必要とする権限を定義します。

  • timesten-operatorというClusterRoleBinding: timesten-operatorネームスペースのtimesten-operatorサービス・アカウントに、timesten-operatorクラスタ・ロール内の権限を付与します。

  • ネームスペースtimesten-operator: TimesTenオペレータが実行されるネームスペースです。このネームスペースは構成不可です。このネームスペースでは、次のオブジェクトが作成されます:
    • timesten-operatorというServiceAccount: TimesTenオペレータは、このサービス・アカウントの権限で実行されます。

    • timesten-operatorというRole: TimesTenオペレータがtimesten-operatorネームスペースで必要とする権限を定義します。

    • timesten-operatorというRoleBinding: timesten-operatorネームスペースのtimesten-operatorサービス・アカウントに、timesten-operatorロール内の権限を付与します。

つまり、ネームスペーススコープのクラスタ内のネームスペースにTimesTenオペレータをインストールした場合、そのネームスペースにtimesten-operatorというServiceAccountが作成されます。さらに、RoleBindingによりサービス・アカウントに対し必要な権限が付与されます。一方、クラスタスコープのクラスタにTimesTenオペレータをインストールすると、timesten-operatorネームスペースが作成されます。また、このtimesten-operatorネームスペースにServiceAccountが作成され、RoleBindingおよびClusterRoleBindingによりサービス・アカウントに対し必要な権限が付与されます。これらのオブジェクトの作成方法を示す例は、この章の後半に記載されています。