【发布时间】:2018-04-07 12:59:00
【问题描述】:
我一直在使用 AWS PHP 开发工具包,似乎获得了除 IAM 角色和权限之外的所有内容。
谁能用最简单的术语向我解释 IAM 角色是如何工作的,并用简单的英语解释以下术语:StatementId、Action、ARN,最重要的是Principal?
为了让您了解我困惑的根源,这是我最近遇到的一个问题。我正在尝试创建一个 API 网关,其中资源的方法触发 Lambda 函数。直到我复制粘贴了这一点,它才起作用:
$lambdaClient->addPermission([
'FunctionName' => 'fn name',
'StatementId' => 'ManagerInvokeAccess',
'Action' => 'lambda:InvokeFunction',
'Principal' => 'apigateway.amazonaws.com',
]);
但在其他一些线程中,有人建议使用以下内容:
const permissions = {
FunctionName: target,
StatementId: 'api-gateway-execute',
Action: 'lambda:InvokeFunction',
Principal: 'apigateway.amazonaws.com',
SourceArn: 'arn:aws:execute-api:' + nconf.get('awsRegion') + ':' + nconf.get('awsAccountId') + ':' + nconf.get('apiGatewayId') + '/*'};
为什么第一个不包含任何帐户信息,而第二个却包含?还有另一个人粘贴了一些完全不同的东西来为him 工作。最后一个例子中有很多键(比如“Fn::Join”),我什至不知道从哪里开始以及它的作用。
如何确定在哪里可以找到这些政策?我们是否只是从某个地方复制粘贴它们是否有办法确定它们。如果是这样,必须始终指定哪些键。
任何帮助都将不胜感激,因为我现在完全糊涂了。
【问题讨论】:
标签: amazon-web-services amazon-iam aws-php-sdk