8.5.2. Bearer 認証
デフォルトで、認証が指定されていない場合、ブローカーはベアラートークン認証 (Bearer Auth) を使用します。Bearer 認証は Kubernetes apiserver ライブラリーから委任された認証を使用します。
この設定は、Kubernetes RBAC ロールおよびロールバインディングにより、URL 接頭辞へのアクセスを付与します。ブローカーは設定オプション cluster_url
を追加して url_prefix
を指定します。この値はデフォルトで openshift-ansible-service-broker
になります。
クラスターロールの例
- apiVersion: authorization.k8s.io/v1 kind: ClusterRole metadata: name: access-asb-role rules: - nonResourceURLs: ["/ansible-service-broker", "/ansible-service-broker/*"] verbs: ["get", "post", "put", "patch", "delete"]
8.5.2.1. デプロイメントテンプレートおよびシークレット
以下は、サービスカタログが使用できるシークレットの作成例です。この例では、ロールの access-asb-role がすでに作成されていることを前提としています。また、デプロイメントテンプレート が使用されています。
- apiVersion: v1 kind: ServiceAccount metadata: name: ansibleservicebroker-client namespace: openshift-ansible-service-broker - apiVersion: authorization.openshift.io/v1 kind: ClusterRoleBinding metadata: name: ansibleservicebroker-client subjects: - kind: ServiceAccount name: ansibleservicebroker-client namespace: openshift-ansible-service-broker roleRef: kind: ClusterRole name: access-asb-role - apiVersion: v1 kind: Secret metadata: name: ansibleservicebroker-client annotations: kubernetes.io/service-account.name: ansibleservicebroker-client type: kubernetes.io/service-account-token
上記の例ではサービスアカウントを作成し、アクセスを access-asb-role に付与し、サービスアカウントトークンの シークレットを作成 します。