小编Tho*_*hen的帖子

amazon-dynamodb 和按日期过滤

我有一个 dynamodb 表,其中有一个 GlobalSecondaryIndex ,其中日期字段作为键类型“range”的属性。值以 ISO 格式“YYYY-MM-DD”存储。我想在节点中仅访问日期大于特定日期的记录。它似乎适用于我的查询的参数:

KeyConditionExpression: 'myDate >= :myDate',
ExpressionAttributeValues: {   
    ':myDate': '2017-11-17'
}
Run Code Online (Sandbox Code Playgroud)

不过我不太明白。从技术上讲,日期是一个字符串。信任字符串比较是否可靠,还是应该以不同的方式完成?

amazon-dynamodb

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

无需选择器即可访问包装在服务中的外部数据库资源

我在 Google Cloud 中创建了一个托管 Postgres 数据库。该数据库获得了外部 IP 地址。第二步,我创建了一个 Kubernetes 集群。在 k8s 中,我想访问这个外部数据库。因此,我创建了一个没有标签选择器的服务,但有一个指向我的 Postgres 数据库的外部端点。

我必须允许 Postgres 数据库从(三个)集群节点访问。我在 Google Cloud Console (SQL) 中进行了配置。

我的第一个问题:这是集成外部数据库的正确方法吗?特别是这个IP访问配置?

为了测试我对数据库的连接,我的第一次尝试是从本地主机建立端口转发。我的想法是通过我的 Database-IDE(datagrip)访问这个数据库。但是,当尝试建立端口转发时,出现以下错误:

error: cannot attach to *v1.Service: invalid service 'postgres-bla-bla': Service is defined without a selector
Run Code Online (Sandbox Code Playgroud)

第二个问题:如何在本地访问该服务?

在第三步中,我使用 'partlab/ubuntu-postgresql' docker-image 创建了一个 pod。我做了一个 'kctrl exec -it ... ' 并且可以访问我的 Postgres 数据库

psql -h postgres-bla-bla ...
Run Code Online (Sandbox Code Playgroud)

所以基本上它有效。但我确信我的解决方案有一些缺陷。我可以做什么更好?如何解决问题 2 中的问题?

postgresql google-cloud-platform kubernetes

7
推荐指数
2
解决办法
2442
查看次数

traefik 和基本身份验证

我使用 traefik 1.7.14,我想为我的 grafana-docker-compose 服务使用基本身份验证。我关注了例如https://medium.com/@xavier.priour/secure-traefik-dashboard-with-https-and-password-in-docker-5b657e2aa15f 但我也查看了其他来源。在我docker-compose.yml的 Grafana 中:

grafana: 
image: grafana/grafana 
labels: 
  - "traefik.enable=true" 
  - "traefik.backend=grafana" 
  - "traefik.port=3000" 
  - "traefik.frontend.rule=Host:grafana.my-domain.io" 
  - "traefik.frontend.entryPoints=http,https" 
  - "traefik.frontend.auth.basic.users=${ADMIN_CREDS}
Run Code Online (Sandbox Code Playgroud)

ADMIN_CREDS 在我的.env文件中。我创建的内容与htpasswd -nbm my_user my_password 我也试过htpasswd -nbB my_user my_passwordmd5但是bcrypt加密。在.env

ADMIN_CREDS=test:$apr1$f0uSe/rs$KGSQaPMD.352XdXIzsfyY0
Run Code Online (Sandbox Code Playgroud)

你看:我没有在.env文件中转义 $ 符号。当我在运行时检查我的容器时,我看到与我的.env文件中完全相同的加密密码!

docker inspect 47aa3dbc3623 | grep test

给我:

"traefik.frontend.auth.basic.users": "test:$apr1$f0uSe/rs$KGSQaPMD.352XdXIzsfyY0",
Run Code Online (Sandbox Code Playgroud)

我还尝试将用户/密码字符串直接放入 docker-compose.yml。这次通过转义 $ 符号。检查命令也成功了。但是:当我调用我的 grafana-URL 时,我得到一个基本的身份验证对话框,当我输入我的用户/密码组合时,我总是得到一个

{"message":"Invalid username or password"}
Run Code Online (Sandbox Code Playgroud)

这里还有什么问题?我目前不知道。

basic-authentication docker-compose traefik

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

Google Cloud Run - 了解最终用户身份验证

我有一个网络应用程序,到目前为止一直通过云运行运行,但没有访问限制。现在它应该只对某些用户可用。我阅读了https://cloud.google.com/run/docs/authentication/end-users并尝试了两种提到的方法:Google-Sign-In 和“Identity Platform”教程。

如果我理解正确的话,您必须在这两种变体中对实际用户进行编程。例如,确定哪些电子邮件地址可以访问应用程序等。我一直在寻找一种声明性方式,理想情况下,我只维护允许的电子邮件地址列表,并且“云运行应用程序”仅“神奇地”链接到此。结果,只有这些用户才能访问 Web 应用程序。这似乎不可能?

理想情况下,实际应用程序根本不应该改变,上游层将负责身份验证和授权,可能与“身份平台”结合使用。

诚挚的问候,欢迎任何提示托马斯

authentication google-cloud-run

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