小编sta*_*aka的帖子

限制对使用API​​网关作为代理的S3静态网站的访问

我有一个充当静态网站的S3存储桶,并且正在使用API​​网关向其分配流量。我了解CloudFront在这里是更好的选择,但请不要提出建议。由于我不愿讨论的原因,这不是一个选择。

我通过配置{proxy +}资源来完成我的解决方案。下图:

在此处输入图片说明

我只允许从API网关代理资源访问S3网站。 有没有一种方法可以为代理资源提供执行角色,就像您可以为资源提供执行角色以运行lambda函数一样?Lambda执行角色示例如下:

在此处输入图片说明

代理资源的集成请求部分似乎没有执行角色:

在此处输入图片说明

还是有一种方法可以为整个API网关分配角色,以为其提供访问S3存储桶的权限?

我尝试过的其他方法:

  1. 编辑存储桶策略以仅允许来自API网关服务的流量:

    {“版本”:“ 2012-10-17”,“ Id”:“ apiGatewayOnly”,“声明”:[{“ Sid”:“ apiGW”,“ Effect”:“允许”,“ Principal”:{“服务“:[[api-gateway-amazonaws.com”]},“ Action”:“ s3:GetObject”,“ Resource”:“ http://test-proxy-bucket-01.s3-website.us-east- 2.amazonaws.com/ *“}]}

  2. 编辑存储桶策略以仅允许来自API网关URL的流量:

    {“版本”:“ 2012-10-17”,“ Id”:“ http引用策略示例”,“声明”:[{“ Sid”:“允许获取源自www.example.com和example.com的请求。 “,”效果“:”允许“,”主体“:” “,”动作“:” s3:GetObject“,”资源“:” http://test-proxy-bucket-01.s3-website.us- east-2.amazonaws.com/ “,”条件“:{” StringLike“:{” aws:Referer“:[” https://xxxxxxx.execute-api.us-east-2.amazonaws.com/prod/ ”,“ http://xxxxxxxx.execute-api.us-east-2.amazonaws.com/prod “]}}}]}

amazon-s3 amazon-web-services aws-api-gateway

6
推荐指数
1
解决办法
720
查看次数

`docker build` 命令挂起很长时间,其他命令工作正常

简单的问题:使用 Docker 大约一周后,我的docker build命令陷入困境并挂起(在执行任何操作之前)大约一分钟。保持这种挂起状态后,它将docker build毫无问题地以预期的速度执行命令。

其他 Docker 命令(例如docker run)不会遇到此“挂起”问题。

Docker 安装信息:

Version 18.06.1-ce-win73
Channel: stable
Run Code Online (Sandbox Code Playgroud)

我尝试过的事情:

  • docker system prune- 这确实清理了空间,但并没有加快我的docker build命令速度
  • 在我的机器上重新安装 Docker - 这确实解决了问题,但在再次使用 Docker 大约一周后又出现了。

还有其他人遇到这个问题吗?

docker

5
推荐指数
2
解决办法
1万
查看次数

WSO2 身份服务器:如何在 Docker 化的 WSO2 身份服务器中输入密钥库和私钥密码

运行 WSO2 身份服务器 bin 目录中的 ciphertool.bat 或 ciphertool.sh 脚本后,下次启动服务器时,系统会提示您输入用于配置 WSO2 的密钥库和私钥密码安全保险库。例子:

C:\Program Files\WSO2\Identity Server\5.7.0\bin>wso2server.bat --start
JAVA_HOME environment variable is set to C:\Program Files\Java\jdk1.8.0_181
CARBON_HOME environment variable is set to C:\PROGRA~1\WSO2\IDENTI~1\570D0D~1.0\bin\..
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
[Enter KeyStore and Private Key Password :]
Run Code Online (Sandbox Code Playgroud)

我有一个在 Docker 容器中运行的 WSO2 身份服务器实例。我的密码已加密,因此我需要在启动时提供密钥库/私钥密码。

但这提出了一个问题:

我必须使用该标志运行 docker 容器,-it以便在容器中创建一个活动的 bash shell,允许我输入密钥库和私钥密码。我的 docker run 命令如下所示docker run -p 443:443 -it wso2-test .。如果我不包含该-it标志,WSO2 IS 将永远不会询问密码,并且密码将无法解析,从而导致一切失败。

我不想使用该 …

wso2 wso2-identity-server

1
推荐指数
1
解决办法
681
查看次数

使用OIDC和WSO2 IS向JWT访问令牌添加自定义声明

我有兴趣向WSO2身份服务器发布的JWT访问令牌(而不是ID令牌)添加自定义声明。我正在跟踪OpenID与WSO2的隐式连接。

我试图通过转到WSO2 IS控制台并导航到“声明”->“添加”->“添加本地声明”来添加自定义声明。然后,将声明映射到连接的OpenLDAP实例中的属性。

本地声明设置图片

上面的图像只是一个例子,我使用的实际声明映射到我的OpenLDAP实例中充当辅助用户存储的属性。

然后我尝试在服务提供商->列表->索赔配置下的服务提供商中添加索赔

服务提供商声明设置图

但是,我没有在WSO2 Identity Server授予的访问令牌中看到该自定义声明。

对我的WSO2身份服务器的调用如下所示:

https://localhost:9443/oauth2/authorize?client_id=MY_CLIENT_ID&redirect_uri=MY_REDIRECT_URI&scope=openid&response_type=token&response_mode=query&nonce=MY_NONCE
Run Code Online (Sandbox Code Playgroud)

输入正确的凭据后,令牌中看不到我的自定义声明。

令牌有效负载示例:

{
  "sub": "SUB_REMOVED",
  "aud": "AUD_REMOVED",
  "nbf": 1544053330,
  "azp": "AZP_REMOVED",
  "scope": "openid",
  "iss": "https://localhost:9443/oauth2/token",
  "groups": [
    "TEST LDAP 3/admin",
    "Internal/everyone"
  ],
  "exp": 1544056930,
  "iat": 1544053330,
  "jti": "JTI_REMOVED"
}
Run Code Online (Sandbox Code Playgroud)

我错过了一步吗?谢谢!

wso2 wso2is

0
推荐指数
1
解决办法
401
查看次数