프로젝트 전체 설정 구성

콘솔의 프로젝트 설정 페이지를 사용하여 특정 프로젝트에 적용되는 설정을 검토하고 구성할 수 있습니다. 프로젝트 전체 통합에 대해 작업하는 방법을 학습합니다.

프로젝트 전체 통합의 개념 및 사용 이유

프로젝트의 모든 사용자가 특정 조치를 수행할 수 있도록 프로젝트 전체 설정을 구성하려면 콘솔의 통합 페이지를 사용하십시오. 충분한 권한이 있으면 단일 페이지에서 서비스 바인딩 작업을 구성하거나 IBM Cloud Container Registry 에서 이미지에 대한 액세스를 구성할 수 있습니다. 이러한 조치를 수행할 수 있는 충분한 권한이 없는 경우 이러한 페이지를 사용하여 필요한 권한을 이해할 수 있습니다.

통합 페이지를 사용하여 프로젝트 전체 설정을 설정할 때 Code Engine 는 개인 사용자 ID를 사용하는 대신 Code Engine 가 서비스 바인딩 조작을 수행하거나 Container Registry 에 액세스할 수 있도록 필요한 신임 정보를 자동으로 설정합니다. 서비스 바인딩 조작을 구성하거나 Container Registry에 대한 액세스를 구성할 때 Code Engine 가 수행하는 작업에 대한 세부사항을 볼 수 있습니다. 이러한 세부사항에는 서비스 ID및 해당 액세스 정책, API키 및 시크릿에 대한 정보가 포함됩니다.

프로젝트 전체 서비스 바인딩 작업 구성

콘솔의 통합 페이지를 사용하여 특정 프로젝트의 모든 사용자가 개인 사용자 ID에 필요한 모든 권한을 지정하지 않고 바인딩을 작성하고 삭제할 수 있도록 서비스 바인딩 조작에 대한 설정을 구성하십시오.

Code Engine에서 서비스 바인딩 작성 및 삭제를 포함하는 서비스 바인딩 조작은 로그인한 사용자의 ID로 수행되지 않습니다. 대신 Code Engine 는 서비스 바인딩 조작에 특별히 사용되는 서비스 ID를 자동으로 작성합니다. 충분한 권한이 있으면 통합 페이지에서 서비스 바인딩 조작에 대해 이 서비스 ID를 자동으로 설정하도록 서비스 바인딩 조작을 구성할 수 있습니다. 또는 서비스 바인딩 조작을 위해 관리하는 사용자 정의 서비스 ID를 사용하도록 선택할 수 있습니다.

서비스 바인딩 조작을 구성하는 데 필요한 액세스 권한은 무엇입니까?

서비스 바인딩 조작을 구성하려면 이 통합 페이지의 사용자에게 사용자 계정에 지정된 다음 IAM ( Cloud Identity and Access Management ) 액세스 정책이 있어야 합니다. 이러한 조치를 수행할 수 있는 충분한 권한이 없는 경우 이 페이지를 사용하면 필수 권한을 이해하는 데 도움이 됩니다.

  • 서비스: 모든 ID 및 액세스 지원 서비스
    • 리소스: 리소스 그룹, 지역 또는 액세스 관리 태그 중에서 선택합니다.
    • 리소스 그룹 액세스: Viewer
    • 역할 및 조치: Administrator 플랫폼 액세스 (서비스 액세스가 필요하지 않음)
  • 서비스: Code Engine
    • 자원: 이 Code Engine 프로젝트의 자원 그룹
    • 리소스 그룹 액세스: Viewer
    • 역할 및 조치: Writer 서비스 액세스 및 Operator 플랫폼 액세스

Code Engine 가 서비스 바인딩 조작을 위해 서비스 ID를 자동으로 생성하도록 하기 위해 Code Engine 는 Code Engine 프로젝트의 리소스 그룹에 있는 모든 서비스에 대해 Operator 플랫폼 액세스 및 Manager 서비스 액세스를 사용하여 서비스 ID를 확인하고 자동으로 설정합니다. Code Engine 는 이 서비스 ID를 사용하여 서비스 바인딩으로 IBM Cloud 서비스에 액세스합니다.

