小编dan*_*alk的帖子

为 GitHub Actions 的 IAM 联合 OIDC 提供商允许多个条件

此策略问题ForAnyValue:StringLike类似,是否可以在同一联合 OIDC 提供商策略声明条件中定义多个值?

具体来说,我尝试允许来自GitHub Actions OIDC 的多个主题,以允许来自特定存储库或分支的操作​​针对 AWS 资源运行操作。

(主题)字段sub用于填充声明

在每个配置 AWS 凭证操作的条件中使用单个值(即单个存储库),可以按预期工作:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::12345678901:oidc-provider/token.actions.githubusercontent.com"
      },
      "Action": "sts:AssumeRoleWithWebIdentity",
      "Condition": {
        "StringLike": {
          "token.actions.githubusercontent.com:sub": "repo:myorg/myrepo:pull_request"
        }
      }
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

而使用ForAnyValue:StringLike多个值会产生错误Not authorized to perform sts:AssumeRoleWithWebIdentity

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::12345678901:oidc-provider/token.actions.githubusercontent.com"
      },
      "Action": "sts:AssumeRoleWithWebIdentity",
      "Condition": {
        "ForAnyValue:StringLike": …
Run Code Online (Sandbox Code Playgroud)

amazon-iam openid-connect

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

我如何获得所有 CakePHP 路线的列表?

我正在尝试检索 app/Config/routes.php 中包含的所有路由的列表,并将它们显示在管理页面上。我能够使用检索控制器列表$controllers = App::objects('controller');,我想知道是否可以对路线执行相同的操作。

我已经尝试按照下面的代码使用子字符串,但是想到的问题被注释掉了路线、空格和路线的变化,例如指向外部资源的链接。我现在正在考虑使用 php 的 tokenizer,但我想知道 CakePHP 中是否内置了一个简单而优雅的解决方案。

$source = file_get_contents(APP . 'Config/routes.php');

$startPos = stripos($source, 'Router::connect(');

$routes = array();

while ($startPos !== false) {

    $endPos = stripos($source, ';', $startPos + 15);

    if($endPos !== false) {

        $route = substr($source, $startPos, $endPos - $startPos);

        $urlStart = stripos($route, "'");
        if($urlStart !== false) {
            $urlEnd = stripos($route, "'", $urlStart + 1);
            $url = substr($route, $urlStart + 1, $urlEnd - $urlStart - 1);
            $routes[] = array('route'=>$route, 'url'=>$url);

        } …
Run Code Online (Sandbox Code Playgroud)

php cakephp

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

标签 统计

amazon-iam ×1

cakephp ×1

openid-connect ×1

php ×1