8.13. 사용자 정의 리소스를 배포하여 3scale API Management 개발자 관리
3scale 관리자는 CR(사용자 정의 리소스)을 사용하여 개별 개발자 사용자를 그룹화하는 개발자 계정을 배포할 수 있습니다. 이러한 계정을 사용하면 개발자 포털의 3scale 관리 API에 대한 개발자 액세스를 구성하고 관리할 수 있습니다.
테넌트는 원하는 수의 개발자 계정을 포함할 수 있으며 각 개발자 계정은 정확히 하나의 테넌트에 연결됩니다. 개발자 계정은 원하는 수의 개발자 사용자를 포함할 수 있으며 각 개발자 사용자는 정확히 하나의 개발자 계정에 연결됩니다. 테넌트 계획에 따라 생성할 수 있는 개발자 계정 수와 각 개발자 계정에서 그룹화할 수 있는 개발자 사용자 수에 대한 제한이 결정됩니다.
개발자 사용자 정의 리소스를 사용하려면 3scale Operator에 의해 3scale이 설치되어 있어야 합니다. 3scale Operator가 포함된 네임스페이스에만 개발자 사용자 정의 리소스를 배포할 수 있습니다. 개발자 사용자 정의 리소스의 배포는 3scale 관리 포털 또는 3scale 내부 API를 사용하여 개발자를 관리하는 대안입니다.
사용자 정의 리소스를 배포하여 개발자 계정 또는 개발자 사용자를 생성할 때 관리 포털 또는 내부 3scale API를 사용하여 해당 개발자 계정 또는 개발자 사용자를 업데이트할 수 없습니다. 개발자 CR을 배포한 후 관리 포털에 새 개발자 계정 또는 계정 페이지에 새 개발자 사용자가 표시되므로 이를 인식하는 것이 중요합니다. 관리 포털 또는 API를 사용하여 CR과 함께 배포된 개발자 계정 또는 개발자 사용자를 업데이트하려고 하면 3scale Operator가 배포된 CR을 반영하도록 변경 사항을 되돌립니다. 이는 향후 릴리스에서 제거될 것으로 예상되는 제한 사항입니다. 그러나 관리 포털 또는 API를 사용하여 CR을 배포하여 생성한 개발자 계정 또는 개발자 사용자를 삭제할 수 있습니다.
8.13.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
- 3scale은 3scale Operator에 의해 설치되었습니다.
-
계정 관리API 범위에서 읽기 및 쓰기 권한이 있는 액세스 토큰으로 3scale에 대한 관리자 권한을 제공합니다.
8.13.2. DeveloperAccount 사용자 정의 리소스를 배포하여 3scale API Management 개발자 계정 관리 링크 복사링크가 클립보드에 복사되었습니다!
3scale Operator를 사용하여 3scale을 설치할 때 DeveloperAccount 및 DeveloperUser CR(사용자 정의 리소스)을 배포할 수 있습니다. 이러한 사용자 정의 리소스를 사용하면 개발자 포털의 3scale 관리 API에 대한 개발자 액세스를 위한 계정을 생성하고 업데이트할 수 있습니다.
새 DeveloperAccount CR을 배포하려면 admin 역할이 있는 사용자에 대해 DeveloperUser CR도 배포해야 합니다. 여기에서 제공되는 절차는 새 DeveloperAccount CR을 배포하는 것입니다. DeveloperAccount CR을 배포한 후 업데이트 또는 삭제하는 절차는 다른 CR과 동일합니다.
3scale Operator가 포함된 네임스페이스에서만 사용자 정의 리소스를 배포할 수 있습니다.
사전 요구 사항
- 3scale API Management Operator가 사용자 정의 리소스가 연결되는 테넌트를 식별하는 방법에 대한 이해.
동일한 네임스페이스에 있는 3scale 인스턴스의 기본 테넌트에 연결되지 않는
CR을 생성하는 경우 DeveloperAccount CR이 포함된 네임스페이스에DeveloperAccountDeveloperAccountCR이 연결된 테넌트를 식별하는 시크릿이 포함됩니다. 보안 이름은 다음 중 하나입니다.-
threescale-provider-account - 사용자 정의
이 시크릿에는 3scale 인스턴스의 URL과 해당 3scale 인스턴스에서 하나의 테넌트에 액세스할 수 있는 인증 정보가 포함된 토큰이 포함되어 있습니다.
-
-
새
DeveloperAccountCR에admin역할을 갖는 하나 이상의 developer 사용자의 사용자 이름, 암호 및 이메일 주소가 있습니다.
프로세스
3scale Operator가 포함된 네임스페이스에서 새 개발자 계정 리소스에
admin역할이 있는 개발자의 사용자 이름과 암호가 포함된 시크릿을 정의하는 리소스 파일을 생성하고 저장합니다. 예를 들어myusername01.yaml파일에는 다음이 포함될 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 시크릿을 생성합니다. 예를 들면 다음과 같습니다.
oc create -f myusername01.yaml
$ oc create -f myusername01.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 지정된 예에서 출력은 다음과 같습니다.
secret/myusername01 created
$ secret/myusername01 createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow admin역할이 있는 개발자의DeveloperUserCR을 정의하는.yaml파일을 생성하고 저장합니다. 이DeveloperUserCR은 3scale Operator에서 새DeveloperAccountCR을 배포하는 데 필요합니다. 예를 들어developeruser01.yaml파일에는 다음이 포함될 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow DeveloperUserCR에서 다음을 수행합니다.-
개발자 계정 이름, 사용자 이름, 이메일은
DeveloperAccount가 포함된 테넌트에서 고유해야 합니다. -
여기에서 지정하는 개발자 계정 이름은 이 절차에 배포하는
DeveloperAccountCR의 이름과 일치해야 합니다. 이DeveloperUserCR을 생성하기 전이나 후에DeveloperAccountCR을 생성하는지 여부는 중요하지 않습니다. -
DeveloperUserCR이 링크하는 테넌트는 지정된DeveloperAccountCR과 동일한 테넌트여야 합니다.
-
개발자 계정 이름, 사용자 이름, 이메일은
방금 정의한 리소스를 생성합니다. 예를 들면 다음과 같습니다.
oc create -f developeruser01.yaml
$ oc create -f developeruser01.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 지정된 예에서 출력은 다음과 같습니다.
developeruser.capabilities.3scale.net/developeruser01 created
$ developeruser.capabilities.3scale.net/developeruser01 createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow DeveloperAccountCR을 정의하는.yaml파일을 생성하고 저장합니다. 이.yaml파일에서spec.OrgName필드는 조직 이름을 지정해야 합니다. 예를 들어developeraccount01.yaml파일에는 다음이 포함될 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 방금 정의한 리소스를 생성합니다. 예를 들면 다음과 같습니다.
oc create -f developeraccount01.yaml
$ oc create -f developeraccount01.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 지정된 예에서 출력은 다음과 같습니다.
developeraccount.capabilities.3scale.net/developeraccount01 created
$ developeraccount.capabilities.3scale.net/developeraccount01 createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 단계
3scale Operator가 새 사용자 정의 리소스를 반영하도록 3scale 구성을 업데이트하는 데 몇 초가 걸립니다. Operator가 사용자 정의 리소스 정보를 성공적으로 전파하는지 확인하려면 DeveloperAccount CR status 필드를 확인하거나 oc wait 명령을 실행합니다. 예를 들면 다음과 같습니다.
oc wait --for=condition=Ready --timeout=30s developeraccount/developeraccount1
$ oc wait --for=condition=Ready --timeout=30s developeraccount/developeraccount1
오류가 발생하는 경우 사용자 정의 리소스의 상태 필드는 오류가 일시적인지 여부를 나타내며 문제를 해결하는 데 도움이 되는 오류 메시지를 제공합니다.
새 개발자 사용자에게 개발자 포털에 로그인할 수 있음을 알립니다. 또한 로그인 자격 증명을 전달해야 할 수도 있습니다.
배포된 DeveloperAccount CR을 다른 사용자 정의 리소스를 업데이트하는 것과 동일한 방식으로 업데이트할 수 있습니다. 예를 들어 업데이트하려는 DeveloperAccount CR을 소유한 테넌트가 포함된 OpenShift 프로젝트에서 다음 명령을 실행하여 devaccount1 CR을 업데이트합니다.
oc edit developeraccount devaccount1
$ oc edit developeraccount devaccount1
8.13.3. DeveloperUser 사용자 정의 리소스를 배포하여 3scale API Management 개발자 사용자 관리 링크 복사링크가 클립보드에 복사되었습니다!
3scale Operator를 사용하여 3scale을 설치할 때 개발자 포털의 3scale 관리 API에 대한 개발자 액세스를 관리하기 위해 DeveloperUser CR(사용자 정의 리소스)을 배포할 수 있습니다. 여기에서 제공되는 절차는 새 DeveloperUser CR을 배포하는 것입니다. DeveloperUser CR을 배포한 후 업데이트 또는 삭제하는 절차는 다른 CR과 동일합니다.
3scale Operator가 포함된 네임스페이스에서만 CR을 배포할 수 있습니다.
사전 요구 사항
- 3scale Operator가 사용자 정의 리소스가 연결되는 테넌트를 식별하는 방법에 대한 이해.
admin역할이 있는 사용자에 대해 하나 이상의 배포된DeveloperUserCR을 포함하는 배포된DeveloperAccountCR이 하나 이상 있습니다. 동일한 네임스페이스에 있는 3scale 인스턴스의 기본 테넌트에 연결되지 않는CR을 생성하는 경우 DeveloperUser CR을 포함할 네임스페이스에DeveloperUserDeveloperUserCR이 연결된 테넌트를 식별하는 시크릿이 포함됩니다. 보안 이름은 다음 중 하나입니다.-
threescale-provider-account - 사용자 정의
이 시크릿에는 3scale 인스턴스의 URL과 해당 3scale 인스턴스에서 하나의 테넌트에 액세스할 수 있는 인증 정보가 포함된 토큰이 포함되어 있습니다.
-
-
새
DeveloperUserCR의 경우 해당 개발자의 사용자 이름, 암호 및 이메일 주소가 있습니다.
프로세스
3scale Operator가 포함된 네임스페이스에서 개발자 사용자의 사용자 이름과 암호가 포함된 보안을 정의하는 리소스 파일을 생성하고 저장합니다. 예를 들어
myusername02.yaml파일에는 다음이 포함될 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 시크릿을 생성합니다. 예를 들면 다음과 같습니다.
oc create -f myusername02.yaml
$ oc create -f myusername02.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 지정된 예에서 출력은 다음과 같습니다.
secret/myusername02 created
$ secret/myusername02 createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow DeveloperUserCR을 정의하는.yaml파일을 생성하고 저장합니다.spec.role필드에서admin또는member를 지정합니다. 예를 들어developeruser02.yaml파일에는 다음이 포함될 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow DeveloperUserCR에서 다음을 수행합니다.-
개발자 사용자 이름(
metadata.name필드에서 지정됨), 사용자 이름 및 이메일은DeveloperAccount가 포함된 사용자가 연결되는 테넌트에서 고유해야 합니다. -
developerAccountRef필드는 배포된DeveloperAccountCR의 이름을 지정해야 합니다. -
DeveloperUserCR이 링크하는 테넌트는 지정된DeveloperAccountCR과 동일한 테넌트여야 합니다.
-
개발자 사용자 이름(
방금 정의한 리소스를 생성합니다. 예를 들면 다음과 같습니다.
oc create -f developefuser02.yaml
$ oc create -f developefuser02.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 지정된 예에서 출력은 다음과 같습니다.
developeruser.capabilities.3scale.net/developeruser02 created
$ developeruser.capabilities.3scale.net/developeruser02 createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 단계
3scale Operator가 새 사용자 정의 리소스를 반영하도록 3scale 구성을 업데이트하는 데 몇 초가 걸립니다. Operator가 사용자 정의 리소스 정보를 성공적으로 전파하는지 확인하려면 DeveloperUser CR status 필드를 확인하거나 oc wait 명령을 실행합니다. 예를 들면 다음과 같습니다.
oc wait --for=condition=Ready --timeout=30s developeruser/developeruser02
$ oc wait --for=condition=Ready --timeout=30s developeruser/developeruser02
오류가 발생하는 경우 사용자 정의 리소스의 상태 필드는 오류가 일시적인지 여부를 나타내며 문제를 해결하는 데 도움이 되는 오류 메시지를 제공합니다.
새 개발자 사용자에게 개발자 포털에 로그인할 수 있음을 알립니다. 또한 로그인 자격 증명을 전달해야 할 수도 있습니다.
배포된 DeveloperUser CR을 다른 사용자 정의 리소스를 업데이트하는 것과 동일한 방식으로 업데이트할 수 있습니다.
8.13.4. DeveloperAccount 또는 DeveloperUser 사용자 정의 리소스 삭제 링크 복사링크가 클립보드에 복사되었습니다!
이를 관리하는 CR(사용자 정의 리소스)을 삭제하여 3scale 개발자 엔터티를 삭제할 수 있습니다. CR을 삭제하면 3scale Operator도 삭제된 DeveloperAccount CR에 연결되는 DeveloperAccount DeveloperUser CR도 삭제합니다.
사용자 정의 리소스에서 정의한 개발자 계정 또는 개발자 사용자를 삭제하는 유일한 방법은 여기에 설명된 절차를 따르는 것입니다. 사용자 정의 리소스로 배포된 개발자 엔터티를 삭제하는 데 관리 포털이나 3scale API를 사용하지 마십시오.
사전 요구 사항
3scale 관리자 권한 또는 삭제하려는 사용자 정의 리소스가 포함된 네임스페이스에 삭제 권한이 있는 OpenShift 역할입니다. 특정 사용자 정의 리소스를 삭제할 수 있는지 확인하려면
oc auth can-i delete명령을 실행합니다. 예를 들어DeveloperAccountCR의 이름이devaccount1인 경우 다음 명령을 실행합니다.oc auth can-i delete developeraccount.capabilities.3scale.net/devaccount1 -n my-namespace
$ oc auth can-i delete developeraccount.capabilities.3scale.net/devaccount1 -n my-namespaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
삭제할
DeveloperAccount또는DeveloperUserCR은 유효한 테넌트에 대한 링크입니다.
프로세스
사용자 정의 리소스가 연결된 테넌트가 포함된 OpenShift 프로젝트에서
oc delete명령을 실행하여DeveloperAccount또는DeveloperUserCR을 삭제합니다. 예를 들어devaccount1.yaml파일에 정의된DeveloperAccountCR을 배포한 경우 다음 명령을 실행합니다.oc delete -f devaccount1.yaml
$ oc delete -f devaccount1.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 또는
oc delete명령을 실행하고 정의에 지정된 대로 CR의 이름을 지정할 수 있습니다. 예를 들면 다음과 같습니다.oc delete developeraccount.capabilities.3scale.net/devaccount1
$ oc delete developeraccount.capabilities.3scale.net/devaccount1Copy to Clipboard Copied! Toggle word wrap Toggle overflow