사용자 고유의 사용자 정의 서비스 ID를 사용하는 경우 사용자 정의 서비스 ID는 Code Engine 앱 또는 작업에 바인드하려는 IBM Cloud 서비스 또는 서비스 인스턴스에 대한 Operator 플랫폼 액세스 및 Manager 서비스 액세스를 제공해야 합니다.

이 서비스 ID가 없는 경우 Code Engine 는 서비스 바인딩이 작성될 때마다 이 서비스 ID를 자동으로 작성하려고 시도합니다. 서비스 바인딩 조작을 위해 이 서비스 ID를 성공적으로 작성하는 것은 Code Engine 에 로그인한 사용자에게 충분한 권한이 있는지 여부에 따라 다릅니다. 운영자 시크릿이 성공적으로 작성되지 않으면 서비스 바인딩을 작성하려는 모든 시도가 실패합니다. 서비스 바인딩 조작을 위한 Code Engine 액세스 요구사항에 대한 자세한 정보는 서비스 바인딩을 위한 액세스 구성 을 참조하십시오.

서비스 ID와 운영자 시크릿 간의 관계는 무엇입니까?

서비스 바인딩 조작을 구성할 때 서비스 ID, API키 및 시크릿에 대한 정보를 포함하여 Code Engine 가 수행하는 작업에 대한 세부사항을 볼 수 있습니다.

Code Engine에서 서비스 바인딩 은 앱 또는 작업과 다른 IBM Cloud 서비스 간의 관계입니다.

Code Engine 는 로그인한 사용자의 ID를 사용하는 대신 서비스 ID 를 사용하여 사용자 대신 바인딩 조작을 수행합니다. 서비스 ID는 특정 IBM Cloud 서비스 인스턴스에 대한 신임 정보를 작성합니다. 이러한 서비스 인증 정보는 서비스 인스턴스와 상호작용하기 위해 바인드된 Code Engine 앱 및 작업에서 사용됩니다. 서비스 ID의 API키 는 운영자 시크릿에 저장됩니다. 액세스 정책은 서비스 ID에 제공되는 권한입니다.

운영자 시크릿 또는 ibmcloud-operator-secret 는 서비스 ID및 자동 생성된 API키를 포함하는 Code Engine 생성 및 관리 시크릿입니다. 이 시크릿은 서비스 바인딩 조작과 함께 사용되며 현재 사용자의 계정으로 작동하지 않습니다. 운영자 시크릿이 없는 경우 다음 시나리오 중 하나가 true이면 자동으로 작성됩니다.

  • 다음 서비스 바인딩이 프로젝트에 대해 작성될 때 (콘솔 또는 CLI에서).
  • 통합 페이지에서 서비스 바인딩 조작을 구성할 때.
  • project update 명령을 실행할 때.

서비스 바인딩 조작이 구성되면 서비스 ID운영자 시크릿 이 특정 프로젝트에 적용됩니다.

서비스 바인딩 조작을 구성하고 Code Engine 가 자동으로 서비스 ID를 생성하도록 하거나 또는 사용자 정의 서비스 ID로 서비스 바인딩을 구성 할 수 있습니다.

Code Engine 자동 생성 서비스 ID로 서비스 바인딩 조작 구성

