構成済みのサービス・バインディング操作の詳細を表示できないのはなぜですか?
コンソールから「統合」ページを使用してプロジェクト全体の設定を構成すると、 Code Engine は、 Code Engine がサービス・バインディング操作を実行できるように、必要な資格情報を自動的にセットアップします。 場合によっては、サービス・バインディング操作が構成されていても、設定に関する詳細を表示できないことがあります。
サービス・バインディング操作が正常に構成されると、状況は「構成済み」と表示されますが、現在のサービス・バインディング操作の詳細を表示できないという警告メッセージを受け取ります。 「プロジェクト設定 (Project settings)」 > 「統合 (Integrations)」 > 「サービス・バインディング操作 (Service binding operations)」 ページ ( Cannot display details of the current configuration) に、以下のテキストのような警告が表示されます。
特定の Code Engine プロジェクト内に最初のサービス・バインディングを作成するか、 project update CLI コマンドを実行すると、 Code Engine プロジェクトのサービス・バインディング操作のためのオペレーター・シークレット (ibmcloud-operator-secret) が作成されます。 オペレーターの秘密は、 Code Engine によって生成および管理される秘密です。これには、サービス
ID と、自動生成された API キーが含まれます。 Code Engine は、ログインしているユーザーの ID を使用する代わりに、サービス ID を使用してユーザーの代わりにバインディング操作を実行します。 サービス ID は、特定の IBM Cloud サービス・インスタンスの資格情報を作成します。 このオペレーター・シークレットが作成されると、 Code Engine は、サービス・バインディング操作のためにプロジェクトの存続期間中、このシークレットを使用します。
ただし、オペレーター・シークレットにサービス ID に関する必要な情報が含まれていないため、プロジェクト全体の設定の「統合」ページでサービス・バインディング構成に関する詳細を表示できない場合があります。
以下のいずれかのシナリオでサービス ID 情報がない可能性があるために作成されたオペレーター・シークレット。
-
project updateCLI コマンドが--binding-service-idオプションを指定して実行された場合。 -
コンソールから、または Code Engine アプリまたはジョブ用の CLI を使用して、 コンソールでプロジェクト全体の設定のリリースより前に作成されたプロジェクト内のサービス・バインディングを作成した場合、オペレーターの秘密はサービス ID を参照しません。 コンソールでプロジェクト全体の設定のリリース後に作成されたプロジェクトの場合、オペレーター・シークレットにはサービス ID に関する情報が含まれていることに注意してください。 Code Engine は、この情報を使用して、オペレーター・シークレットとサービス ID に関する情報など、サービス・バインディング操作に関する詳細を表示します。
以下のいずれかの解決策を試してください。
-
project updateコマンドを使用して作成および管理したカスタム・サービス ID を使用しており、使用された特定のサービス ID が分かっている場合は、以下の手順を実行して、カスタム・サービス ID を使用するようにサービス・バインディング操作を再構成します。project updateコマンドで使用された特定のサービス ID が不明な場合は、以下の手順を実行しないでください。 この場合、サービス・バインディング操作は、サービス・バインディングを作成および管理できるように構成されます。ただし、システムは、プロジェクト全体の「統合」ページからサービス・バインディング操作の詳細を表示できないため、警告メッセージが引き続き表示されます。- IBM Cloud® Identity and Access Management (IAM) 内のサービス ID のリストを確認します。これは、
project updateコマンドで使用されたカスタム・サービス ID を判別するのに役立ちます。 IBM Cloud コンソールから、 「管理」 > **「アクセス (IAM)」**に移動し、 **「サービス ID」**を選択します。 project updateコマンドで使用されたサービス ID を識別した後、 Code Engine コンソールを使用して、同じカスタム・サービス ID をオペレーター・シークレットに割り当てます。- コンソールの「統合」ページに移動します。 Code Engine コンソールの「プロジェクト」ページからプロジェクトを選択した後、 プロジェクト設定 > 統合をクリックします。 構成状況は
Configuredです。 - **「構成の削除」**をクリックします。 このアクションにより、既存のオペレーター・シークレットが削除され、構成状況が
Not Configuredになります。 - 「構成」 をクリックしてサービス・バインディング操作を構成し、カスタム・サービス ID を使用するオプションを選択します。
- テーブルからカスタム・サービス ID を選択します。 最初のステップで確認したカスタム・サービス ID を使用します。
- 「構成」 をクリックして、この構成を保存します。
- IBM Cloud® Identity and Access Management (IAM) 内のサービス ID のリストを確認します。これは、
カスタム・サービス ID を使用してサービス・バインディング操作を構成した後、構成の詳細を表示できます。
- コンソールのプロジェクト全体の設定のリリースより前に作成された Code Engine プロジェクト内のアプリケーションまたはジョブのサービス・バインディングを作成した場合は、警告メッセージを無視してください。 サービス・バインディングが既に作成されているため、サービス・バインディング操作は引き続き機能します。 コンソールの「統合」ページからサービス・バインディング操作構成を削除および再構成しないでください。このアクションを実行しても、元のサービス ID が削除されず、セキュリティー・リスクが発生する可能性があるためです。
サービス・バインディングの操作について詳しくは、「 IBM Cloud サービスを Code Engineと統合するためのサービス・バインディングの操作 」および「 プロジェクト全体のサービス・バインディング操作の構成」を参照してください。