7.7.2.3. 컨트롤러 및 SecurityContextConstraints 복제


배포 또는 데몬 세트와 같은 컨트롤러를 복제하기 위한 SELinux 정책을 배포할 때 컨트롤러에서 생성한 Pod 오브젝트는 워크로드를 생성하는 사용자의 ID로 실행되지 않습니다. ServiceAccount 를 선택하지 않으면 사용자 정의 보안 정책 사용을 허용하지 않는 restricted SCC( SecurityContextConstraints )를 사용하여 Pod가 되돌릴 수 있습니다.

프로세스

  1. 다음 명령을 실행하여 프로젝트를 생성합니다.

    $ oc new-project nginx-secure
  2. 다음 RoleBinding 오브젝트를 생성하여 nginx-secure 네임스페이스에서 SELinux 정책을 사용할 수 있습니다.

    kind: RoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: spo-nginx
      namespace: nginx-secure
    subjects:
    - kind: ServiceAccount
      name: spo-deploy-test
    roleRef:
      kind: Role
      name: spo-nginx
      apiGroup: rbac.authorization.k8s.io
  3. Role 오브젝트를 생성합니다.

    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      creationTimestamp: null
      name: spo-nginx
      namespace: nginx-secure
    rules:
    - apiGroups:
      - security.openshift.io
      resources:
      - securitycontextconstraints
      resourceNames:
      - privileged
      verbs:
      - use
  4. ServiceAccount 오브젝트를 생성합니다.

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      creationTimestamp: null
      name: spo-deploy-test
      namespace: nginx-secure
  5. Deployment 오브젝트를 생성합니다.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: selinux-test
      namespace: nginx-secure
      metadata:
        labels:
          app: selinux-test
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: selinux-test
      template:
        metadata:
          labels:
            app: selinux-test
        spec:
          serviceAccountName: spo-deploy-test
          securityContext:
            seLinuxOptions:
              type: nginx-secure.process 
    1
    
          containers:
          - name: nginx-unpriv
            image: quay.io/security-profiles-operator/test-nginx-unprivileged:1.21
            ports:
            - containerPort: 8080
    1
    배포가 생성되기 전에 .seLinuxOptions.type 이 있어야 합니다.
    참고

    SELinux 유형은 워크로드에 지정되지 않으며 SCC에서 처리합니다. 배포 및 ReplicaSet 을 통해 Pod를 생성하면 Pod가 적절한 프로필과 함께 실행됩니다.

올바른 서비스 계정에서만 SCC를 사용할 수 있는지 확인합니다. 자세한 내용은 추가 리소스를 참조하십시오.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동