프로젝트의 모든 사용자가 Code Engine 콘솔에서 선택한 리소스 그룹의 IBM Cloud 서비스에 대한 서비스 바인딩을 만들고 관리할 수 있도록 서비스 바인딩 작업을 구성할 수 있습니다.

  1. 통합 페이지로 이동합니다.
    1. Code Engine 콘솔의 프로젝트 페이지에서 프로젝트를 선택하십시오.
    2. 프로젝트 설정 > 통합을 클릭하십시오.
  2. 서비스 바인딩 타일에서 구성 을 클릭하여 이 프로젝트의 모든 사용자에 대한 서비스 바인딩 조작을 구성하십시오.
  3. 서비스 바인딩 작업 구성 페이지에서 서비스 바인딩 작업에 사용할 리소스 그룹을 지정합니다. ' Code Engine ' 프로젝트가 포함된 ' IBM Cloud® 리소스 그룹을 선택하고 ' Code Engine 필요한 자격 증명을 만들도록 할 수 있습니다. 또는 서비스 ID 자격 증명을 사용하는 사용자 지정 서비스 ID를 사용하도록 선택할 수 있습니다.
  4. (선택사항) 서비스 바인딩 조작을 구성할 때 Code Engine 가 자동으로 작성하는 내용에 대한 정보를 보려면 Code Engine 에서 수행하는 작업 섹션을 펼치십시오. 이 서비스 ID에 지정된 서비스 ID및 액세스 정책, Code Engine 가 서비스 ID에 대해 자동으로 생성하는 API키 및 서비스 바인딩에 사용되는 운영자 시크릿에 대한 정보를 봅니다.
  5. 구성을 클릭하십시오.
  6. (선택사항) 세부사항 보기 를 클릭하여 서비스 바인딩 조작 구성의 세부사항을 보십시오. 이 페이지에서 서비스 바인딩 조작에 사용되는 서비스 ID, API키 및 운영자 시크릿에 대한 정보를 볼 수 있습니다.

지정된 리소스 그룹에 대한 서비스 바인딩 조작을 구성했으므로 이 Code Engine 프로젝트에 대한 작성자 또는 관리자 액세스 권한이 있는 모든 사용자가 서비스 바인딩을 작성하고 삭제할 수 있습니다. IBM Cloud 서비스를 Code Engine와 통합하기 위한 서비스 바인딩에 대한 작업 을 참조하십시오.

Code Engine 자동 생성(및 관리) 서비스 ID를 사용하여 서비스 바인딩 작업을 구성하는 경우 서비스 바인딩 작업 구성의 일부로 생성되는 서비스 ID 또는 API 키를 수동으로 업데이트하거나 제거하지 마세요. 또한 서비스 ID와 연관된 API키를 순환하려고 시도하지 마십시오. 대신 콘솔의 프로젝트 설정 > 통합 페이지로 이동하여 프로젝트의 서비스 바인딩 조작에 대한 구성을 제거한 후 서비스 바인딩 조작을 다시 구성하십시오. 이 조치는 이전 서비스 ID및 API키를 삭제하고 서비스 바인딩 조작을 위한 새 서비스 ID및 API키를 작성합니다.

사용자 정의 서비스 ID로 서비스 바인딩 조작 구성

프로젝트의 모든 사용자가 Code Engine 콘솔에서 IBM Cloud 서비스에 대한 사용자 지정 서비스 ID를 사용하여 서비스 바인딩을 만들고 관리할 수 있도록 서비스 바인딩 작업을 구성할 수 있습니다.

사용자 정의 서비스 ID를 사용할 때 서비스 ID에 대해 지정된 IAM 정책이 리소스 그룹을 판별합니다.

  1. 통합 페이지로 이동합니다.
    1. Code Engine 콘솔의 프로젝트 페이지에서 프로젝트를 선택하십시오.
    2. 프로젝트 설정 > 통합을 클릭하십시오.
  2. 서비스 바인딩 타일에서 구성 을 클릭하여 사용자 정의 서비스 ID로 이 프로젝트의 모든 사용자에 대한 서비스 바인딩 조작을 구성하십시오.
  3. 서비스 바인딩 작업 구성 페이지에서 사용자 지정 서비스 ID 사용을 선택합니다.
  4. 사용할 사용자 정의 서비스 ID를 선택하십시오.
  5. (선택사항) 서비스 바인딩 조작을 구성할 때 Code Engine 가 자동으로 작성하는 내용에 대한 정보를 보려면 Code Engine 에서 수행하는 작업 섹션을 펼치십시오. 서비스 바인딩 조작에 사용되는 운영자 시크릿 및 서비스 ID에 대해 Code Engine 가 자동으로 생성하는 API키에 대한 정보를 봅니다.
  6. 구성을 클릭하십시오. 서비스 바인딩 조작이 구성되면 서비스 바인딩 조작에 대한 사용자 정의 서비스 ID가 표시됩니다.
  7. (선택사항) 세부사항 보기 를 클릭하여 서비스 바인딩 조작 구성의 세부사항을 보십시오. 이 페이지에서 서비스 바인딩 조작에 사용되는 서비스 ID, API키 및 운영자 시크릿에 대한 정보를 볼 수 있습니다.

