8.5. 브로커 인증


브로커는 브로커에 연결할 때 호출자가 각 요청에 대해 Basic Auth 또는 Bearer Auth 자격 증명을 제공해야 하는 인증을 지원합니다. curl 을 사용하면 다음과 같이 간단합니다.

-u <user_name>:<password>

또는

-h "Authorization: bearer <token>

명령을 실행합니다. 서비스 카탈로그는 사용자 이름 및 암호 조합 또는 전달자 토큰이 포함된 시크릿을 사용하여 구성해야 합니다.

8.5.1. 기본 인증

기본 인증 사용을 활성화하려면 브로커 구성에서 다음을 설정합니다.

broker:
   ...
   auth:
     - type: basic 1
       enabled: true 2
1
type 필드는 사용할 인증 유형을 지정합니다.
2
활성화된 필드를 사용하면 특정 인증 유형을 비활성화할 수 있습니다. 이렇게 하면 auth 의 전체 섹션을 삭제하여 비활성화하기만 하면 됩니다.

8.5.1.1. 배포 템플릿 및 시크릿

일반적으로 브로커는 배포 템플릿에서 ConfigMap 을 사용하여 구성됩니다. 파일 구성과 동일한 방식으로 인증 구성을 제공합니다.

다음은 배포 템플릿의 예입니다.

auth:
  - type: basic
    enabled: ${ENABLE_BASIC_AUTH}

Basic Auth(기본 인증)의 또 다른 부분은 브로커에 대해 인증하는 데 사용되는 사용자 이름과 암호입니다. 기본 인증 구현은 다양한 백엔드 서비스에서 지원할 수 있지만 현재 지원되는 구현은 비밀 에서 지원합니다. /var/run/asb_auth 위치의 볼륨 마운트를 통해 시크릿을 Pod에 삽입해야 합니다. 여기서 브로커가 사용자 이름과 암호를 읽습니다.

배포 템플릿에서 보안을 지정해야 합니다. 예를 들면 다음과 같습니다.

- apiVersion: v1
  kind: Secret
  metadata:
    name: asb-auth-secret
    namespace: openshift-ansible-service-broker
  data:
    username: ${BROKER_USER}
    password: ${BROKER_PASS}

시크릿에는 사용자 이름과 암호가 포함되어야 합니다. 값은 base64로 인코딩되어야 합니다. 해당 항목의 값을 생성하는 가장 쉬운 방법은 echobase64 명령을 사용하는 것입니다.

$ echo -n admin | base64 1
YWRtaW4=
1
n 옵션은 매우 중요합니다.

이제 이 시크릿을 볼륨 마운트를 통해 Pod에 삽입해야 합니다. 이는 배포 템플릿에서도 구성됩니다.

spec:
  serviceAccount: asb
  containers:
  - image: ${BROKER_IMAGE}
    name: asb
    imagePullPolicy: IfNotPresent
    volumeMounts:
      ...
      - name: asb-auth-volume
        mountPath: /var/run/asb-auth

그런 다음 volumes 섹션에서 보안을 마운트합니다.

volumes:
  ...
  - name: asb-auth-volume
    secret:
      secretName: asb-auth-secret

위의 경우 /var/run/asb-auth 에 있는 볼륨 마운트가 생성됩니다. 이 볼륨에는 두 개의 파일, 즉 asb-auth-secret 보안에서 작성한 사용자 이름과 암호가 있습니다.

8.5.1.2. 서비스 카탈로그 및 브로커 통신 구성

이제 브로커가 Basic Auth를 사용하도록 구성되었으므로 서비스 카탈로그에 브로커와 통신하는 방법을 알려야 합니다. 이 작업은 브로커 리소스의 authInfo 섹션에서 수행합니다.

다음은 서비스 카탈로그에서 브로커 리소스를 생성하는 예입니다. 사양은 브로커가 수신 대기 중인 URL을 서비스 카탈로그에 알려줍니다. authInfo 는 인증 정보를 얻기 위해 읽을 시크릿을 알려줍니다.

apiVersion: servicecatalog.k8s.io/v1alpha1
kind: Broker
metadata:
  name: ansible-service-broker
spec:
  url: https://asb-1338-openshift-ansible-service-broker.172.17.0.1.nip.io
  authInfo:
    basicAuthSecret:
      namespace: openshift-ansible-service-broker
      name: asb-auth-secret

서비스 카탈로그의 v0.0.17부터 브로커 리소스 구성이 변경됩니다.

apiVersion: servicecatalog.k8s.io/v1alpha1
kind: ServiceBroker
metadata:
  name: ansible-service-broker
spec:
  url: https://asb-1338-openshift-ansible-service-broker.172.17.0.1.nip.io
  authInfo:
    basic:
      secretRef:
        namespace: openshift-ansible-service-broker
        name: asb-auth-secret
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.