서비스 바인딩에 대한 액세스 구성
Code Engine 의 서비스 바인딩은 서비스 ID를 사용하여 IBM Cloud 서비스에 액세스합니다. 서비스 ID에는 Code Engine 프로젝트를 대신하여 서비스 인스턴스와 통신하기 위한 자격 증명이 포함되어 있습니다. 서비스 인스턴스를 Code Engine 워크로드에 바인딩하려면 먼저 Code Engine 에서 자동으로 서비스 ID를 생성하고 관리하도록 할 것인지 아니면 사용자가 관리하는 서비스 ID를 사용할 것인지에 따라 바인딩에 대한 액세스를 구성해야 합니다.
프로젝트의 모든 사용자가 서비스 바인딩을 작성하고 삭제할 수 있도록 프로젝트를 구성하는 데 관심이 있습니까? 충분한 권한이 있으면 콘솔의 프로젝트 통합 페이지를 사용하여 단일 페이지에서 서비스 바인딩 조작을 구성할 수 있습니다. 이러한 조치를 수행할 수 있는 충분한 권한이 없는 경우 이 페이지를 사용하여 필수 권한을 이해할 수 있습니다. 프로젝트 전체 설정 구성 을 참조하십시오.
앱, 작업 또는 기능을 특정 IBM Cloud 서비스 인스턴스에 바인드하기 전에 자체 서비스 ID를 작성하고 관리 할지 또는 Code Engine 가 자동으로 서비스 ID를 작성하고 관리하도록 할지 여부를 판별하십시오. 선택사항에 따라 적절한 액세스 정책을 지정하십시오. Code Engine 는 프로젝트당 하나의 서비스 ID를 사용하여 서비스 바인딩에 대해 작업합니다.
-
Code Engine 가 자동으로 서비스 ID를 작성하고 관리하도록 하려면 기본 서비스 바인딩 액세스 정책 을 구성하십시오. Code Engine 프로젝트와 함께 사용되는 IBM Cloud 계정에 적절한 액세스 정책이 지정되었는지 확인하십시오.
- Code Engine 프로젝트가 바인드하려는 서비스 인스턴스와 동일한 리소스 그룹에 있는 경우 기본 서비스 바인딩 액세스 정책 을 구성해야 합니다.
- Code Engine 프로젝트가 바인드하려는 서비스 인스턴스와 다른 리소스 그룹에 있는 경우, 서비스 바인딩을 위한 서비스 ID를 자동으로 작성하고 관리하려면 Code Engine 에 대한 기본 서비스 바인딩 액세스 정책 을 구성해야 하며 다른 리소스 그룹에서 서비스를 바인드하도록 프로젝트를 구성 해야 합니다.
-
액세스 정책을 더 제어하려면 서비스 인스턴스에 구성된 서비스 바인딩에 사용자 정의 서비스 ID를 사용 하도록 선택할 수 있습니다. 이 경우 사용자 정의 서비스 ID에 액세스 정책을 지정하십시오. 사용자 정의 서비스 ID를 사용하도록 프로젝트를 구성해야 합니다.
기본 서비스 바인딩 액세스 정책 사용
기본적으로 Code Engine 는 프로젝트에서 사용되는 계정에 충분한 권한이 있는 경우 Code Engine 프로젝트의 리소스 그룹에 있는 모든 서비스에 액세스하기 위한 서비스 ID를 자동으로 작성합니다. 서비스 ID는 첫 번째 서비스 바인딩 조작 중에 작성됩니다.
Code Engine 프로젝트가 바인드하려는 서비스 인스턴스와 동일한 리소스 그룹에 있을 때 기본 서비스 바인딩 액세스 정책을 사용하려면 서비스 바인딩을 위한 서비스 ID를 자동으로 작성하고 관리하도록 Code Engine 에 대한 액세스를 구성하십시오.
서비스 바인딩에 대한 서비스 ID를 자동으로 작성하고 관리하도록 Code Engine 에 대한 액세스 구성
서비스 인스턴스가 Code Engine 프로젝트와 동일한 리소스 그룹에 있고 Code Engine 가 사용자를 위해 서비스 바인딩에 대한 서비스 ID를 자동으로 작성하고 관리하도록 하려면 Code Engine 계정에 Writer 서비스 액세스 및 Operator 플랫폼이 있어야 합니다. 최소.
계정에 설정된 이러한 권한을 사용하여 서비스 바인딩을 작성할 때 Code Engine 는 Code Engine 프로젝트의 리소스 그룹에 있는 모든 서비스에 대해 Operator 및 Manager 액세스 권한이 있는 서비스 ID를 확인하고 자동으로 설정합니다. Code Engine 는 이 서비스 ID를 사용하여 서비스 바인딩으로 IBM Cloud 서비스에 액세스합니다.
Code Engine 가 프로젝트의 서비스 바인딩에 사용되는 서비스 ID를 작성할 때마다 이 서비스 ID는 동일한 프로젝트 내의 후속 서비스 바인딩에서 재사용됩니다. project update CLI 명령을 실행하여 다른 리소스 그룹의 서비스를 바인드하도록 프로젝트를 구성 하거나 project update CLI 명령을 실행하여
Code Engine 서비스 바인딩에 대한 액세스 권한이 있는 사용자 정의 서비스 ID를 사용 하지 않는 한,
예를 들어, Code Engine 가 IBM Cloudant 서비스 인스턴스의 서비스 바인딩에 대한 서비스 ID를 자동으로 작성하고 관리하도록 한다고 가정합니다. 또한 Code Engine 프로젝트 및 IBM Cloudant 서비스 인스턴스와 함께 사용되는 my-user 계정이 모두 동일한 리소스 그룹에 있다고 가정합니다.
다음 단계에서는 Code Engine 가 my-user 의 서비스 바인딩에 대한 서비스 ID를 자동으로 작성하고 관리할 수 있도록 필수 액세스 권한을 설정하는 한 가지 방법을 설명합니다. 서비스 인스턴스의 계정 소유자는 다음 단계를 완료하여 my-user 에 대한 권한을 지정합니다.
-
Code Engine 서비스 바인딩을 작성하는 사용자의 IAM 리소스 그룹을 작성 하십시오.
- 액세스(IAM)개요를 실행하십시오.
- 관리 > 계정 > 자원 그룹 > 자원 그룹 작성을 선택하십시오.
- 자원 그룹을 작성하십시오 (예:
CodeEngine_servicebindings_resourcegroup).
-
동일한 리소스 그룹에서 바인드하려는 서비스 인스턴스를 작성하십시오. 이 예제의 경우
CodeEngine_servicebindings_resource group리소스 그룹에서 IBM Cloudant 서비스 인스턴스를 작성하십시오. -
Code Engine 서비스 바인딩을 작성하는 사용자의 IAM 액세스 그룹을 작성 하십시오.
-
액세스(IAM)개요를 실행하십시오.
-
관리 > 액세스 (IAM) > 액세스 그룹을 선택하십시오.
-
그룹을 작성하십시오 (예:
CodeEngine_servicebindings_accessgroup). -
이 새 액세스 그룹 내에서 액세스 탭을 클릭하고 액세스 그룹에 다음 두 개의 액세스 정책을 지정하십시오. 첫 번째 액세스 정책의 경우,
- 서비스의 경우,
All Identity and Access enabled services을 선택하십시오. - 자원의 경우 이전 단계에서 작성한 특정 자원 그룹을 선택하십시오 (예:
CodeEngine_servicebindings_resourcegroup). - 리소스 그룹 액세스의 경우
Viewer를 선택하십시오. - 역할 및 조치의 경우
Administrator의 플랫폼 액세스를 선택하십시오. - 추가 를 클릭하여 이 액세스 그룹에 액세스 정책을 추가하십시오.
- 서비스의 경우,
-
이 액세스 그룹에 대한 두 번째 액세스 정책을 지정하십시오.
- 서비스의 경우,
Code Engine을 선택하십시오. - 자원의 경우 이전 단계에서 작성한 특정 자원 그룹을 선택하십시오 (예:
CodeEngine_servicebindings_resourcegroup). - 리소스 그룹 액세스의 경우
Viewer를 선택하십시오. - 역할 및 조치의 경우
Writer의 서비스 액세스 및Operator의 플랫폼 액세스를 선택하십시오. - 추가 를 클릭하여 이 액세스 그룹에 액세스 정책을 추가하십시오.
- 서비스의 경우,
-
지정 을 클릭하여 이 액세스 그룹에 액세스 정책을 지정하십시오.
-
-
my-user사용자를 이 액세스 그룹에 추가하십시오.
이제 Code Engine 에서 서비스 바인딩을 작성할 준비가 되었습니다. 여기서 Code Engine 는 지정된 서비스 인스턴스에 대한 서비스 인증 정보를 작성할 수 있는 충분한 권한으로 서비스 ID를 자동으로 작성합니다. 서비스 인스턴스를 앱, 작업 또는 기능 워크로드에 바인드 를 참조하십시오.
다른 리소스 그룹의 서비스를 바인드하도록 프로젝트 구성
기본적으로 Code Engine 는 프로젝트에서 사용되는 계정에 충분한 권한이 있는 경우 Code Engine 프로젝트의 리소스 그룹에 있는 모든 서비스에 액세스하기 위한 서비스 ID를 자동으로 작성합니다. 서비스 ID는 첫 번째 서비스 바인딩 조작 중에 작성됩니다.
그러나 Code Engine 워크로드에 바인드할 IBM Cloud 서비스 인스턴스가 워크로드에 대한 Code Engine 프로젝트의 리소스 그룹과 다른 리소스 그룹에 있고 Code Engine 가 사용자의 서비스 바인딩에 대한 서비스 ID를 자동으로 작성하고 관리하도록 하려는 경우, 서비스 바인딩을 작성하기 전에 다음 조치를 완료해야 합니다.
- 서비스 바인딩에 대한 서비스 ID를 자동으로 작성하고 관리하도록 Code Engine 에 대한 액세스를 구성하십시오.
- 다른 리소스 그룹의 서비스 인스턴스에 액세스하도록 프로젝트를 업데이트하십시오.
예를 들어, Code Engine 프로젝트가 Default 리소스 그룹에 있고 dev 리소스 그룹에 있는 서비스 인스턴스에 바인드하려는 경우, Code Engine 가 다른 리소스 그룹의 서비스 인스턴스에 액세스할 수 있도록 Code Engine 프로젝트를 업데이트해야 합니다.
다른 리소스 그룹의 서비스 인스턴스에 액세스하도록 프로젝트 업데이트
바인드할 리소스가 다른 리소스 그룹에 있는 경우 다른 리소스 그룹의 리소스에 액세스할 수 있도록 CLI를 사용하여 Code Engine 프로젝트를 구성하십시오. ibmcloud ce project update 명령을 사용하고 --binding-resource-group 옵션을 지정하여 리소스 그룹의 모든 서비스 인스턴스에 대한 서비스 바인딩 액세스를 위해 Code Engine 프로젝트를 구성하십시오. 이 명령은 Code Engine 프로젝트에 바인드할 수 있는 리소스 그룹을 알립니다. CLI를 사용하여 다른 리소스 그룹에만 서비스를 바인드하도록 프로젝트를 업데이트할 수 있습니다.
이 project update 명령은 현재 컨텍스트로 선택된 프로젝트 내에서 작동합니다. 명령을 사용하기 전에 project update 명령을 사용하기 전에 원하는 프로젝트에 있는지 확인하세요. ibmcloud ce project current 명령을 사용하여 현재 대상으로 지정된 프로젝트의 세부사항을 표시하십시오. 필요한 경우, ibmcloud ce project select 명령을 사용하여 프로젝트를 현재 컨텍스트로 선택하십시오.
-
Default 리소스 그룹에 있는 모든 서비스 인스턴스의 서비스 바인딩 액세스를 구성하려면 다음 명령을 사용하십시오.
ibmcloud ce project update --binding-resource-group Default -
리소스 그룹의 ID를 지정하여 리소스 그룹의 모든 서비스 인스턴스에 대한 서비스 바인딩 액세스를 구성하려면 다음을 수행하십시오.
ibmcloud ce project update --binding-resource-group-id abcdabcdabcdabcdabcdabcdabcdabcd자원 그룹 ID를 포함하여 자원 그룹의 목록을 가져오려면
ibmcloud resource groups를 실행하십시오. -
모든 리소스 그룹에 속한 모든 서비스 인스턴스에 대한 서비스 바인딩 액세스를 구성하려면:
ibmcloud ce project update --binding-resource-group "*"
다음 project update 명령을 실행하면 프로젝트에 대한 서비스 ID가 생성되며, 이 ID는 현재 프로젝트의 서비스 바인딩을 구성하는 데 사용됩니다. 이 서비스 ID를 작성할 수 있는 권한이 없는 경우 프로젝트에서 서비스 바인딩에 대해 작업할 준비가 되지 않았다는 오류를 수신합니다. 계정 관리자에게 액세스 정책에 대해 문의하거나 관리자에게 Code Engine 에 대한 액세스를 구성하여 서비스 바인딩에 대한 서비스 ID를 자동으로 작성하고 관리 하도록 요청하십시오.
서비스 바인딩에 사용자 정의 서비스 ID 사용
액세스 정책 또는 리소스 그룹에 대한 추가 제어를 원하는 경우 서비스 인스턴스에 대한 사용자 정의 서비스 ID를 작성할 수 있습니다.
계정 소유자가 서비스 바인딩을 위한 서비스 ID를 자동으로 작성하고 관리하기 위해 Code Engine 에 필요한 리소스 그룹 내의 모든 ID및 액세스 사용 서비스 에 대한 Administrator 액세스 권한을 사용자에게 부여하지 않으려는 경우 조직에서 특정 서비스 인스턴스에 액세스하기 위해 사용자 정의 서비스 ID를 사용하도록 선택할 수 있습니다. 계정 소유자는 특정 서비스
유형 또는 서비스 인스턴스에 대한 사용자 액세스의 범위를 지정할 수 있습니다. 이 경우 사용자 정의 서비스 ID가 이 제어를 제공합니다.
서비스 바인딩에 사용자 정의 서비스 ID를 사용하려면 다음을 수행하십시오.
Code Engine 서비스 바인딩에 대한 액세스 권한이 있는 사용자 정의 서비스 ID 작성
사용자 정의 서비스 ID를 사용하는 경우 이 서비스 ID가 서비스 바인딩에 대한 서비스 신임 정보를 작성할 수 있도록 사용자 정의 서비스 ID Operator 플랫폼 액세스 권한을 부여해야 합니다.
예를 들어, Code Engine 워크로드를 IBM Cloudant 서비스 인스턴스에 바인드하기 위해 서비스 바인딩을 작성한다고 가정합니다. 그러나 사용자에게 리소스 그룹 내의 모든 모든 ID및 액세스 사용 서비스 에 대한 Administrator 액세스 권한을 부여하지는 않으려고 합니다. 그러나 사용자에게 IBM Cloudant의 특정 인스턴스에 대한 액세스 권한을 부여하려고
합니다.
다음 단계에서는 Code Engine 가 my-user 에 대한 서비스 바인딩을 작성할 수 있도록 필수 액세스 권한으로 사용자 정의 서비스 ID를 설정하는 한 가지 방법을 설명합니다. 서비스 인스턴스의 계정 소유자는 다음 단계를 완료하여 사용자 정의 서비스 ID를 작성합니다.
-
Code Engine 서비스 바인딩을 작성하는 사용자의 IAM 리소스 그룹을 작성 하십시오.
- 액세스(IAM)개요를 실행하십시오.
- 관리 > 계정 > 자원 그룹 > 자원 그룹 작성을 선택하십시오.
- 자원 그룹을 작성하십시오 (예:
CodeEngine_servicebindings_resourcegroup).
-
동일한 리소스 그룹에서 바인드하려는 서비스 인스턴스를 작성하십시오. 이 예제의 경우
CodeEngine_servicebindings_resource group리소스 그룹에서 IBM Cloudant 서비스 인스턴스를 작성하십시오. -
Code Engine 서비스 바인딩을 작성하는 사용자의 IAM 액세스 그룹을 작성 하십시오.
- 액세스(IAM)개요를 실행하십시오.
- 관리 > 액세스 (IAM) > 액세스 그룹을 선택하십시오.
- 그룹을 작성하십시오 (예:
CodeEngine_servicebindings_accessgroup). - 이 새 액세스 그룹 내에서 액세스 탭을 클릭하고 Code Engine 서비스에 대해 다음 액세스 정책을 지정하십시오.
- 서비스에 대해 Code Engine 을 선택하십시오.
- 자원의 경우 이전 단계에서 작성한 특정 자원 그룹을 선택하십시오 (예:
CodeEngine_servicebindings_resourcegroup). - 리소스 그룹 액세스의 경우
Viewer를 선택하십시오. - 역할 및 조치의 경우
Writer의 서비스 액세스 및Operator의 플랫폼 액세스를 선택하십시오. - 추가 를 클릭하여 이 액세스 그룹에 액세스 정책을 추가하십시오.
- 지정 을 클릭하여 이 액세스 그룹에 액세스 정책을 지정하십시오.
- 동일한 리소스 그룹에서 바인드하려는 서비스 인스턴스를 작성하십시오. 이 예제의 경우
CodeEngine_servicebindings_resource group리소스 그룹에서 IBM Cloudant 서비스 인스턴스를 작성하십시오.
-
my-user사용자를 이 액세스 그룹에 추가하십시오. -
바인드할 서비스 인스턴스의 서비스 ID를 작성하십시오.
- 액세스(IAM)개요를 실행하십시오.
- 관리 > 액세스 (IAM) > 서비스 ID 를 선택하십시오.
- 서비스 ID를 작성하십시오 (예:
CodeEngine_servicebindings_serviceid). - 이 새 서비스 ID내에서 그룹 지정을 클릭하십시오. 액세스 지정 페이지에서 액세스 정책을 선택하십시오. 액세스 그룹을 선택하지 마십시오. 다음 액세스 정책을 지정하십시오.
- 서비스의 경우 바인드할 서비스 인스턴스를 선택하십시오 (예: IBM Cloudant 서비스 인스턴스).
- 자원의 경우, 이 서비스에 대한 서비스 바인딩을 작성할 수 있는 사용자에 대해 작성한 특정 자원 그룹을 선택하십시오.
- 리소스 그룹 액세스의 경우
Viewer를 선택하십시오. - 역할 및 조치의 경우
Manager의 서비스 액세스 및Operator의 플랫폼 액세스를 선택하십시오. - 추가 를 클릭하여 이 서비스 ID에 액세스 정책을 추가하십시오.
- 지정 을 클릭하여 이 서비스 ID에 액세스 정책을 지정하십시오.
이제 서비스 바인딩에 대한 사용자 정의 서비스 ID가 있으므로 사용자 정의 서비스 ID를 사용하도록 Code Engine 프로젝트를 구성해야 합니다.
사용자 정의 서비스 ID를 사용하도록 프로젝트 구성
관리하는 사용자 정의 서비스 ID를 사용하도록 서비스 바인딩에 대한 Code Engine 프로젝트를 구성하려면 ibmcloud ce project update CLI 명령을 사용하고 --binding-service-id 옵션을
지정하십시오. CLI에서만 사용자 정의 서비스 ID를 사용하도록 프로젝트를 업데이트할 수 있습니다.
이 project update 명령은 현재 컨텍스트로 선택된 프로젝트 내에서 작동합니다. 명령을 사용하기 전에 project update 명령을 사용하기 전에 원하는 프로젝트에 있는지 확인하세요. ibmcloud ce project current 명령을 사용하여 현재 대상으로 지정된 프로젝트의 세부사항을 표시하십시오. 필요한 경우, ibmcloud ce project select 명령을 사용하여 프로젝트를 현재 컨텍스트로 선택하십시오.
-
콘솔의 서비스 ID 페이지에서 [상세 정보]를 클릭하거나,
ibmcloud iam service-idsCLI 명령어를 실행하여 사용자 지정 서비스 ID를 확인하십시오. -
ibmcloud ce project update명령을 실행하십시오. 예를 들어, 서비스 ID가ServiceId-12a3456b-c78d-901e-f2a3b4cabcde인 경우:ibmcloud ce project update --binding-service-id ServiceId-12a3456b-c78d-901e-f2a3b4cabcde
project update --binding-service-id 명령을 실행할 때마다 Code Engine 는 기존 서비스 ID를 대체하고 서비스 바인딩에 이 서비스 ID를 사용합니다.
다음 단계
이제 서비스 바인딩에 대한 액세스가 구성되었으므로 서비스 인스턴스를 앱, 작업 또는 기능 워크로드에 바인드 할 준비가 되었습니다.