필수 IAM 권한이 있는 사용자 정의 서비스 ID로 서비스 바인딩 조작을 구성했으므로 이 Code Engine 프로젝트에 대한 작성자 또는 관리자 액세스 권한이 있는 모든 사용자가 서비스 바인딩을 작성하고 삭제할 수 있습니다. IBM Cloud 서비스를 Code Engine와 통합하기 위한 서비스 바인딩에 대한 작업 을 참조하십시오.

구성된 서비스 바인딩 작업 제거하기

서비스 바인딩 조작이 구성된 경우 통합 페이지를 사용하여 프로젝트의 모든 사용자가 서비스 바인딩을 작성하거나 삭제할 수 있는 기능을 제거할 수도 있습니다. 이 조치는 서비스 바인딩 조작에 대한 운영자 시크릿을 제거합니다.

  1. 통합 페이지로 이동합니다.
    1. Code Engine 콘솔의 프로젝트 페이지에서 프로젝트를 선택하십시오.
    2. 프로젝트 설정 > 통합을 클릭하십시오.
  2. 서비스 바인딩 조작의 상태가 구성됨인 경우 구성 제거 를 클릭하여 운영자 시크릿을 제거하십시오. 운영자 비밀번호를 삭제할 것인지 확인하라는 메시지가 표시됩니다.

서비스 바인딩 조작이 제거되었다는 메시지를 수신하면 서비스 바인딩 조작의 상태는 구성되지 않음입니다.

통합 페이지에서 구성된 서비스 바인딩 조작을 제거하는 경우 기존 서비스 바인딩은 그대로 유지됩니다. 이는 기존 서비스 바인딩의 경우 애플리케이션을 실행하거나 새 애플리케이션 개정을 실행하거나 작업을 실행할 때 바인드된 앱 또는 작업이 기존 서비스 바인딩 및 해당 신임 정보를 사용함을 의미합니다. 그러나 충분한 권한이 없으면 새 서비스 바인딩을 작성할 수 없으며 기존 바인딩을 삭제할 수 없습니다.

운영자 시크릿이 없는 경우 다음 시나리오 중 하나가 true이면 자동으로 작성됩니다.

  • 다음 서비스 바인딩이 프로젝트에 대해 작성될 때 (콘솔 또는 CLI에서).
  • 통합 페이지에서 서비스 바인딩 조작을 구성할 때.
  • project update 명령을 실행할 때.

Container Registry 에 대한 프로젝트 전체 액세스 구성

콘솔의 통합 페이지를 사용하여 특정 Code Engine 프로젝트의 모든 사용자가 수동으로 레지스트리 비밀 번호를 만들 필요 없이 Container Registry 에 이미지를 저장하고 액세스할 수 있도록 IBM Cloud Container Registry 에서 이미지에 대한 레지스트리 액세스를 설정하고 관리하는 설정을 구성할 수 있습니다.

Container Registry에 대한 Code Engine 관리 액세스를 제어하기 위해 프로젝트 통합을 사용하는 경우, Code Engine 는 로그인된 사용자의 ID를 사용하지 않습니다. 대신 Code Engine 는 IBM Cloud Container Registry에서 이미지에 액세스하기 위해 특별히 사용되는 레지스트리 액세스를 자동으로 작성합니다. 충분한 권한을 사용하여 위치 (지역) 별로 이 기본 레지스트리 액세스를 구성할 수 있습니다. Container Registry 지역에 대한 자세한 정보는 IBM Cloud Container Registry 지역 을 참조하십시오.

