openstack barbican密钥管理api的客户端库

python-barbicanclient的Python项目详细描述


Latest Version

这是Barbican的客户端 密钥管理API。有一个访问api的python库 (barbicanclient模块)和命令行脚本(barbican)。

安装

客户是 pip installable作为 如下:

pip install python-barbicanclient

barbicanclient-python库

完整的api是 documented in the official OpenStack documentation site

下面是一个使用python库在barbican中存储秘密的示例 使用keystone身份验证:

>>>fromkeystoneclient.authimportidentity>>>fromkeystoneauth1importsession>>>frombarbicanclientimportclient>>># We'll use Keystone API v3 for authentication>>>auth=identity.v3.Password(auth_url=u'http://localhost:5000/v3',...username=u'admin_user',...user_domain_name=u'Default',...password=u'password',...project_name=u'demo',...project_domain_name=u'Default')>>># Next we'll create a Keystone session using the auth plugin we just created>>>sess=session.Session(auth=auth)>>># Now we use the session to create a Barbican client>>>barbican=client.Client(session=sess)>>># Let's create a Secret to store some sensitive data>>>secret=barbican.secrets.create(name=u'Self destruction sequence',...payload=u'the magic words are squeamish ossifrage')>>># Now let's store the secret by using its store() method. This will send the secret data>>># to Barbican, where it will be encrypted and stored securely in the cloud.>>>secret.store()u'http://localhost:9311/v1/secrets/85b220fd-f414-483f-94e4-2f422480f655'>>># The URI returned by store() uniquely identifies your secret in the Barbican service.>>># After a secret is stored, the URI is also available by accessing>>># the secret_ref attribute.>>>print(secret.secret_ref)http://localhost:9311/v1/secrets/091adb32-4050-4980-8558-90833c531413>>># When we need to retrieve our secret at a later time, we can use the secret_ref>>>retrieved_secret=barbican.secrets.get(u'http://localhost:9311/v1/secrets/091adb32-4050-4980-8558-90833c531413')>>># We can access the secret payload by using the payload attribute.>>># Barbican decrypts the secret and sends it back.>>>print(retrieved_secret.payload)themagicwordsaresqueamishossifrage

注意

为了让上面的例子起作用,barbican必须运行 配置为使用keystone中间件。有关的详细信息 设置请访问: https://docs.openstack.org/barbican/latest/configuration/keystone.html[1]

barbican-命令行客户端

命令行客户机正在自我记录。使用–help标志访问 使用选项

$ barbican --help
usage: barbican [--version] [-v] [--log-file LOG_FILE] [-q] [-h] [--debug]
                [--no-auth] [--os-identity-api-version <identity-api-version>]
                [--os-auth-url <auth-url>] [--os-username <auth-user-name>]
                [--os-user-id <auth-user-id>] [--os-password <auth-password>]
                [--os-user-domain-id <auth-user-domain-id>]
                [--os-user-domain-name <auth-user-domain-name>]
                [--os-tenant-name <auth-tenant-name>]
                [--os-tenant-id <tenant-id>]
                [--os-project-id <auth-project-id>]
                [--os-project-name <auth-project-name>]
                [--os-project-domain-id <auth-project-domain-id>]
                [--os-project-domain-name <auth-project-domain-name>]
                [--endpoint <barbican-url>] [--insecure]
                [--os-cacert <ca-certificate>] [--os-cert <certificate>]
                [--os-key <key>] [--timeout <seconds>]

Command-line interface to the Barbican API.

