

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在已啟用 IAM Identity Center 的 EMR 叢集上使用 S3 Access Grants
<a name="emr-idc-s3ag"></a>

您可以將 [S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html) 與 AWS IAM Identity Center 已啟用的 EMR 叢集整合。

使用 S3 Access Grants 授予存取權限，以存取來自使用 Identity Center 之叢集的資料集。建立授予以增強您為 IAM 使用者、群組、角色或公司目錄設定的許可。如需詳細資訊，請參閱[將 S3 Access Grants 與 Amazon EMR 搭配使用](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-access-grants.html)。

**Topics**
+ [建立 S3 Access Grants 執行個體和位置](#emr-idc-s3ag-instance)
+ [為 Identity Center 身分建立授予](#emr-idc-s3ag-identities)

## 建立 S3 Access Grants 執行個體和位置
<a name="emr-idc-s3ag-instance"></a>

如果您還沒有 S3 Access Grants 執行個體，請在要啟動 EMR 叢集的 AWS 區域 中建立 S3 Access Grants 執行個體。

使用以下 AWS CLI 命令建立名為 的新執行個體`MyInstance`：

```
aws s3control-access-grants create-access-grants-instance \
--account-id 12345678912 \
--identity-center-arn "identity-center-instance-arn" \
```

然後，請建立 S3 Access Grants 位置，使用您自有的值取代紅色值：

```
aws s3control-access-grants create-access-grants-location \
--account-id 12345678912 \
--location-scope s3:// \
--iam-role-arn "access-grant-role-arn" \
--region aa-example-1
```

**注意**  
將 `iam-role-arn` 參數定義為 `accessGrantRole` ARN。

## 為 Identity Center 身分建立授予
<a name="emr-idc-s3ag-identities"></a>

最後，請為具有叢集存取權限的身分建立授予：

```
aws s3control-access-grants create-access-grant \
--account-id 12345678912 \
--access-grants-location-id "default" \
--access-grants-location-configuration S3SubPrefix="s3-bucket-prefix"
--permission READ \
--grantee GranteeType=DIRECTORY_USER,GranteeIdentifier="your-identity-center-user-id"
```

輸出範例：

```
{
"CreatedAt": "2023-09-21T23:47:24.870000+00:00",
"AccessGrantId": "1234-12345-1234-1234567",
"AccessGrantArn": "arn:aws:s3:aa-example-1-1:123456789012:access-grants/default/grant/xxxx1234-1234-5678-1234-1234567890",
"Grantee": {
"GranteeType": "DIRECTORY_USER",
"GranteeIdentifier": "5678-56789-5678-567890"
},
"AccessGrantsLocationId": "default",
"AccessGrantsLocationConfiguration": {
"S3SubPrefix": "myprefix/*"
},
"Permission": "READ",
"GrantScope": "s3://myprefix/*"
}
```