IBM Cloud Container Registry에 대한 Code Engine 관리 액세스에 필요한 액세스 권한은 무엇입니까?

프로젝트의 모든 사용자에 대한 레지스트리 액세스를 구성하려면 이 통합 페이지의 사용자에게 사용자 계정에 지정된 다음 IBM Cloud® Identity and Access Management (IAM) 액세스 정책이 있어야 합니다. 이러한 조치를 수행할 수 있는 충분한 권한이 없는 경우에는 이 페이지를 사용하여 수행할 수 있는 필수 권한 및 조치를 이해하는 데 도움을 받을 수 있습니다.

  • 서비스: Container Registry
    • 리소스: 리소스 그룹, 지역 또는 액세스 관리 태그 중에서 선택합니다.
    • 리소스 그룹 액세스: Viewer
    • 역할 및 조치: Administrator 플랫폼 액세스 및 Reader, WriterManager 서비스 액세스
  • 서비스: Code Engine
    • 자원: 이 Code Engine 프로젝트의 자원 그룹
    • 리소스 그룹 액세스: Viewer
    • 역할 및 조치: Operator 플랫폼 액세스 및 Writer 서비스 액세스

Code Engine 가 특정 위치에 있는 Container Registry 의 이미지에 액세스하기 위한 서비스 ID를 자동으로 생성하도록 하기 위해 Code Engine 는 이 서비스 ID로 범위가 지정된 IAM ID 서비스의 Administrator 역할을 사용하여 이 서비스 ID를 설정합니다. 또한 Code Engine 는 지정된 위치 (지역) 로 범위가 지정된 IBM Cloud Container Registry 서비스에 대한 Manager 역할을 부여합니다. 이러한 역할과 권한은 Code Engine 이 서비스 ID를 사용하여 Code Engine 프로젝트의 사용자를 대신하여 Container Registry 에 액세스할 수 있도록 하는 데 필요합니다.

Code Engine 이 서비스 ID를 Administrator 플랫폼 액세스 및 Manager 서비스 액세스 IBM Cloud Container Registry 로 구성하면 이 서비스 ID로만 액세스 범위가 지정됩니다.

컨테이너 레지스트리의 이미지에 액세스하기 위한 Code Engine 요구사항에 대한 자세한 정보는 컨테이너 레지스트리 액세스 를 참조하십시오.

서비스 ID와 레지스트리 시크릿 간의 관계는 무엇입니까?

특정 위치에 대한 기본 레지스트리 액세스를 구성할 때 서비스 ID및 해당 액세스 정책, API키 및 레지스트리 시크릿에 대한 정보를 포함하여 Code Engine 가 수행하는 작업에 대한 세부사항을 볼 수 있습니다.

Code Engine 는 로그인한 사용자의 ID를 사용하는 대신 서비스 ID 를 사용하여 사용자 대신 Container Registry에 대한 레지스트리 액세스를 사용으로 설정합니다.

레지스트리 시크릿 은 자동 생성된 API키를 포함하는 Code Engine 생성 및 관리 레지스트리 시크릿입니다. 이 시크릿은 Container Registry의 이미지에 액세스하는 데 사용됩니다.

기본 레지스트리 액세스가 위치 (지역) 에 대해 구성된 경우 서비스 ID레지스트리 시크릿 이 특정 프로젝트에 적용됩니다.

Container Registry 액세스 구성

