API로 역할 만들기

<ph type="x-smartling-placeholder"></ph> 현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서.
정보

이 주제에서는 커스텀 역할을 만들고 관리 API를 제공합니다. 또한 API를 통해 역할 할당을 테스트하는 방법도 보여줍니다. ( 자세한 내용은 UI를 참고하세요.)

권한 설정 정보

역할 권한은 관리 UI URI가 아닌 관리 API URI에 설정됩니다. 예를 들어 Edge의 앱 개발자 항목에 PUT, GET 또는 DELETE 권한을 설정하려는 경우 /developers 리소스에 대한 권한을 설정해야 합니다. 개발자용 관리 API 경로: https://api.enterprise.apigee.com/v1/organizations/{org_name}/developers입니다. (권한을 정의할 때 경로에 조직 부분을 포함하지 않아도 됩니다. 이 주제의 관리 API를 호출하므로 권한 범위가 특정 조직으로 지정됩니다. illustrate.)

특정 항목에 대한 권한을 설정할 수도 있습니다. 예를 들면 다음과 같습니다.

  • 개발자 1명에게 권한을 설정하려면 해당 개발자를 사용 설정하세요. /developers/steve@example.com
  • free-api-product와 같은 특정 API 제품의 경우 다음과 같이 설정합니다. 날짜: /apiproducts/free-api-product
  • 특정 환경의 키-값 맵의 경우 /environments/test/keyvaluemaps/fooMap 또는 테스트에 있는 모든 키-값 맵의 /environments/test/keyvaluemaps/* 환경입니다
를 통해 개인정보처리방침을 정의할 수 있습니다.

API를 사용하여 설정하는 권한:

  • 커스텀 역할의 사용자가 관리 API를 만들도록 허용 호출을 허용할 수 있습니다. 예를 들어 특정 역할에서 읽기 전용 액세스를 허용하는 경우 모든 API 프록시에 대해 해당 역할의 사용자는 API 프록시 나열 API를 사용할 수 있지만 API 프록시 API를 만듭니다.
  • 커스텀 역할의 사용자가 관리 UI에서 보고 수행할 수 있는 항목을 결정합니다. 예를 들어 API 프록시에 대한 읽기 전용 액세스 권한이 있으면 API의 +API 프록시 및 삭제 버튼에 대한 액세스가 사용 중지됩니다. 프록시 페이지

권한을 설정할 수 있는 리소스와 경로를 확인하려면 여러 리소스 URL의 관리 API 참조를 살펴보세요.

다음에 대한 전체 참조 정보는 사용자 역할 API를 참조하세요. 역할 관리입니다.

구문 및 우선순위

별표 와일드 카드 (*)를 사용하여 '다음의 모든 항목'을 나타낼 수 있습니다. 할 수 있습니다. 그러나 더 구체적인 권한 (예: /developers/*)을 설정할 경우 해당 권한은 도움이 될 것입니다.

PUT은 권한에서 POST 역할도 합니다.

리소스에 대해 일반 권한과 보다 세부적인 권한을 함께 사용할 수 있습니다. 설정이 상세할수록 권한이 중복되면 우선 적용됩니다. 예를 들어 다음과 같이 가정해 보겠습니다. 권한은 'developeradmin'에서 설정 역할:

  • /developers의 PUT
  • /developers/*에서 다운로드

즉, developeradmin은 다음 작업을 할 수 있습니다.

  • 개발자를 만들되, 특정 개발자나 하위 개체는 업데이트하지 마세요 (예: 해당 경로에 대한 더 구체적인 GET 권한).
  • 개발자 또는 하위 항목을 가져오지만 모든 개발자 목록을 가져올 수는 없습니다.

API로 설정할 수 있는 권한의 전체 목록은 권한 참조를 확인하세요.

'개발'이라는 새 커스텀 역할을 만듭니다.

'development' 만들기 역할을 부여하여 개발자가 API 프록시를 보고, 만들고, 업데이트할 수 있도록 합니다.

$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles -H "Content-type:application/json" -X POST -d'{ "role" : [ { "name" : "development" } ] }'

개발 역할에 권한 추가

전체 Edge 아티팩트 그룹 (예: 모든 /apps, /apis, /apiproducts 등) 및 개별 아티팩트 (예: 특정 앱, API) API 제품)는 GET, PUT, DELETE입니다.

GET을 사용하면 사용자가 API 프록시 구성 파일을 비롯하여 연결된 모든 API를 볼 수 있습니다. 정책, JavaScript, XSLT 파일 등이 포함됩니다. API의 PUT 권한을 사용하면 개발자는 API 프록시의 생성, 수정, 가져오기, 내보내기, 배포 및 배포 취소를 수행합니다.

path 속성은 권한을 설정한 아티팩트를 지정합니다. 예를 들어 /applications, /apps, /apiproducts, /developers 또는 /reports입니다.

curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles/development/permissions -H "Content-type:application/json" -X POST -d'{"path" : "/applications","permissions" : [ "put", "get" ]}'

역할 만들기: 테스트

'테스트' 만들기 품질 엔지니어가 API 프록시 및 그 내용을 볼 수 있도록 하는 역할 (예: 정책 포함)

$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles -H "Content-type:application/json" -X POST -d'{ "role" : [ { "name" : "testing" } ] }'

테스트 역할에 권한 추가

GET을 사용하면 사용자는 API를 볼 수 있습니다. 구성 파일은 물론 관련 정책, JavaScript, XSLT 파일 등이 포함됩니다. 이 권한을 '테스트' Google은 품질 엔지니어가 자신이 보유한 API의 콘텐츠를 있습니다. 하지만 이 역할의 사용자는 생성, 수정, 가져오기, 내보내기, 배포는 할 수 없습니다. 배포를 취소할 수 있습니다

$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles/testing/permissions -H "Content-type:application/json" -X POST -d'{"path" : "/applications","permissions" : [ "get" ]}'

Edge의 온프레미스 설치에 대해 설정해야 하는 최소 권한 집합 다음과 같은 경우에 사용자가 Edge UI에 로그인할 수 있습니다.

{"path" : "/","permissions" : [ "get" ]}
{"path" : "/*","permissions" : [ ]}
{"path" : "/environments","permissions" : [ "get" ]}
{"path" : "/userroles","permissions" : [ "get" ]}

다음 cURL 명령어를 사용하여 이러한 권한을 설정합니다.

curl -H "Content-Type:application/json" -u email:password \
-X POST \
http://<ms-IP>:8080/v1/organizations/{org_name}/userroles/testing/resourcepermissions  \
-d '{
 "resourcePermission" : [ 
   {
    "path" : "/",
    "permissions" : [ "get" ]
   }, 
{
    "path" : "/*",
    "permissions" : []
   },
{
    "path" : "/environments",
    "permissions" : [ "get" ]
   },
   {
    "path" : "/userroles",
    "permissions" : [ "get"]
   }
  ]
}'

여기서 &lt;ms-IP&gt; 에지 관리 서버의 IP 주소 또는 DNS 이름입니다.

테스트 역할에 사용자 추가

사용자에게 사용자 역할을 프로비저닝하려면 다음 안내를 따르세요.

$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/users/justauser@apigee.com/userroles -H "Content-type:application/json" -X POST -d'{"role" : [ {"name" : "testing"} ] }'

사용자로 API 보기

사용자를 가장하고 API에 요청 API 프록시를 볼 수 있는 서비스입니다. 사용자는 API와 해당 콘텐츠를 볼 수 있어야 합니다.
$ curl -u justauser@apigee.com:secret https://api.enterprise.apigee.com/v1/o/{org_name}/apis
$ curl -u justauser@apigee.com:secret https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/policies

테스트 역할의 사용자로 API 만들기

사용자를 가장하고 API 서비스에 API 프록시를 만들도록 요청합니다. 요청 'testing'이라는 역할로 인해 API 서비스에서 거부됩니다. 는 사용자가 API에 액세스할 수 있습니다

$ curl -u justauser@apigee.com:secret -H "Content-Type: application/json" https://api.enterprise.apigee.com/v1/o/{org_name}/apis -X POST -d'{"name" : "rbacTestApi"}'

개발 역할에 사용자 추가

이제 사용자에게 'development' 역할을 수행합니다

$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/users/justauser@apigee.com/userroles -H "Content-type:application/json" -X POST -d'{"role" : [ {"name" : "development"} ] }'

개발 역할의 사용자로 API 만들기

사용자를 가장하고 API 플랫폼에 대한 요청을 반복하여 API 프록시를 만듭니다. 이 'development' 역할이 있으므로 사용자가 API를 만들 수 있습니다.

$ curl -u justauser@apigee.com:secret -H "Content-Type: application/json" https://api.enterprise.apigee.com/v1/o/{org_name}/apis -X POST -d'{"name" : "rbacTestApi"}'

사용자의 사용자 역할 가져오기

조직 관리자는 사용자 역할 목록을 확인할 수 있습니다. 언제든지 다음 단계를 따르세요.

$ curl -u email:password -X GET https://api.enterprise.apigee.com/v1/users/justauser@apigee.com/userroles