小编Dan*_*k82的帖子

S3存储桶策略,如何允许来自其他帐户的IAM组?

我在一个AWS账户中有一个S3存储桶(比如说arn:aws:s3:::my-test-bucket),需要由另一个AWS账户中定义的IAM组访问(比方说arn:aws:iam::1111222333444:group/mygroup).以下访问策略拒绝保存,并告知该主体arn:aws:s3:::my-test-bucket无效的.

{
    "Statement": [
        {
            "Action": [
                "s3:ListBucket",
                "s3:PutObject",
                "s3:List*",
                "s3:Get*"
            ],
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::1111222333444:group/mygroup"
            },
            "Resource": [
                "arn:aws:s3:::my-test-bucket",
                "arn:aws:s3:::my-test-bucket/*"
            ],
            "Sid": "allow-put-for-dedicated-group"
        }
    ],
}
Run Code Online (Sandbox Code Playgroud)

我已经通过用另一个帐户的一个用户替换该组来进行测试,这样可行:

{
    "Statement": [
        {
            "Action": [
                "s3:ListBucket",
                "s3:PutObject",
                "s3:List*",
                "s3:Get*"
            ],
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::1111222333444:user/me"
            },
            "Resource": [
                "arn:aws:s3:::my-test-bucket",
                "arn:aws:s3:::my-test-bucket/*"
            ],
            "Sid": "allow-put-for-dedicated-user"
        }
    ],
}
Run Code Online (Sandbox Code Playgroud)

该小组存在,我不明白为什么它说这是一个无效的校长.实际上它不接受我的其他帐户的任何组.

有没有人对这种行为有解释(可能还有解决方案)?

提前谢谢,干杯

policy amazon-s3 bucket amazon-web-services

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

如何告诉CMAKE下载一些必要的头文件(更准确地说是GLM数学库)而不试图编译它们?

我正在建立一个使用大量ExternalProjects的CMAKE项目.要构建其中一个(CEGUI),我需要下载GLM(OpenGL数学库).此库仅包含库,这意味着您不能编译它.有一些测试可以编译,但在我的项目中不需要它们(而且,其中一个不能正确编译并打破编译链).

我想要的是找到一种方法告诉CMAKE只下载项目(GIT更新等),就像它通常使用ExternalProject_add()函数一样,但不试图编译它(产生一个致命错误),并安装INCLUDE文件(确实是库).

是否有下载头文件并在CMAKE中安装它们的功能?有没有人已经有GLM标题库这个问题?

c++ opengl download cmake glm-math

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

给定类型列表的C++专用模板类

我正在编写一种稀疏矩阵实现,实际上有两种不同的实现:一种用于轻型(即sizeof(T) <= sizeof(int64)一种用于重型).

根据sizeof(T),我想实例化相应的类.我首先使用实例化HeavyTypeLightType实现的超类进行测试,但是这需要轻量级和重量级来从公共虚拟BaseClass继承,并且泛型调用类以这种方式使用一个或另一个(不是很干净):

template <class T> class Generic{
public:
 Generic(){
   if (sizeof(T) > TRESHOLDVALUE)
    matrix_ = new HeavyType<T>();
   else
    matrix_ = new LightType<T>();
  }
private:
 matrix_ * BaseClass<T>;
};
Run Code Online (Sandbox Code Playgroud)

这可行,但它不干净,BaseClass中的虚拟化减慢了执行速度......

我想只编写一个模板类,并将它专门用于几种类型,但我想知道:是否有可能专门针对特定的值sizeof(T)(即相当于if (sizeof(T) <= sizeof(int64)))?或者是一组可能的类型(template <> class Matrix<arrayOfPossibleTypes>)?

我想避免的类重写了int,bool,uint_32,int32,etc类型.

有没有人有想法?

PS:或者,我想到一个预编译器宏来选择LightTypeHeavyType类,但我认为sizeof()#if预编译器语句中使用它是不可能的.

c++ templates c-preprocessor

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

Apache SSI无法正常工作

我在Ubuntu 12.04服务器上运行Apache(版本2.2.22)Web服务器.SSI不起作用.经典<!--#echo var="DATE_LOCAL" -->index.shtml页面不会被解释.在/etc/apache2/httpd.conf我放了:

Options +Includes 
AddType text/html .shtml
AddHandler server-parsed .shtml
AddOutputFilter INCLUDES .shtml
Run Code Online (Sandbox Code Playgroud)

/ etc/apache2/sites-available/default中:

    DocumentRoot /var/www
    <Directory />
            Options Indexes FollowSymLinks MultiViews +ExecCGI +Includes
            AllowOverride All
            AddHandler cgi-script .cgi .pl .py
            Order allow,deny
            allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    <IfModule mod_dir.c>
         DirectoryIndex index.shtml index.html index.php
    </IfModule>
Run Code Online (Sandbox Code Playgroud)

而且,error.log给了我:

[Wed May 07 13:51:23 2014] …
Run Code Online (Sandbox Code Playgroud)

linux apache apache2 ssi ubuntu-12.04

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