

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Izinkan akses ke Kueri Federasi Athena: Contoh kebijakan
<a name="federated-query-iam-access"></a>

Contoh kebijakan izin dalam topik ini menunjukkan diperlukan tindakan diperbolehkan dan sumber daya yang mereka diizinkan. Periksa kebijakan ini dengan saksama dan mengubahnya sesuai dengan kebutuhan Anda sebelum melampirkannya ke identitas IAM.

[Untuk informasi tentang melampirkan kebijakan ke identitas IAM, lihat [Menambahkan dan menghapus izin identitas IAM di Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).](https://docs.aws.amazon.com/IAM/latest/UserGuide/)
+  [Example policy to allow an IAM principal to run and return results using Athena Federated Query](#fed-using-iam) 
+  [Example Policy to Allow an IAM Principal to Create a Data Source Connector](#fed-creating-iam) 

**Example — Izinkan prinsipal IAM untuk menjalankan dan mengembalikan hasil menggunakan Athena Federated Query**  
Kebijakan izin berbasis identitas berikut memungkinkan tindakan yang diperlukan pengguna atau pimpinan IAM lainnya untuk menggunakan Kueri Gabungan Athena. Utama yang diizinkan untuk melakukan tindakan ini dapat menjalankan kueri yang menentukan katalog Athena yang terkait dengan sumber data gabungan.    
****  

```
{
    "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:{{us-east-1}}:{{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}}/*"
            ]
        }
    ]
}
```


**Penjelasan perizinan**  

| Tindakan yang diizinkan | Penjelasan | 
| --- | --- | 
|  <pre> "athena:GetQueryExecution", <br /> "athena:GetQueryResults",<br /> "athena:GetWorkGroup",<br /> "athena:StartQueryExecution",<br /> "athena:StopQueryExecution"</pre>  | Athena izin yang diperlukan untuk menjalankan kueri gabungan. | 
|  <pre> "athena:GetDataCatalog",<br /> "athena:GetQueryExecution,"<br /> "athena:GetQueryResults",<br /> "athena:GetWorkGroup",<br /> "athena:StartQueryExecution",<br /> "athena:StopQueryExecution"</pre>  | Izin Athena yang diperlukan untuk menjalankan kueri tampilan federasi. `GetDataCatalog`Tindakan ini diperlukan untuk tampilan. | 
|  <pre>"lambda:InvokeFunction"</pre>  | Memungkinkan kueri untuk memanggil AWS Lambda fungsi untuk AWS Lambda fungsi yang ditentukan dalam blok. Resource Misalnyaarn:aws:lambda:\*:{{MyAWSAcctId}}:function:{{MyAthenaLambdaFunction}}, di mana {{MyAthenaLambdaFunction}} menentukan nama fungsi Lambda yang akan dipanggil. Seperti yang ditunjukkan pada contoh, beberapa fungsi dapat ditentukan. | 
|  <pre>"s3:AbortMultipartUpload",<br />"s3:GetBucketLocation",<br />"s3:GetObject",<br />"s3:ListBucket",<br />"s3:ListMultipartUploadParts",<br />"s3:PutObject"</pre>  | `s3:GetBucketLocation`Izin `s3:ListBucket` dan diperlukan untuk mengakses bucket keluaran kueri untuk prinsipal IAM yang berjalan. `StartQueryExecution`<br />`s3:PutObject`,`s3:ListMultipartUploadParts`, dan `s3:AbortMultipartUpload` izinkan penulisan hasil kueri ke semua sub-folder bucket hasil kueri seperti yang ditentukan oleh pengidentifikasi `arn:aws:s3:::{{MyQueryResultsBucket}}/*` sumber daya, di mana {{MyQueryResultsBucket}} keranjang hasil kueri Athena. Untuk informasi selengkapnya, lihat [Bekerja dengan hasil kueri dan kueri terbaru](querying.md).<br />`s3:GetObject`memungkinkan pembacaan hasil kueri dan riwayat kueri untuk sumber daya yang ditentukan sebagai`arn:aws:s3:::{{MyQueryResultsBucket}}`, di mana {{MyQueryResultsBucket}} keranjang hasil kueri Athena.<br />`s3:GetObject`juga memungkinkan membaca dari sumber daya yang ditentukan sebagai`"arn:aws:s3:::{{MyLambdaSpillBucket}}/{{MyLambdaSpillPrefix}}*"`, di mana {{MyLambdaSpillPrefix}} ditentukan dalam konfigurasi fungsi Lambda atau fungsi yang dipanggil. | 

**Example — Izinkan prinsipal IAM untuk membuat konektor sumber data**  

```
{
    "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/*"
        }
    ]
}
```


**Penjelasan perizinan**  

| Tindakan yang diizinkan | Penjelasan | 
| --- | --- | 
|  <pre>"lambda:CreateFunction",<br />"lambda:ListVersionsByFunction",<br />"lambda:GetFunctionConfiguration",<br />"lambda:PutFunctionConcurrency",<br />"lambda:ListTags",<br />"lambda:DeleteFunction",<br />"lambda:GetAlias",<br />"lambda:InvokeFunction",<br />"lambda:GetFunction",<br />"lambda:ListAliases",<br />"lambda:UpdateFunctionConfiguration",<br />"lambda:UpdateFunctionCode",<br />"lambda:AddPermission",<br />"lambda:DeleteFunctionConcurrency",<br />"lambda:RemovePermission",<br />"lambda:GetPolicy"<br />"lambda:GetAccountSettings",<br />"lambda:ListFunctions",<br />"lambda:ListEventSourceMappings",<br /></pre>  | Memungkinkan penciptaan dan pengelolaan fungsi Lambda terdaftar sebagai sumber daya. Dalam contoh, awalan nama digunakan dalam pengenal sumber daya`arn:aws:lambda:*:{{MyAWSAcctId}}:function:{{MyAthenaLambdaFunctionsPrefix}}*`, di mana `{{MyAthenaLambdaFunctionsPrefix}}` awalan bersama digunakan dalam nama grup fungsi Lambda sehingga tidak perlu ditentukan secara individual sebagai sumber daya. Anda dapat menentukan satu atau lebih sumber daya fungsi Lambda. | 
|  <pre>"s3:GetObject"</pre>  | Memungkinkan membaca bucket yang AWS Serverless Application Repository membutuhkan seperti yang ditentukan oleh pengenal arn:aws:s3:::awsserverlessrepo-changesets-{{1iiv3xa62ln3m}}/\* sumber daya. Bucket ini mungkin spesifik untuk akun Anda. | 
|  <pre>"cloudformation:*"</pre>  | Memungkinkan pembuatan dan pengelolaan CloudFormation tumpukan yang ditentukan oleh sumber `{{MyCFStackPrefix}}` daya. Tumpukan dan stackset ini adalah cara AWS Serverless Application Repository menyebarkan konektor dan. UDFs | 
|  <pre>"serverlessrepo:*"</pre>  | Memungkinkan pencarian, melihat, menerbitkan, dan memperbarui aplikasi di AWS Serverless Application Repository, yang ditentukan oleh pengenal arn:aws:serverlessrepo:\*:\*:applications/\* sumber daya. | 
|  <pre>"ecr:BatchGetImage",<br />"ecr:GetDownloadUrlForLayer"</pre>  | Memungkinkan fungsi Lambda yang dibuat untuk mengakses gambar ECR konektor federasi. | 