Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Negli esempi di policy di autorizzazione in questo argomento vengono illustrate le operazioni consentite obbligatorie e le risorse per le quali sono consentite. Esamina attentamente queste policy e modificale in base ai tuoi requisiti prima di collegarle a identità IAM.
Per informazioni sul collegamento di policy alle identità IAM, consulta Aggiunta e rimozione di autorizzazioni alle identità IAM nella Guida per l'utente di IAM.
Esempio : consenti a un principale IAM di eseguire e restituire risultati utilizzando la query federata Athena
La seguente policy di autorizzazione basata su identità consente operazioni richieste da un utente o un altro principale IAM per utilizzare la query federata Athena. I principali autorizzati a eseguire queste operazioni sono in grado di eseguire query che specificano i cataloghi Athena associati a un'origine dati federata.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Athena",
"Effect": "Allow",
"Action": [
"athena:GetDataCatalog",
"athena:GetQueryExecution",
"athena:GetQueryResults",
"athena:GetWorkGroup",
"athena:StartQueryExecution",
"athena:StopQueryExecution"
],
"Resource": [
"arn:aws:athena:*:111122223333
:workgroup/WorkgroupName
",
"arn:aws:athena:aws_region
:111122223333
:datacatalog/DataCatalogName
"
]
},
{
"Sid": "ListAthenaWorkGroups",
"Effect": "Allow",
"Action": "athena:ListWorkGroups",
"Resource": "*"
},
{
"Sid": "Lambda",
"Effect": "Allow",
"Action": "lambda:InvokeFunction",
"Resource": [
"arn:aws:lambda:*:111122223333
:function:OneAthenaLambdaFunction
",
"arn:aws:lambda:*:111122223333
:function:AnotherAthenaLambdaFunction
"
]
},
{
"Sid": "S3",
"Effect": "Allow",
"Action": [
"s3:AbortMultipartUpload",
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket",
"s3:ListMultipartUploadParts",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::MyLambdaSpillBucket
",
"arn:aws:s3:::MyLambdaSpillBucket
/*",
"arn:aws:s3:::MyQueryResultsBucket
",
"arn:aws:s3:::MyQueryResultsBucket
/*"
]
}
]
}
Operazioni consentite | Spiegazione |
---|---|
|
Autorizzazioni Athena richieste per eseguire query federate. |
|
Autorizzazioni Athena necessarie per eseguire query di visualizzazione federate. L' |
|
Consente alle interrogazioni di richiamare le AWS Lambda funzioni per le AWS Lambda
funzioni specificate nel Resource blocco. Ad esempioarn:aws:lambda:*: , where MyAthenaLambdaFunction specifica il nome di una funzione Lambda da richiamare. Come mostrato nell'esempio, è possibile specificare più funzioni. |
|
Le
|
Esempio : consente a un principale IAM di creare un connettore origine dati
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"lambda:CreateFunction",
"lambda:ListVersionsByFunction",
"iam:CreateRole",
"lambda:GetFunctionConfiguration",
"iam:AttachRolePolicy",
"iam:PutRolePolicy",
"lambda:PutFunctionConcurrency",
"iam:PassRole",
"iam:DetachRolePolicy",
"lambda:ListTags",
"iam:ListAttachedRolePolicies",
"iam:DeleteRolePolicy",
"lambda:DeleteFunction",
"lambda:GetAlias",
"iam:ListRolePolicies",
"iam:GetRole",
"iam:GetPolicy",
"lambda:InvokeFunction",
"lambda:GetFunction",
"lambda:ListAliases",
"lambda:UpdateFunctionConfiguration",
"iam:DeleteRole",
"lambda:UpdateFunctionCode",
"s3:GetObject",
"lambda:AddPermission",
"iam:UpdateRole",
"lambda:DeleteFunctionConcurrency",
"lambda:RemovePermission",
"iam:GetRolePolicy",
"lambda:GetPolicy"
],
"Resource": [
"arn:aws:lambda:*:111122223333
:function:MyAthenaLambdaFunctionsPrefix
*",
"arn:aws:s3:::awsserverlessrepo-changesets-1iiv3xa62ln3m
/*",
"arn:aws:iam::*:role/RoleName
",
"arn:aws:iam::111122223333
:policy/*"
]
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"cloudformation:CreateUploadBucket",
"cloudformation:DescribeStackDriftDetectionStatus",
"cloudformation:ListExports",
"cloudformation:ListStacks",
"cloudformation:ListImports",
"lambda:ListFunctions",
"iam:ListRoles",
"lambda:GetAccountSettings",
"ec2:DescribeSecurityGroups",
"cloudformation:EstimateTemplateCost",
"ec2:DescribeVpcs",
"lambda:ListEventSourceMappings",
"cloudformation:DescribeAccountLimits",
"ec2:DescribeSubnets",
"cloudformation:CreateStackSet",
"cloudformation:ValidateTemplate"
],
"Resource": "*"
},
{
"Sid": "VisualEditor2",
"Effect": "Allow",
"Action": "cloudformation:*",
"Resource": [
"arn:aws:cloudformation:*:111122223333
:stack/aws-serverless-repository-MyCFStackPrefix
*/*",
"arn:aws:cloudformation:*:111122223333
:stack/serverlessrepo-MyCFStackPrefix
*/*",
"arn:aws:cloudformation:*:*:transform/Serverless-*",
"arn:aws:cloudformation:*:111122223333
:stackset/aws-serverless-repository-MyCFStackPrefix
*:*",
"arn:aws:cloudformation:*:111122223333
:stackset/serverlessrepo-MyCFStackPrefix
*:*"
]
},
{
"Sid": "VisualEditor3",
"Effect": "Allow",
"Action": "serverlessrepo:*",
"Resource": "arn:aws:serverlessrepo:*:*:applications/*"
},
{
"Sid": "ECR",
"Effect": "Allow",
"Action": [
"ecr:BatchGetImage",
"ecr:GetDownloadUrlForLayer"
],
"Resource": "arn:aws:ecr:*:*:repository/*"
}
]
}
Operazioni consentite | Spiegazione |
---|---|
|
Consente la creazione e la gestione delle funzioni Lambda elencate come risorse. Nell'esempio, viene utilizzato un prefisso di nome nell'identificatore di risorsa |
|
Consente la lettura di un bucket che AWS Serverless Application Repository richiede quanto specificato dall'identificatore di risorsa. arn:aws:s3:::awsserverlessrepo-changesets- Questo bucket può essere specifico per l'account. |
|
Consente la creazione e la gestione degli AWS CloudFormation stack specificati dalla risorsa. |
|
Consente la ricerca, la visualizzazione, la pubblicazione e l'aggiornamento delle applicazioni nel campo specificato dall' AWS Serverless Application Repository identificatore di risorsa. arn:aws:serverlessrepo:*:*:applications/* |
|
Consente alla funzione Lambda creata di accedere all'immagine ECR del connettore di federazione. |