카탈로그 또는 공간 레벨에서 제품 가시성 구성

카탈로그 또는 공간에 공개되는 모든 제품의 가시성에 대한 한계를 설정하는 방법입니다.

시작하기 전에

카탈로그 또는 스페이스 수준에서 제품 표시 설정을 구성하려면, 해당 카탈로그 또는 스페이스에 대해 ‘설정 > 관리’ 권한이 부여된 역할에 배정되어 있어야 합니다. 역할에 카탈로그 권한을 할당하는 방법에 대한 자세한 내용은 ‘카탈로그 생성 및 구성’을 참조하십시오.

참고: 달리 지정하지 않는 한, 카탈로그에 대한 이 주제의 모든 참조를 카탈로그의 공간 에 적용할 수도 있습니다. Spaces에 대한 자세한 내용은 ‘ API Connect 에서 피드 사용’을 참조하십시오.

이 태스크에 대한 정보

사용자에 대한 제품의 가용성은 가시성 설정 (제품을 볼 수 있는 사용자를 포함함) 및 등록 가능성 설정 (제품에 등록할 수 있는 사용자를 포함함) 둘 다에 의해 결정됩니다. 드래프트 제품을 작성할 때 일반적으로 제품 문서에서 가시성 및 등록 가능성을 정의합니다. 자세한 내용은 제품의 가시성 지정드래프트 제품 작성 을 참조하십시오.
참고: 제품이 게시된 후에는 API 관리자 UI의 카탈로그에서 해당 제품의 표시 설정 및 구독 가능 여부를 변경할 수 있습니다. 자세한 내용은 ‘제품의 사용 가능 여부 변경’을 참조하십시오.
다음 지침에 설명된 대로, 카탈로그 또는 스페이스 설정을 정의하여 해당 카탈로그나 스페이스에 게시된 모든 제품의 표시 여부를 제어할 수 있습니다. 이 카탈로그 또는 공간 설정을 사용하는 경우 다음 두 가지 용도로 사용할 수 있습니다.
  • 이 설정은 해당 카탈로그 또는 공간에 공개된 제품이 카탈로그 또는 공간 레벨에서 설정된 가시성 한계를 초과하는 가시성 설정을 가질 수 없도록 보장할 수 있습니다.
  • 이 설정은 해당 카탈로그 또는 공간에 공개되는 모든 제품에 대한 기본 가시성 설정으로 사용될 수도 있습니다.
제품을 공개할 때 가시성 설정은 다음 네 가지 위치에서 가져올 수 있습니다.
  1. 제품 대체: 제품을 공개하기 위해 API Manager UI 시퀀스 중에 설정됩니다. 이 설정을 사용하면 드래프트 제품의 가시성 설정을 대체합니다.
  2. 제품 문서; 드래프트 제품에서 설정됩니다.
  3. 카탈로그 또는 공간 설정. 카탈로그 또는 공간에서 제품 가시성이 사용으로 설정되고 제품 대체 또는 제품 문서에서 가시성이 설정되지 않은 경우 카탈로그 또는 공간 가시성 설정이 기본 설정으로 사용됩니다. 이 설정은 게시된 모든 상품이 카탈로그 또는 공간의 공개 범위를 초과하지 않도록 제한하는 리미터 역할도 할 수 있습니다.
  4. 기본 설정입니다. 다른 가시성 설정이 없는 경우 다음 기본 가시성 및 등록 가능성 설정이 사용됩니다.
    visibility: {
        view: {
            enabled: true,
            type: 'public',
            orgs: []
        },
        subscribe: {
            enabled: true,
            type: 'authenticated',
            orgs: []
        }
    }
