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 に付与し、サービスアカウントトークンの シークレットを作成 します。