openstack curl可以支持v3applicationcredential认证方式吗?

问题描述 投票:0回答:1

正如我们所知,我们可以从 openstack 中检索带有用户/密码的令牌,然后使用此令牌将带有“curl”的请求而不是命令发送到 openstack。 并且——为了检索该令牌,我们通常使用用户/密码来获取它。但是如果是用脚本登录的话,会有密码泄露的风险…… 同时,我们可以使用 v3applicationcredential 进行 openstack API 身份验证——例如。在 openrc 文件中,我们可以把它放在 --

vsa11061573:/home/i331281/loadbalancer/openrc # cat secret_NEO-LA-BR-1-FACTORYBR1
export OS_AUTH_URL=https://identity-3.la-br-1.cloud.sap/v3
export OS_AUTH_TYPE=v3applicationcredential
export OS_REGION_NAME=la-br-1
export OS_APPLICATION_CREDENTIAL_ID=975b3757b0704babac512ca9a80aeaa2
export OS_APPLICATION_CREDENTIAL_SECRET=MKVHS88mDv0W1KhiGQL9__UsHNuTVVfFaR-oweW-liVmljt8VkcJw4FUcA2MxAPn5ndEB__GqgwTYpV8oBWFLQ

但是要使用curl来执行openstack操作,我们需要像这样用AUTH获取token --

curl -i \
  -H "Content-Type: application/json" \
  -d '
{ "auth": {
    "identity": {
      "methods": ["password"],
      "password": {
        "user": {
          "name": "user00001",
          "domain": { "name": "mydomain" },
          "password": "password0000011111"
        }
      }
    },
    "scope": {
      "project": {
        "name": "myproject",
        "domain": { "name": "mydomain" }
      }
    }
  }
}' \
  "https://identity-3.eu-de-1.cloud.sap/v3/auth/tokens"

这里的auth方法是“Password”,在支持的列表中--

keystone.auth.plugins.external.Base
keystone.auth.plugins.mapped.Mapped
keystone.auth.plugins.oauth1.OAuth
keystone.auth.plugins.password.Password
keystone.auth.plugins.token.Token
keystone.auth.plugins.totp.TOTP

我找不到 v3applicationcredential——但是来自 https://docs.openstack.org/keystone/queens/user/application_credentials.html 我们可以看到——支持这种 v3applicationcredential 身份验证方法。所以问题来了——我们可以使用这个 v3applicationcredential 身份验证方法通过 curl 检索令牌吗?如果是,如何获得它? 预先感谢您的帮助。

问候 艾森

curl openstack
1个回答
0
投票

是的,您可以使用 curl 执行 openstack 命令行可以执行的所有操作,因为在这两种情况下它们都是 HTTP 请求。

方法的名称是

application_credential
,所需的属性是
id
secret
。不需要范围,因为范围信息已包含在应用程序凭据中。

将该信息插入到您提供的示例中,我们得到:

curl -i \
  -H "Content-Type: application/json" \
  -d '
{ "auth": {
    "identity": {
      "methods": ["application_credential"],
      "application_credential": {
        "id": "<ID>",
        "secret": "<SECRET>"
      }
    }
  }
}' \
  "https://identity-3.eu-de-1.cloud.sap/v3/auth/tokens"
© www.soinside.com 2019 - 2024. All rights reserved.