optional arguments:
  --version             show program's version number and exit
  -v, --verbose         Increase verbosity of output. Can be repeated.
  --log-file LOG_FILE   Specify a file to log output. Disabled by default.
  -q, --quiet           suppress output except warnings and errors
  -h, --help            show this help message and exit
  --debug               show trace backs on errors
  --no-auth, -N         Do not use authentication.
  --os-identity-api-version <identity-api-version>
                        Specify Identity API version to use. Defaults to
                        env[OS_IDENTITY_API_VERSION] or 3.

  --os-auth-url <auth-url>, -A <auth-url>
                        Defaults to env[OS_AUTH_URL].
  --os-username <auth-user-name>, -U <auth-user-name>
                        Defaults to env[OS_USERNAME].
  --os-user-id <auth-user-id>
                        Defaults to env[OS_USER_ID].
  --os-password <auth-password>, -P <auth-password>
                        Defaults to env[OS_PASSWORD].
  --os-user-domain-id <auth-user-domain-id>
                        Defaults to env[OS_USER_DOMAIN_ID].
  --os-user-domain-name <auth-user-domain-name>
                        Defaults to env[OS_USER_DOMAIN_NAME].
  --os-tenant-name <auth-tenant-name>, -T <auth-tenant-name>
                        Defaults to env[OS_TENANT_NAME].
  --os-tenant-id <tenant-id>, -I <tenant-id>
                        Defaults to env[OS_TENANT_ID].
  --os-project-id <auth-project-id>
                        Another way to specify tenant ID. This option is
                        mutually exclusive with --os-tenant-id. Defaults to
                        env[OS_PROJECT_ID].
  --os-project-name <auth-project-name>
                        Another way to specify tenant name. This option is
                        mutually exclusive with --os-tenant-name. Defaults to
                        env[OS_PROJECT_NAME].
  --os-project-domain-id <auth-project-domain-id>
                        Defaults to env[OS_PROJECT_DOMAIN_ID].
  --os-project-domain-name <auth-project-domain-name>
                        Defaults to env[OS_PROJECT_DOMAIN_NAME].
  --endpoint <barbican-url>, -E <barbican-url>
  --endpoint <barbican-url>, -E <barbican-url>
                        Defaults to env[BARBICAN_ENDPOINT].
  --insecure            Explicitly allow client to perform "insecure" TLS
                        (https) requests. The server's certificate will not be
                        verified against any certificate authorities. This
                        option should be used with caution.
  --os-cacert <ca-certificate>
                        Specify a CA bundle file to use in verifying a TLS
                        (https) server certificate. Defaults to
                        env[OS_CACERT].
  --os-cert <certificate>
                        Defaults to env[OS_CERT].
  --os-key <key>        Defaults to env[OS_KEY].
  --timeout <seconds>   Set request timeout (in seconds).

See "barbican help COMMAND" for help on a specific command.

Commands:
  acl get                  Retrieve ACLs for a secret or container by providing its href.
  acl delete               Delete ACLs for a secret or container as identified by its href.
  acl submit               Submit ACL on a secret or container as identified by its href.
  acl user add             Add ACL users to a secret or container as identified by its href.
  acl user remove          Remove ACL users from a secret or container as identified by its href.
  ca get                   Retrieve a CA by providing its URI.
  ca list                  List CAs.
  complete                 print bash completion command
  secret container create  Store a container in Barbican.
  secret container delete  Delete a container by providing its href.
  secret container get     Retrieve a container by providing its URI.
  secret container list    List containers.
  help                     print detailed help for another command
  secret order create      Create a new order.
  secret order delete      Delete an order by providing its href.
  secret order get         Retrieve an order by providing its URI.
  secret order list        List orders.
  secret delete            Delete an secret by providing its href.
  secret get               Retrieve a secret by providing its URI.
  secret list              List secrets.
  secret store             Store a secret in Barbican
  secret update            Update a secret with no payload in Barbican.
[1]Documentation in this link is currently incomplete. Please use the devstack setup.

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java应用程序不是在Eclipse中运行,而是在命令行中运行   swing Java图形组件问题。似乎找不到错误   我需要键盘。close();让代码正常工作?   Springboot中的java HttpSession   抽象语法树我想添加一个语句。我试图解析它,java解析器异常被抛出。如何克服它?   java Hibernate:清理会话   具有不连续子集的java划分问题   java正则表达式查找最后一个冒号后的字符串   java从SpringShell执行OS命令   Java扫描器字符串输入   java字符串索引越界异常(charAt)   java执行器服务终止被卡住   Springockito没有继承java@ContextConfiguration   java如何为一个servlet映射多个url   java安卓获取命令的stderr   java生成类型。表:数据库中的大数字   安卓 Getter Setter返回NothingJava