프로젝트의 모든 사용자가 Code Engine 콘솔에서 IBM Cloud Container Registry 의 이미지에 액세스하고 작업할 수 있도록 레지스트리 액세스를 구성할 수 있습니다.

  1. 통합 페이지로 이동합니다.
    1. Code Engine 콘솔의 프로젝트 페이지에서 프로젝트를 선택하십시오.
    2. 프로젝트 설정 > 통합을 클릭하십시오.
  2. Container Registry 타일에서 레지스트리 액세스를 구성할 위치에 대한 행을 클릭하십시오.
  3. 기본 레지스트리 액세스 구성 페이지에서 선택적으로 Code Engine 기능 섹션을 확장하여 특정 위치에 대한 기본 레지스트리 액세스를 구성할 때 Code Engine 자동으로 만드는 항목에 대한 정보를 볼 수 있습니다. 서비스 ID 및 이 서비스 ID에 할당된 액세스 정책, Code Engine 서비스 ID에 대해 자동으로 생성하는 API 키 및 이 레지스트리 액세스에 사용되는 레지스트리 비밀 번호에 대한 정보를 봅니다.
  4. 구성 을 클릭하여 특정 위치에 대한 기본 레지스트리 액세스를 구성하십시오.
  5. 테이블에서 위치 및 자동 생성된 레지스트리 시크릿별로 구성 상태를 볼 수 있습니다.
  6. (선택사항) 자세한 정보를 보려면 조치 아이콘 조치 > 세부사항 보기를 클릭하십시오. 이 서비스 ID에 지정된 서비스 ID및 액세스 정책, Code Engine 가 서비스 ID에 대해 자동으로 생성하는 API키, Container Registry에 액세스하기 위해 구성된 레지스트리 시크릿에 대한 정보를 볼 수 있습니다.

이제 Container Registry에 대한 특정 위치의 기본 레지스트리 액세스를 구성했으므로 이 Code Engine 프로젝트에 대한 작성자 또는 관리자 액세스 권한이 있는 모든 사용자는 앱, 작업 및 빌드와 함께 이 레지스트리 시크릿을 사용하여 Container Registry의 이미지에 액세스할 수 있습니다.

통합 페이지에서 프로젝트 전체 Container Registry 액세스를 구성할 때 Code Engine 는 자동으로 서비스 ID 를 생성하여 Container Registry에 대한 레지스트리 액세스를 사용으로 설정합니다.

Code Engine 자동 생성(및 관리) 레지스트리 비밀로 작업하는 경우, 레지스트리 비밀을 수동으로 삭제하지 마세요. 또한 구성된 Container Registry 리전에 대한 서비스 ID 또는 관련 API 키를 수동으로 제거하지 마세요. 이 서비스 ID와 연관된 API키를 순환하지 마십시오. 대신 콘솔의 프로젝트 설정 > 통합 페이지로 이동하여 프로젝트에 대해 원하는 Container Registry 액세스에 대한 구성을 제거한 다음 레지스트리 액세스를 다시 구성하세요. 이 조치는 이전 서비스 ID및 API키를 삭제하고 원하는 지역의 프로젝트에 대한 레지스트리 액세스를 위해 새 서비스 ID및 API키를 작성합니다.

Container Registry 에 대한 Code Engine 관리 액세스 제거

특정 지역에 대한 Code Engine 관리되는 레지스트리 비밀을 제거하면 이 프로젝트 전체 레지스트리 액세스 권한이 삭제됩니다. 연관된 서비스 ID, API키 및 레지스트리 시크릿이 삭제됩니다. 수동으로 만든 레지스트리 액세스 암호를 계속 사용하거나 프로젝트 전체에 Container Registry 액세스를 다시 구성할 수 있습니다.

  1. 통합 페이지로 이동합니다.
    1. Code Engine 콘솔의 프로젝트 페이지에서 프로젝트를 선택하십시오.
    2. 프로젝트 설정 > 통합을 클릭하십시오.
  2. 레지스트리 액세스를 제거할 위치 (지역) 의 행에서 조치 아이콘 조치 > 구성 제거를 클릭하십시오. 레지스트리 액세스 권한을 삭제할 것인지 확인하라는 메시지가 표시됩니다.

레지스트리 액세스가 제거되었다는 메시지를 수신하면 특정 Container Registry 위치에 대한 레지스트리 액세스의 상태는 구성되지 않음입니다.