我们如何将 PCF Service Broker 注册为可从同一 PCF 组织中的两个空间访问(具有组织管理员权限)?
How do we register a PCF Service Broker as reachable from two spaces in the same PCF Org (with org admin permissions)?
如果我拥有组织级权限,如何注册 Pivotal Cloud Foundry Service Broker 以使其可从同一组织内的多个 space 访问?
我们尝试在一个 space 中 register a PCF Service broker (cf create-service-broker ...
),然后在另一个 space 中将其用作 'service instance' (cf create-service ...
) =].
为了说明问题,请考虑以下工作流程,from a HashiCorp Vault guide:
$ cf create-space examplespace
$ cf target -s examplespace
$ cf create-service-broker vault-broker "${AUTH_USERNAME}" "${AUTH_PASSWORD}" "https://${BROKER_URL}" --space-scoped
$ cf marketplace
service plans description
hashicorp-vault shared HashiCorp Vault Service Broker
# ...
$ cf create-service hashicorp-vault shared my-vault
以上工作正常。当我们在 不同 space 中有一个我们想要使用 HashiCorp Vault API 的应用程序时,问题就出现了:
$ cf target -s myappspace
$ cf bind-service my-app my-vault
这最后一部分失败了。
此外,既然我在 space myappspace
中,cf marketplace
**notCC 会显示新的服务代理。
现在,我们团队中有人拥有组织管理员权限。
我认为我们可以使用 enable-service-access
子命令在组织级别注册新的服务代理:
https://docs.cloudfoundry.org/services/access-control.html#enable-access-to-service-plans
$ cf enable-service-access my-vault -o WebOrg
这也失败了,因为即使他拥有整个组织的管理员权限,他也遇到了权限被拒绝的错误。
如果我们在第二个 space、myappspace
中继续注册服务代理,我们会得到一个
所有这三种方法都失败了,但是如果我拥有该 PCF 组织的管理权限,则必须有某种方法可以使一个 space 的服务可供组织内的其他人使用。
怎么样?
PCF cloud_controller_ng
存储库的以下两个 github 问题中记录了类似(尽管更具体)类型的此问题:
https://github.com/cloudfoundry/cloud_controller_ng/issues/935
https://github.com/cloudfoundry/cloud_controller_ng/issues/837
我做了以下研究:
https://docs.cloudfoundry.org/services/managing-service-brokers.html#register-broker
https://docs.cloudfoundry.org/services/access-control.html
https://docs.cloudfoundry.org/services/access-control.html#enable-access-to-service-plans
https://starkandwayne.com/blog/register-your-own-service-broker-with-any-cloud-foundry/
(我们 运行 此页面上每个命令的变体。)
Stack Overflow 上最相似的现有问题是:
WebSphere Message Broker - how to send a PCF message
它们似乎与 PCF marketplace
中的名称间距问题或 PCF 权限管理没有太大关系。
注意:起初我想 post 将此更改为 serverfault.com,因为这更多地与应用程序的基础架构有关,而不仅仅是编程。但是,虽然 serverfault.com 没有 Pivotal Cloud Foundry 的标签,但 Stack Overflow 有一个 pivotal-cloud-foundry
标签,已经有 588 次使用。
假设您使用的是 PCF 2.1 或更高版本。
Service brokers must explicitly enable service instance sharing by setting a flag in their service-level metadata object. This allows service instances, of any service plan, to be shared across orgs and spaces.
这是来自Enabling Service Instance Sharing
看来您已经完成了 Sharing Service Intances
中的其余步骤
How do I register a Pivotal Cloud Foundry Service Broker to make it accessible from multiple spaces within the same Organization, if I have Org-level permissions?
我认为你做不到。您需要成为一个平台 admin/operator。然后,您需要在平台上注册服务代理并将该代理标记为可供 select 组织和 space 访问。然后您可以创建服务实例,如果代理允许在 space 之间共享它们。
如果您只有 org/space 权限,则只能使用特定的 space 注册服务代理。然后只有在那space.
可见
没有平台 admin/operator 权限,我认为你能做的最好的事情是:
- 在特定的 space
中注册经纪人
- 在其中创建一个服务实例 space
- 在此 space
中将其绑定到您的应用
- 在第二个 space
中为您的应用创建服务密钥
- 切换到第二个space
- 在其中创建用户提供的服务space并输入服务密钥信息
- 为第二个服务中的每个应用重复步骤 4-6(这确保您获得每个应用的唯一凭据,如果您不关心这个,您可以为所有应用使用一个服务密钥)。
很高兴得到纠正,但我认为这就是我写这篇文章时的状态。
如果我拥有组织级权限,如何注册 Pivotal Cloud Foundry Service Broker 以使其可从同一组织内的多个 space 访问?
我们尝试在一个 space 中 register a PCF Service broker (cf create-service-broker ...
),然后在另一个 space 中将其用作 'service instance' (cf create-service ...
) =].
为了说明问题,请考虑以下工作流程,from a HashiCorp Vault guide:
$ cf create-space examplespace
$ cf target -s examplespace
$ cf create-service-broker vault-broker "${AUTH_USERNAME}" "${AUTH_PASSWORD}" "https://${BROKER_URL}" --space-scoped
$ cf marketplace
service plans description
hashicorp-vault shared HashiCorp Vault Service Broker
# ...
$ cf create-service hashicorp-vault shared my-vault
以上工作正常。当我们在 不同 space 中有一个我们想要使用 HashiCorp Vault API 的应用程序时,问题就出现了:
$ cf target -s myappspace
$ cf bind-service my-app my-vault
这最后一部分失败了。
此外,既然我在 space myappspace
中,cf marketplace
**notCC 会显示新的服务代理。
现在,我们团队中有人拥有组织管理员权限。
我认为我们可以使用 enable-service-access
子命令在组织级别注册新的服务代理:
https://docs.cloudfoundry.org/services/access-control.html#enable-access-to-service-plans
$ cf enable-service-access my-vault -o WebOrg
这也失败了,因为即使他拥有整个组织的管理员权限,他也遇到了权限被拒绝的错误。
如果我们在第二个 space、myappspace
中继续注册服务代理,我们会得到一个
所有这三种方法都失败了,但是如果我拥有该 PCF 组织的管理权限,则必须有某种方法可以使一个 space 的服务可供组织内的其他人使用。
怎么样?
PCF cloud_controller_ng
存储库的以下两个 github 问题中记录了类似(尽管更具体)类型的此问题:
https://github.com/cloudfoundry/cloud_controller_ng/issues/935
https://github.com/cloudfoundry/cloud_controller_ng/issues/837
我做了以下研究:
https://docs.cloudfoundry.org/services/managing-service-brokers.html#register-broker
https://docs.cloudfoundry.org/services/access-control.html
https://docs.cloudfoundry.org/services/access-control.html#enable-access-to-service-plans
https://starkandwayne.com/blog/register-your-own-service-broker-with-any-cloud-foundry/
(我们 运行 此页面上每个命令的变体。)
Stack Overflow 上最相似的现有问题是:
WebSphere Message Broker - how to send a PCF message
它们似乎与 PCF marketplace
中的名称间距问题或 PCF 权限管理没有太大关系。
注意:起初我想 post 将此更改为 serverfault.com,因为这更多地与应用程序的基础架构有关,而不仅仅是编程。但是,虽然 serverfault.com 没有 Pivotal Cloud Foundry 的标签,但 Stack Overflow 有一个 pivotal-cloud-foundry
标签,已经有 588 次使用。
假设您使用的是 PCF 2.1 或更高版本。
Service brokers must explicitly enable service instance sharing by setting a flag in their service-level metadata object. This allows service instances, of any service plan, to be shared across orgs and spaces.
这是来自Enabling Service Instance Sharing
看来您已经完成了 Sharing Service Intances
中的其余步骤How do I register a Pivotal Cloud Foundry Service Broker to make it accessible from multiple spaces within the same Organization, if I have Org-level permissions?
我认为你做不到。您需要成为一个平台 admin/operator。然后,您需要在平台上注册服务代理并将该代理标记为可供 select 组织和 space 访问。然后您可以创建服务实例,如果代理允许在 space 之间共享它们。
如果您只有 org/space 权限,则只能使用特定的 space 注册服务代理。然后只有在那space.
可见没有平台 admin/operator 权限,我认为你能做的最好的事情是:
- 在特定的 space 中注册经纪人
- 在其中创建一个服务实例 space
- 在此 space 中将其绑定到您的应用
- 在第二个 space 中为您的应用创建服务密钥
- 切换到第二个space
- 在其中创建用户提供的服务space并输入服务密钥信息
- 为第二个服务中的每个应用重复步骤 4-6(这确保您获得每个应用的唯一凭据,如果您不关心这个,您可以为所有应用使用一个服务密钥)。
很高兴得到纠正,但我认为这就是我写这篇文章时的状态。