

# AWS Glue 中的安全性 API
<a name="aws-glue-api-jobs-security"></a>

安全性 API 介绍安全数据类型以及与 AWS Glue 中的安全性相关的 API。

## 数据类型
<a name="aws-glue-api-jobs-security-objects"></a>
+ [DataCatalogEncryptionSettings 结构](#aws-glue-api-jobs-security-DataCatalogEncryptionSettings)
+ [EncryptionAtRest 结构](#aws-glue-api-jobs-security-EncryptionAtRest)
+ [ConnectionPasswordEncryption 结构](#aws-glue-api-jobs-security-ConnectionPasswordEncryption)
+ [EncryptionConfiguration 结构](#aws-glue-api-jobs-security-EncryptionConfiguration)
+ [S3Encryption 结构](#aws-glue-api-jobs-security-S3Encryption)
+ [CloudWatchEncryption 结构](#aws-glue-api-jobs-security-CloudWatchEncryption)
+ [JobBookmarksEncryption 结构](#aws-glue-api-jobs-security-JobBookmarksEncryption)
+ [SecurityConfiguration 结构](#aws-glue-api-jobs-security-SecurityConfiguration)
+ [GluePolicy 结构](#aws-glue-api-jobs-security-GluePolicy)
+ [DataQualityEncryption 结构](#aws-glue-api-jobs-security-DataQualityEncryption)

## DataCatalogEncryptionSettings 结构
<a name="aws-glue-api-jobs-security-DataCatalogEncryptionSettings"></a>

包含用于维护数据目录安全性的配置信息。

**Fields**
+ `EncryptionAtRest` – 一个 [EncryptionAtRest](#aws-glue-api-jobs-security-EncryptionAtRest) 对象。

  为数据目录指定静态加密配置。
+ `ConnectionPasswordEncryption` – 一个 [ConnectionPasswordEncryption](#aws-glue-api-jobs-security-ConnectionPasswordEncryption) 对象。

  启用连接密码保护后，数据目录使用客户提供的密钥作为 `CreateConnection` 或 `UpdateConnection` 的一部分来加密密码，并将密码存储在连接属性中的 `ENCRYPTED_PASSWORD` 字段中。您可以启用目录加密或仅密码加密。

## EncryptionAtRest 结构
<a name="aws-glue-api-jobs-security-EncryptionAtRest"></a>

为数据目录指定静态加密配置。

**Fields**
+ `CatalogEncryptionMode` – *必填：* UTF-8 字符串（有效值：`DISABLED` \$1 `SSE-KMS="SSEKMS"` \$1 `SSE-KMS-WITH-SERVICE-ROLE="SSEKMSWITHSERVICEROLE"`）。

  用于对数据目录数据进行加密的静态加密模式。
+ `SseAwsKmsKeyId` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  用于静态加密的 AWS KMS 密钥的 ID。
+ `CatalogEncryptionServiceRole` – UTF-8 字符串，与 [Custom string pattern #53](aws-glue-api-common.md#regex_53) 匹配。

  AWS Glue 为了代表调用者加密和解密数据目录对象而代入的角色。

## ConnectionPasswordEncryption 结构
<a name="aws-glue-api-jobs-security-ConnectionPasswordEncryption"></a>

数据目录用于加密密码的数据结构，作为 `CreateConnection` 或 `UpdateConnection` 的一部分，并将其存储在连接属性的 `ENCRYPTED_PASSWORD` 字段中。您可以启用目录加密或仅密码加密。

当包含密码的 `CreationConnection` 请求到达时，数据目录首先使用您的 AWS KMS 密钥加密密码。然后，如果还启用了目录加密，数据目录会再次加密整个连接对象。

此加密要求您根据安全要求设置 AWS KMS 密钥权限以启用或限制对密码密钥的访问。例如，您可能只希望管理员拥有密码密钥的解密权限。

**Fields**
+ `ReturnConnectionPasswordEncrypted` – *必填：*布尔值。

  当 `ReturnConnectionPasswordEncrypted` 标记设置为“true”时，在 `GetConnection` 和 `GetConnections` 响应中密码仍然保持加密状态。此加密独立于目录加密生效。
+ `AwsKmsKeyId` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  用于加密连接密码的 AWS KMS 密钥。

  如果启用了连接密码保护，则 `CreateConnection` 和 `UpdateConnection` 的调用方至少需要指定的 AWS KMS 密钥的 `kms:Encrypt` 权限，才能在将密码存储在数据目录中之前加密密码。

  您可以根据安全要求设置解密权限以启用或限制对密码密钥的访问。

## EncryptionConfiguration 结构
<a name="aws-glue-api-jobs-security-EncryptionConfiguration"></a>

指定加密配置。

**Fields**
+ `S3Encryption` – [S3Encryption](#aws-glue-api-jobs-security-S3Encryption) 对象的数组。

  Amazon Simple Storage Service (Amazon S3) 数据的加密配置。
+ `CloudWatchEncryption` – 一个 [CloudWatchEncryption](#aws-glue-api-jobs-security-CloudWatchEncryption) 对象。

  Amazon CloudWatch 的加密配置。
+ `JobBookmarksEncryption` – 一个 [JobBookmarksEncryption](#aws-glue-api-jobs-security-JobBookmarksEncryption) 对象。

  作业书签的加密配置。
+ `DataQualityEncryption` – 一个 [DataQualityEncryption](#aws-glue-api-jobs-security-DataQualityEncryption) 对象。

  AWS Glue 数据质量资产的加密配置。

## S3Encryption 结构
<a name="aws-glue-api-jobs-security-S3Encryption"></a>

指定怎样对 Amazon Simple Storage Service（Amazon S3）数据进行加密。

**Fields**
+ `S3EncryptionMode` – UTF-8 字符串（有效值：`DISABLED` \$1`SSE-KMS="SSEKMS"` \$1`SSE-S3="SSES3"` ）。

  用于 Amazon S3 数据的加密模式。
+ `KmsKeyArn` – UTF-8 字符串，与 [Custom string pattern #42](aws-glue-api-common.md#regex_42) 匹配。

  用于加密数据的 KMS 密钥的 Amazon Resource Name（ARN）。

## CloudWatchEncryption 结构
<a name="aws-glue-api-jobs-security-CloudWatchEncryption"></a>

指定如何加密 Amazon CloudWatch 数据。

**Fields**
+ `CloudWatchEncryptionMode` – UTF-8 字符串（有效值：`DISABLED` \$1`SSE-KMS="SSEKMS"` ）。

  用于 CloudWatch 数据的加密模式。
+ `KmsKeyArn` – UTF-8 字符串，与 [Custom string pattern #42](aws-glue-api-common.md#regex_42) 匹配。

  用于加密数据的 KMS 密钥的 Amazon Resource Name（ARN）。

## JobBookmarksEncryption 结构
<a name="aws-glue-api-jobs-security-JobBookmarksEncryption"></a>

指定如何加密任务书签数据。

**Fields**
+ `JobBookmarksEncryptionMode` – UTF-8 字符串（有效值：`DISABLED` \$1`CSE-KMS="CSEKMS"` ）。

  用于任务书签数据的加密模式。
+ `KmsKeyArn` – UTF-8 字符串，与 [Custom string pattern #42](aws-glue-api-common.md#regex_42) 匹配。

  用于加密数据的 KMS 密钥的 Amazon Resource Name（ARN）。

## SecurityConfiguration 结构
<a name="aws-glue-api-jobs-security-SecurityConfiguration"></a>

指定安全配置。

**Fields**
+ `Name` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  安全配置的名称。
+ `CreatedTimeStamp` – 时间戳。

  创建此安全配置的时间点。
+ `EncryptionConfiguration` – 一个 [EncryptionConfiguration](#aws-glue-api-jobs-security-EncryptionConfiguration) 对象。

  与此安全配置关联的加密配置。

## GluePolicy 结构
<a name="aws-glue-api-jobs-security-GluePolicy"></a>

返回资源策略的结构。

**Fields**
+ `PolicyInJson` – UTF-8 字符串，至少 2 个字节。

  包含 JSON 格式的请求策略文档。
+ `PolicyHash` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  包含与此策略关联的哈希值。
+ `CreateTime` – 时间戳。

  创建策略的日期和时间。
+ `UpdateTime` – 时间戳。

  上次更新策略的日期和时间。

## DataQualityEncryption 结构
<a name="aws-glue-api-jobs-security-DataQualityEncryption"></a>

指定应如何加密账户中的数据质量资产。

**Fields**
+ `DataQualityEncryptionMode` – UTF-8 字符串（有效值：`DISABLED` \$1`SSE-KMS="SSEKMS"` ）。

  用于数据质量资产加密的加密模式。这些资产包括数据质量规则集、结果、统计数据、异常检测模型以及观测结果。

  有效值是 `SSEKMS`（适用于使用客户自主管理型 KMS 密钥进行加密）或 `DISABLED`。
+ `KmsKeyArn` – UTF-8 字符串，与 [Custom string pattern #42](aws-glue-api-common.md#regex_42) 匹配。

  用于加密数据的 KMS 密钥的 Amazon Resource Name（ARN）。

## 操作
<a name="aws-glue-api-jobs-security-actions"></a>
+ [GetDataCatalogEncryptionSettings 操作（Python：get\$1data\$1catalog\$1encryption\$1settings）](#aws-glue-api-jobs-security-GetDataCatalogEncryptionSettings)
+ [PutDataCatalogEncryptionSettings 操作（Python： put\$1data\$1catalog\$1encryption\$1settings）](#aws-glue-api-jobs-security-PutDataCatalogEncryptionSettings)
+ [PutResourcePolicy 操作（Python：put\$1resource\$1policy）](#aws-glue-api-jobs-security-PutResourcePolicy)
+ [GetResourcePolicy 操作（Python：get\$1resource\$1policy）](#aws-glue-api-jobs-security-GetResourcePolicy)
+ [DeleteResourcePolicy 操作（Python：delete\$1resource\$1policy）](#aws-glue-api-jobs-security-DeleteResourcePolicy)
+ [CreateSecurityConfiguration 操作（Python：create\$1security\$1configuration）](#aws-glue-api-jobs-security-CreateSecurityConfiguration)
+ [DeleteSecurityConfiguration 操作（Python：delete\$1security\$1configuration）](#aws-glue-api-jobs-security-DeleteSecurityConfiguration)
+ [GetSecurityConfiguration 操作（Python：get\$1security\$1configuration）](#aws-glue-api-jobs-security-GetSecurityConfiguration)
+ [GetSecurityConfigurations 操作（Python：get\$1security\$1configurations）](#aws-glue-api-jobs-security-GetSecurityConfigurations)
+ [GetResourcePolicies 操作（Python：get\$1resource\$1policie）](#aws-glue-api-jobs-security-GetResourcePolicies)

## GetDataCatalogEncryptionSettings 操作（Python：get\$1data\$1catalog\$1encryption\$1settings）
<a name="aws-glue-api-jobs-security-GetDataCatalogEncryptionSettings"></a>

检索指定目录的安全配置。

**请求**
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要检索其安全配置的数据目录的 ID。如果没有提供，则默认情况下使用 AWS 账户 ID。

**响应**
+ `DataCatalogEncryptionSettings` – 一个 [DataCatalogEncryptionSettings](#aws-glue-api-jobs-security-DataCatalogEncryptionSettings) 对象。

  请求的安全配置。

**错误**
+ `InternalServiceException`
+ `InvalidInputException`
+ `OperationTimeoutException`

## PutDataCatalogEncryptionSettings 操作（Python： put\$1data\$1catalog\$1encryption\$1settings）
<a name="aws-glue-api-jobs-security-PutDataCatalogEncryptionSettings"></a>

设置指定目录的安全配置。设置配置后，指定的加密将应用于之后的每个目录写入。

**请求**
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要设置其安全配置的数据目录的 ID。如果没有提供，则默认情况下使用 AWS 账户 ID。
+ `DataCatalogEncryptionSettings` – *必填：*一个 [DataCatalogEncryptionSettings](#aws-glue-api-jobs-security-DataCatalogEncryptionSettings) 对象。

  要设置的安全配置。

**响应**
+ *无响应参数。*

**错误**
+ `InternalServiceException`
+ `InvalidInputException`
+ `OperationTimeoutException`

## PutResourcePolicy 操作（Python：put\$1resource\$1policy）
<a name="aws-glue-api-jobs-security-PutResourcePolicy"></a>

设置用于访问控制的数据目录资源策略。

**请求**
+ `PolicyInJson` – *必需：* UTF-8 字符串，至少 2 个字节。

  包含要设置的 JSON 格式的策略文档。
+ `ResourceArn` – UTF-8 字符串，长度不少于 1 个字节或超过 10240 个字节，与 [Custom string pattern #50](aws-glue-api-common.md#regex_50) 匹配。

  不使用。仅供内部使用。
+ `PolicyHashCondition` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  在使用 `PutResourcePolicy` 设置上一个策略时返回的哈希值。其用途是防止并发修改策略。如果未设置先前策略，请勿使用此参数。
+ `PolicyExistsCondition` – UTF-8 字符串（有效值：`MUST_EXIST` \$1`NOT_EXIST` \$1`NONE` ）。

  `MUST_EXIST` 的值用于更新策略。`NOT_EXIST` 的值用于创建新策略。如果使用 `NONE` 值或空值，调用不依赖于策略是否存在。
+ `EnableHybrid` – UTF-8 字符串（有效值：`TRUE` \$1`FALSE` ）。

  如果 `'TRUE'`，表示您正在使用这两种方法来授予对数据目录资源的跨账户访问权限：
  + 通过使用 `PutResourePolicy` 直接更新资源策略
  + 通过使用 AWS 管理控制台 上的**授予权限**命令。

  如果您已经使用管理控制台授予跨账户访问权限，则必须设置为 `'TRUE'`，否则调用会失败。默认设置为“FALSE”。

**响应**
+ `PolicyHash` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  刚刚设置的策略的哈希。此值必须包含在覆盖或更新该策略的后续调用中。

**错误**
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `InvalidInputException`
+ `ConditionCheckFailureException`

## GetResourcePolicy 操作（Python：get\$1resource\$1policy）
<a name="aws-glue-api-jobs-security-GetResourcePolicy"></a>

检索指定的资源策略。

**请求**
+ `ResourceArn` – UTF-8 字符串，长度不少于 1 个字节或超过 10240 个字节，与 [Custom string pattern #50](aws-glue-api-common.md#regex_50) 匹配。

  要检索其资源策略的 AWS Glue 资源的 ARN。如果未提供，则返回数据目录资源策略。使用 `GetResourcePolicies` 查看所有现有资源策略。有关更多信息，请参阅[指定 AWS Glue 资源 ARN](https://docs.aws.amazon.com/glue/latest/dg/glue-specifying-resource-arns.html)。

**响应**
+ `PolicyInJson` – UTF-8 字符串，至少 2 个字节。

  包含 JSON 格式的请求策略文档。
+ `PolicyHash` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  包含与此策略关联的哈希值。
+ `CreateTime` – 时间戳。

  创建策略的日期和时间。
+ `UpdateTime` – 时间戳。

  上次更新策略的日期和时间。

**错误**
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `InvalidInputException`

## DeleteResourcePolicy 操作（Python：delete\$1resource\$1policy）
<a name="aws-glue-api-jobs-security-DeleteResourcePolicy"></a>

删除指定的策略。

**请求**
+ `PolicyHashCondition` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  设置此策略时返回的哈希值。
+ `ResourceArn` – UTF-8 字符串，长度不少于 1 个字节或超过 10240 个字节，与 [Custom string pattern #50](aws-glue-api-common.md#regex_50) 匹配。

  要删除的资源策略的 AWS Glue 资源的 ARN。

**响应**
+ *无响应参数。*

**错误**
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `InvalidInputException`
+ `ConditionCheckFailureException`

## CreateSecurityConfiguration 操作（Python：create\$1security\$1configuration）
<a name="aws-glue-api-jobs-security-CreateSecurityConfiguration"></a>

创建新的安全配置。安全配置是 AWS Glue 可以使用的一组安全属性。您可以使用安全配置加密静态数据。有关使用 AWS Glue 中的安全配置的信息，请参阅[加密由爬网程序、任务和开发端点写入的数据](https://docs.aws.amazon.com/glue/latest/dg/encryption-security-configuration.html)。

**请求**
+ `Name` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  新安全配置的名称。
+ `EncryptionConfiguration` – *必填：*一个 [EncryptionConfiguration](#aws-glue-api-jobs-security-EncryptionConfiguration) 对象。

  新安全配置的加密配置。

**响应**
+ `Name` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  分配给新安全配置的名称。
+ `CreatedTimestamp` – 时间戳。

  创建新安全配置的时间点。

**错误**
+ `AlreadyExistsException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `ResourceNumberLimitExceededException`

## DeleteSecurityConfiguration 操作（Python：delete\$1security\$1configuration）
<a name="aws-glue-api-jobs-security-DeleteSecurityConfiguration"></a>

删除指定的安全配置。

**请求**
+ `Name` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要删除的安全配置的名称。

**响应**
+ *无响应参数。*

**错误**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## GetSecurityConfiguration 操作（Python：get\$1security\$1configuration）
<a name="aws-glue-api-jobs-security-GetSecurityConfiguration"></a>

检索指定的安全配置。

**请求**
+ `Name` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要检索的安全配置的名称。

**响应**
+ `SecurityConfiguration` – 一个 [SecurityConfiguration](#aws-glue-api-jobs-security-SecurityConfiguration) 对象。

  请求的安全配置。

**错误**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## GetSecurityConfigurations 操作（Python：get\$1security\$1configurations）
<a name="aws-glue-api-jobs-security-GetSecurityConfigurations"></a>

检索所有安全配置的列表。

**请求**
+ `MaxResults` – 数字（整数），不小于 1 或大于 1000。

  要返回的最大结果数量。
+ `NextToken` – UTF-8 字符串。

  延续标记 (如果这是延续调用)。

**响应**
+ `SecurityConfigurations` – [SecurityConfiguration](#aws-glue-api-jobs-security-SecurityConfiguration) 对象的数组。

  安全配置的列表。
+ `NextToken` – UTF-8 字符串。

  一个延续令牌（如果有多个安全配置要返回）。

**错误**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## GetResourcePolicies 操作（Python：get\$1resource\$1policie）
<a name="aws-glue-api-jobs-security-GetResourcePolicies"></a>

在跨账户权限授予期间检索 AWS Resource Access Manager 在单个资源上设置的资源策略。同时检索数据目录资源策略。

如果您在数据目录设置中启用了元数据加密，并且您没有 AWS KMS 密钥的权限，则操作无法返回数据目录资源策略。

**请求**
+ `NextToken` – UTF-8 字符串。

  延续令牌 (如果这是延续请求)。
+ `MaxResults` – 数字（整数），不小于 1 或大于 1000。

  要返回的列表的最大大小。

**响应**
+ `GetResourcePoliciesResponseList` – [GluePolicy](#aws-glue-api-jobs-security-GluePolicy) 对象的数组。

  单个资源策略和账户级资源策略列表。
+ `NextToken` – UTF-8 字符串。

  延续令牌（如果返回的列表不包含上一个可用的资源策略）。

**错误**
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `InvalidInputException`
+ `GlueEncryptionException`