다음 표는 카탈로그 수준 표시 설정 기능이 활성화된 경우 허용되는 제품 수준 표시 설정을 보여줍니다.
표 1. 카탈로그 수준의 공개 설정과 제품 수준의 공개 설정 간의 관계.
카탈로그 레벨 가시성 설정 제품 레벨 가시성 설정
공용. 공용, 인증됨 또는 사용자 정의.
인증됨. 인증됨 또는 사용자 정의.
사용자 정의. 사용자 정의. 제품 수준의 조직 및 그룹 URL은 카탈로그 수준의 조직 및 그룹 URL에 의해 제한됩니다.
다음 표는 제품 구독 설정이 제품 공개 범위에 따라 어떻게 제한되는지 보여줍니다. 기억해야 할 기본 원칙은, 제품이 구독 서비스로 제공되려면 반드시 사용자에게 노출되어야 한다는 점입니다. 예를 들어, 구독 대상을 authenticated로 설정하려는 경우 가시성 대상은 custom일 수 없습니다.
표 2. 상품 노출 설정과 상품 구독 설정 간의 관계.
제품 가시성 레벨 제품 구독 설정
공용. 인증됨 또는 사용자 정의.
인증됨. 인증됨 또는 사용자 정의.
사용자 정의. 사용자 정의. 제품 구독 조직 및 그룹 URL은 제품 공개 설정에 따른 조직 및 그룹 URL의 제한을 받습니다.
참고:
  • 카탈로그 표시 설정 변경 사항은 향후 게시되는 상품에만 적용됩니다. 이미 공개된 제품은 변경되지 않습니다.
  • 카탈로그 가시성 설정은 허용되는 최대 가시성 레벨을 설정하므로 제품의 가시성에 대한 모든 업데이트는 항상 카탈로그 가시성 설정에 대해 확인됩니다. 따라서 제품 가시성이 카탈로그에서 사용으로 설정되고 제품의 가시성 설정이 카탈로그에서 설정된 것보다 덜 제한적인 경우 해당 카탈로그에 대한 제품 공개가 실패합니다. 예를 들어, 카탈로그 가시성 설정이 authenticated인 경우 해당 카탈로그에 공개되는 제품은 public의 가시성 설정을 가질 수 없습니다.
  • REST API Connect API를 사용하여 카탈로그 표시 설정도 변경할 수 있습니다. 자세한 내용은 REST API Connect API 문서를 참조하십시오.

