轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
telefonicaiot/fiware-pep-steelskin
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

fiware-pep-steelskin Docker 镜像下载 - 轩辕镜像

fiware-pep-steelskin 镜像详细信息和使用指南

fiware-pep-steelskin 镜像标签列表和版本信息

fiware-pep-steelskin 镜像拉取命令和加速下载

fiware-pep-steelskin 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

fiware-pep-steelskin
telefonicaiot/fiware-pep-steelskin
自动构建

fiware-pep-steelskin 镜像详细信息

fiware-pep-steelskin 镜像标签列表

fiware-pep-steelskin 镜像使用说明

fiware-pep-steelskin 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

Fiware PEP Steelskin是一个策略执行点代理,用于保护独立的Fiware组件,通过拦截发送到组件的每个请求,并基于用户令牌、服务ID、子服务ID和操作等数据与访问控制组件进行验证。
0 次下载activetelefonicaiot镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

fiware-pep-steelskin 镜像详细说明

fiware-pep-steelskin 使用指南

fiware-pep-steelskin 配置说明

fiware-pep-steelskin 官方文档

fiware-pep-steelskin

![FIWARE Security]([] ![License: APGL]([] ![Quay badge]([] ![Docker badge]([]
![CI]([] ![Coverage Status]([] !Status

目录

  • 概述
  • 部署
  • 使用方法
  • 管理
  • 配置
  • 带访问控制的API
  • 从请求确定Context Broker操作的规则
  • 从请求确定Perseo操作的规则
  • 从请求确定Keypass访问控制操作的规则
  • 为其他组件自定义PEP代理
  • 许可证
  • 开发文档

概述

策略执行点(PEP)是一个代理,旨在保护独立的FiWare组件,通过拦截发送到组件的每个请求,并与访问控制组件进行验证。此验证基于以下几个数据:

  • 用户令牌:来自OAuth授权服务器,从x-auth-token头中获取。
  • ServiceId:从fiware-service头中读取,标识受保护的组件。
  • SubserviceId:从fiware-servicepath头中读取,标识服务的进一步划分。
  • 操作:PEP通过检查路径或检查主体来猜测特定请求的操作。执行此类操作的逻辑取决于被保护的组件,因此PEP需要为每个组件提供一个插件。

与访问控制的通信基于XACML协议。

在本文档中,术语IDM(身份管理器)将作为通用术语使用,指提供用户和角色创建及认证的服务器。当前支持的IDM是Keystone;还提供了Keyrock IDM选项,但可能在不久的将来被弃用。

其他三个文档提供了有关PEP代理的更多信息:

  • 操作手册:提供有关日志和警报的信息。
  • 架构信息:提供有关PEP如何工作和结构的更多信息。
  • Keystone安装:提供Keystone安装示例,包括可用于测试PEP代理并使用其功能的服务和子服务。

部署

依赖项

PEP代理是标准的Node.js应用程序,除了Node.js解释器和NPM包实用程序外,不需要更多依赖项。

只需检出此目录并使用以下命令安装Node.js依赖项:

npm install --production

然后代理应该可以配置和使用了。

使用Docker

Docker Hub上发布了Steelskin PEP代理开发版本的自动构建。要使用docker版本安装,只需执行以下命令:

docker run -p ***:*** -p 1026:1026 -e LOG_LEVEL=DEBUG -e AUTHENTICATION_HOST=<Keystone-host> -e ACCESS_HOST=<Access-control-host> -e TARGET_HOST=<Orion-host> telefonicaiot/fiware-pep-steelskin

此命令将创建一个运行PEP Steelskin的docker容器,使用进行令牌验证和认证,使用进行访问控制,并将允许的请求重定向到。请记住,您可以使用更多环境变量来定制Steelskin配置以满足您的需求;您可以在下面的配置部分找到完整列表。

请注意,此命令公开两个端口:1026端口用于组件请求,***端口用于管理端口。

构建自己的Docker镜像

也可以构建PEP组件的本地Docker镜像。

在机器上安装Docker后,按照以下步骤操作:

  1. 导航到克隆组件存储库的路径。
  2. 启动Docker构建
    • 使用Dockerfile的FROM关键字中定义的操作系统的默认NodeJS版本:
    sudo docker build -f Dockerfile .
    
    • 使用替代的NodeJS版本:
    sudo docker build --build-arg NODEJS_VERSION=0.10.46 -f Dockerfile .
    

使用PM2

通过添加PM2_ENABLED环境变量,可以在pm2进程管理器中运行Docker镜像中的PEP。

docker run --name pep -e PM2_ENABLED=true -d fiware/fiware-pep-steelskin

默认情况下,pm2的使用是禁用的。如果您的docker化环境已配置为在Node.js进程退出时重新启动它们(例如,使用Kubernetes时),添加额外的进程管理器是不必要的,并且会适得其反。

使用Node检查

通过添加INSPECT_ENABLED环境变量,可以使用node inspection运行Docker镜像中的PEP。

docker run --name pep -e INSPECT_ENABLED=true -d fiware/fiware-pep-steelskin

默认情况下,node检查的使用是禁用的。

取消部署

如果直接从GIT存储库安装代理,要取消部署代理,只需终止进程并删除目录。

配置

假设PEP代理直接从源代码部署,它不会将自己添加为服务,运行端口应手动配置。此配置将涉及两个步骤:

  • 将Context Broker的端口更改为不同的内部端口(不开放给外部连接)。有关如何执行此操作的说明,请参阅Orion Context Broker部署手册。
  • 将代理的端口更改为在Context Broker原始端口上监听,并重定向到新端口。可以在根文件夹中的config.js文件中更改这些参数。 配置完成后,可以使用以下命令将服务作为守护进程启动:
nohup bin/pep-proxy.js &> pep-proxy.log&

激活服务

安装后,代理服务处于禁用状态。要启用它,请使用以下命令:

service pepProxy start

日志轮换

无论服务如何安装,日志文件都需要外部轮换(例如:logrotate命令)以避免磁盘空间不足问题。

使用方法

如果PEP代理未作为服务启动,可以从项目根目录执行以下命令启动:

bin/pep-proxy.js

PEP代理工作后,可用于对受保护组件(例如Orion Context Broker)实施身份验证和授权。为了实施这两个操作,PEP代理必须连接到身份管理器服务器和访问管理器服务器。下一节将展示这两个过程的一些示例。

请注意,为了通过访问控制授权请求,请求必须包含以下所有头:

  • x-auth-token:应包含由IDM生成的有效用户令牌。
  • fiware-service:应包含在IDM中创建的服务名称,用户必须有权访问该服务。
  • fiware-servicepath:应包含子服务的路径,以斜杠'/'符号开头。

IDM和访问控制系统使用这些头来做出关于请求的决策,因此如果缺少任何一个,请求将不会进一步处理,并将被拒绝,返回400 HTTP错误代码。有关返回错误的详细说明,请参阅API错误代码。

代理也可以在仅身份验证模式下工作(使用config.access.disable标志),在这种情况下,fiware-service和fiware-servicepath头可以标记为可选,或无论如何检查其有效性(由config.authentication.checkHeaders标志控制)。对于执行授权过程的PEP代理,无法禁用头检查。

身份验证

身份验证过程基于OAuth v2令牌。PEP代理期望所有请求都有一个x-auth-token头,其中包含来自IDM的有效访问令牌。所有没有此要求的请求都将被拒绝,返回401错误。

PEP代理目前支持两种可能的身份验证机构:Keyrock IdM和Openstack Keystone。以下部分显示如何使用每种身份验证技术检索令牌。可以使用config.authentication.module选项配置模块。

Keyrock IdM

为了获取要随请求发送的访问令牌,用户可以向IDM发送请求,包含其用户和密码(此处显示为curl请求):

curl -i --user <serverUser>:<serverPassword> -X POST -H "Content-Type: application/x-www-form-urlencoded" https://<idmHostName>/oauth2/token -d 'grant_type=password&username=<theUserName>&password=<theUserPassword>'

如果用户和密码正确,响应将如下所示:

{
    "access_token":"O-OqiBR1AbZk7qfyidF3AwMeBY253xYEpUdkv",
    "refresh_token":"Ny0OwE***QfftxXYGwwgOLafa5v2xnI5t6HWdQ",
    "token_type":"bearer",
    "expires_in":2591999
}

access_token字段包含所需的令牌。

还必须使用它为每个用户分配角色。有关角色创建和分配的详细信息,请查看IDM API。

Keystone

为了获取其访问令牌,用户可以向Keystone发送以下请求:

curl http://localhost:5000/v3/auth/tokens \
    -s \
    -i \
    -H "Content-Type: application/json" \
    -d '
{
    "auth": {
        "identity": {
            "methods": [
                "password"
            ],
            "password": {
                "user": {
                    "domain": {
                        "name": "SmartCity"
                    },
                    "name": "alice",
                    "password": "password"
                }
            }
        }
    }
}'

令牌可以在响应的X-Subject-Token头中找到:

X-Subject-Token: MIIC3AYJKoZIhvcNAQcCoIICzTCCAskCAQExCTAHBgUrDgMCGjCCATIGCSqGSIb3DQEHAaCCASMEggEfeyJ0b2tlbiI6IHsiaXNzdWVkX2F0IjogIjIwMTQtMTAtMTBUMTA6NTA6NDkuNTMyNTQyWiIsICJleHRyYXMiOiB7fSwgIm1ldGhvZHMiOiBbInBhc3N3b3JkIl0sICJleHBpcmVzX2F0IjogIjIwMTQtMTAtMTBUMTE6NTA6NDkuNTMyNDkxWiIsICJ1c2VyIjogeyJkb21haW4iOiB7ImlkIjogImY3YTViOGUzMDNlYzQzZThhOTEyZmUyNmZhNzlkYzAyIiwgIm5hbWUiOiAiU21hcnRWYWxlbmNpYSJ9LCAiaWQiOiAiNWU4MTdjNWUwZDYyNGVlNjhkZmI3YTcyZDBkMzFjZTQiLCAibmFtZSI6ICJhbGljZSJ9fX0xggGBMIIBfQIBATBcMFcxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVVbnNldDEOMAwGA1UEBwwFVW5zZXQxDjAMBgNVBAoMBVVuc2V0MRgwFgYDVQQDDA93d3cuZXhhbXBsZS5jb20CAQEwBwYFKw4DAhowDQYJKoZIhvcNAQEBBQAEggEAKRGV3uu8fiS7UNm47KhltSjlY1e7KnedUcD-mdwz6Asbo7X9hbtljy1ml9gGcuMf6vX4tycx4goRyMARPS7YKROd0evZtnYArIyx0IrmwDaqodwp8BxBCxFgHRZtCwzHvZFEaUcClydQq7HJvBfTgTwH4v1aJkMyK8wLMP-CYyiZSfCIWPVnoB9I3P56jeKHkmcryYLgT2I-AwDBj1zd9HPzUjyQuNj5rCMkJjvz-A9-hef6AMMZuYPMIYdkei+deq86O1qFuo7PpO2SA7QWkqjcsKs9v+myvHhLrBre9GLP2hP1rc4D67lSL2XB1UY20mc6FNIVIErxT0DOSXltXQ==
Vary: X-Auth-Token
Content-Type: application/json
Content-Length: 287
Date: Fri, 10 Oct 2014 10:50:49 GMT

{
  "token": {
    "issued_at": "2014-10-10T10:50:49.532542Z",
    "extras": {},
    "methods": [
      "password"
    ],
    "expires_at": "2014-10-10T11:50:49.532491Z",
    "user": {
      "domain": {
        "id": "f7a5b8e303ec43e8a912fe26fa79dc02",
        "name": "SmartValencia"
      },
      "id": "5e817c5e0d624ee68dfb7a72d0d31ce4",
      "name": "alice"
    }
  }
}

有关用户和角色创建的详细信息,请查看Keystone API。

授权

用户通过身份验证后,PEP代理将向访问控制询问其权限。为了使请求被接受,至少有一个规则必须匹配请求信息和用户角色。

规则在XACML中定义。特定规则将取决于每个案例,并由授权设计者决定。以下文档显示了针对Context Broker用例解释的典型规则:

<Policy xsi:schemaLocation="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17
    [***]"
        PolicyId="policy03"
        RuleCombiningAlgId="urn:oasis:names:tc:xacml:3.0:rule-combining-algorithm:deny-unless-permit"
        Version="1.0" xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17"
        xmlns:xsi="[***]">

  <Target>
    <AnyOf>
      <AllOf>
        <Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-regexp-match">
          <AttributeValue
              DataType="[***]"
              >frn:contextbroker:551:833:.*</AttributeValue>
          <AttributeDesignator
              AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id"
              DataType="[***]"
              MustBePresent="true"
              Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" />
        </Match>
      </AllOf>
    </AnyOf>
  </Target>

  <Rule RuleId="policy03rule01" Effect="Permit
查看更多 fiware-pep-steelskin 相关镜像 →
fiware/orion logo
fiware/orion
by fiware
支持NGSI-v2标准的上下文代理,用于物联网环境中上下文信息的存储、查询与管理,为应用提供实时上下文数据服务。
195M+ pulls
上次更新:17 天前
fiware/orion-ld logo
fiware/orion-ld
by fiware
基于NGSI-LD标准的上下文代理,用于物联网环境中上下文信息的收集、存储、查询与分发,支持标准化数据交互的核心组件。
11M+ pulls
上次更新:7 天前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.