프로시저

  • API Manager UI를 사용하여 카탈로그 또는 스페이스의 표시 설정(가시성)을 변경하려면 다음 단계를 따르십시오.
    1. 작업할 카탈로그를 엽니다.
    2. ‘카탈로그 설정’ 탭을 클릭하세요.
    3. 측면 탐색 모음에서 ‘제품 노출’을 클릭하세요.
    4. ‘제품 표시’ 토글을 ‘켬 ’으로 설정한 다음 ‘확인’을 클릭하세요.
    5. 카탈로그에 있는 제품을 표시할 대상 조직 또는 그룹을 선택하십시오.
      다음 옵션 중에서 선택할 수 있습니다.
      • 공개 - 모든 사용자가 제품을 볼 수 있습니다.
      • 인증됨 - 인증을 완료한 사용자만 제품을 볼 수 있습니다.
      • 사용 자 지정 - 지정한 소비자 단체 및 그룹에만 제품이 표시됩니다.
    6. 저장을 클릭하십시오.
  • 개발자 툴킷 CLI를 사용하여 카탈로그 또는 공간 가시성 설정을 수정하려면 다음 단계를 완료하십시오.
    1. 다음 명령을 사용하여 제공자 조직의 구성원으로 API Connect 관리 서버에 로그인하십시오.
      apic login --server mgmt_endpoint_url --username user_id --password password --realm provider/identity_provider
      
      여기서,
      • mgmt_endpoint_url은 플랫폼 API 엔드포인트 URL입니다.
      • user_id는 로그인에 사용하려는 사용자 ID입니다. 사용자 ID는 제공자 조직의 구성원이어야 합니다. 이 ID는 API Manager 사용자 인터페이스에 로그인할 때도 사용할 수 있습니다.
      • password 는 제공된 사용자 ID와 연관된 비밀번호입니다.
      • identity_provider는 제공된 사용자 ID를 인증하는 데 사용되는 ID 제공자입니다.
      예를 들어,
      apic login --server platform-api.myserver.com --username myuser --password mypassword --realm provider/myldap
      모든 사용 가능한 ID 제공자의 목록을 보려면 다음 명령을 입력하여 --realm 매개변수에 사용하기 위해 ID 제공자를 판별할 수 있습니다(이 명령을 사용하기 위해 로그인될 필요 없음).
      apic identity-providers:list --scope provider --server platform_api_endpoint_url --fields title,realm
      예를 들면 다음과 같습니다.
      apic identity-providers:list --scope provider --server platform_api_endpoint_url --fields title,realm 
      total_results: 2
      results:
        - title: API Manager User Registry
          realm: provider/default-idp-2
        - title: Corporate LDAP user registry
          realm: provider/corporate-ldap
      title 값은 사용할 ID 제공자를 판별할 수 있게 해야 합니다. 그리고 표시한 realm 값에서 직접 해당하는 --realm 매개변수를 복사할 수 있습니다. 설치 API Connect 후 관리자가 생성한 모든 ID 제공자의 이름은 생성 시점에 결정됩니다. 제공자 조직의 멤버로서 로그인을 위한 기본 API Manager 로컬 사용자 레지스트리는 default-idp-2입니다.

      CLI에서 관리 서버에 로그인하는 방법에 대한 전체 세부사항은 관리 서버에 로그인을 참조하십시오.

    2. 다음 구조로 YAML 파일을 작성하여 가시성 설정을 정의하십시오.
      allowed_product_visibility: {
          view: {
              enabled: true_or_false,
              type: 'visibility_type',
              org_urls: [],
              group_urls: []
          },
          subscribe: {
              enabled: false,
              type: 'authenticated'
          }
      }
      여기서, allowed_product_visibility 특성의 view 섹션에서 다음을 수행하십시오.
      • enabled - true 또는 false로 설정할 수 있습니다. 기본 설정은 false입니다.
        type 설정이 로 설정된 true 경우, 해당 카탈로그나 스페이스에 게시되는 모든 상품의 공개 범위는 이 설정에서 구성된 수준과 동일하거나 더 제한적이어야 합니다. 제품 문서에 가시성이 설정되어 있지 않으면 카탈로그 또는 공간 설정이 공개의 기본값으로 사용됩니다. 항상 카탈로그 또는 공간 설정을 기본값으로 사용하려면 제품 가시성이 설정되지 않았는지 확인해야 합니다.
        참고: 드래프트 제품을 작성 중이고 가시성이 설정되지 않은 경우 샌드박스 카탈로그에 있는 allowed_product_visibility 필드의 값이 기본값으로 사용됩니다.
        false로 설정되면 기능이 사용 안함으로 설정되고 제품 문서에 정의된 제품 가시성 설정이 사용됩니다.
      • type - enabledtrue로 설정된 경우 이 특성은 이 카탈로그 또는 공간에 공개되는 제품의 최대 가시성을 지정합니다. 유효한 설정은 다음과 같습니다:
        • public -모든 사용자가 제품을 볼 수 있습니다.
        • authenticated -제품은 성공적으로 인증된 사용자에게만 표시됩니다.
        • custom - org_urlsgroup_urls에 지정된 이용자 조직 및 그룹에만 제품이 표시됩니다.
      • org_urls - typecustom로 설정된 경우 이 특성은 제품을 표시할 이용자 조직의 URL을 지정합니다. 그렇지 않으면 비워 두십시오.
      • group_urls - typecustom로 설정된 경우 이 특성은 제품을 표시할 이용자 조직 그룹의 URL을 지정합니다. 그렇지 않으면 비워 두십시오.

      subscribe 섹션은 카탈로그 또는 공간 레벨에서 편집할 수 없습니다. 등록 가능성은 제품 문서 subscribe 섹션에 정의되어 있으며 최소한 authenticated만큼 제한적이어야 합니다. 자세한 정보는 제품의 가시성 지정을 참조하십시오.

    3. 다음 명령을 사용하여 카탈로그 설정을 수정하십시오.
      apic catalog-settings:update --server mgmt_endpoint_url --catalog catalog_name --org organization_name filename
      

      여기서 filename2단계에서 작성한 YAML 파일의 이름입니다.

      참고: 카탈로그에 대해 공간이 사용으로 설정된 경우 --space 옵션을 사용하여 공간 레벨에서 가시성 설정을 설정해야 합니다.
    4. 다음 명령을 사용하여 업데이트된 카탈로그 설정을 확인하십시오.
      apic catalog-settings:get --server mgmt_endpoint_url --catalog catalog_name --org organization_name --output -