

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# セキュリティとアクセスコントロール
<a name="feature-store-security"></a>

 Amazon SageMaker Feature Store では、オンラインストアとオフラインストアの 2 種類のストアを作成できます。オンラインストアは低レイテンシーのリアルタイム推論に使用され、オフラインストアはトレーニングやバッチ推論のユースケースに使用されます。オンラインまたはオフラインで使用する特徴量グループを作成するときに、 AWS Key Management Service カスタマーマネージドキーを指定して、保管中のすべてのデータを暗号化できます。 AWS KMS キーを指定しない場合、データは AWS 所有キーまたは AWS マネージド AWS KMS キーを使用してサーバー側で暗号化されます AWS KMS 。特徴量グループの作成中に、ストレージタイプを選択し、オプションでデータを暗号化するための AWS KMS キーを指定し、`PutRecord`、、 `GetRecord`などのデータ管理用のさまざまな APIs呼び出すことができます`DeleteRecord`。

Feature Store では、特徴グループレベルで個々人に対してアクセスの許可または拒否ができ、また、Feature Store へのクロスアカウントアクセスを有効化できます。例えば、本番稼働用アカウントへの書き込みアクセス権はないが、モデルトレーニングや調査のためにオフラインストアにアクセスできるデベロッパーアカウントを設定できます。本番稼働用アカウントでオンラインストアとオフラインストアの両方にアクセスできるよう設定できます。Feature Store は、オフラインおよびオンラインストアの保管時のデータの暗号化に一意のカスタマー AWS KMS キーを使用します。アクセスコントロールは、API アクセスと AWS KMS キーアクセスの両方で有効になります。特徴グループレベルのアクセスコントロールも作成できます。

 カスタマーマネージドキーの詳細については、「[カスタマーマネージドキー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys)」を参照してください。詳細については AWS KMS、「」を参照してください[AWS KMS](https://aws.amazon.com/kms/)。

## Amazon SageMaker Feature Store の AWS KMS アクセス許可の使用
<a name="feature-store-kms-cmk-permissions"></a>

 保管時の暗号化は、 AWS KMS カスタマーマネージドキーで Feature Store を保護します。デフォルトでは、[AWS OnlineStore には 所有のカスタマーマネージドキーを使用し、OfflineStore には AWS マネージドのカスタマーマネージドキー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)を使用します。Feature Store では、[カスタマーマネージドキー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)を使用してオンラインまたはオフラインストアを暗号化するオプションをサポートしています。オンラインまたはオフラインストアの作成時に、Feature Store に対してカスタマーマネージドキーを選択できます。また、ストアごとに異なるキーを選択できます。

 Feature Store では[対称カスタマーマネージドキー](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html#symmetric-cmks)のみをサポートしています。オンラインまたはオフラインストアのデータの暗号化に[非対称カスタマーマネージドキー](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html#asymmetric-cmks)は使用できません。カスタマーマネージドキーが対称か非対称かを確認する方法については、「[対称および非対称カスタマーマネージドキーを識別する](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html)」を参照してください。

カスタマーマネージドキーを使うと、次の機能を活用できます。
+  カスタマーマネージドキーを作成、管理できます。これには、[キーポリシー](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)、[IAM ポリシー](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html)、カスタマーマネージドキーへのアクセスを制御する[権限付与](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)の設定が含まれます。カスタマーマネージドキーの[有効化または無効化](https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html)、[自動キーローテーション](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html)の有効化または無効化、使用しなくなった[カスタマーマネージドキーの削除](https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html)を行えます。
+  [インポートされたキーマテリアル](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html)を持つカスタマーマネージドキー、またはユーザーが所有して管理する[カスタムキーストア](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html)で、カスタマーマネージドキーを使用できます。
+  AWS KMS [AWS CloudTrail ログ](https://docs.aws.amazon.com/kms/latest/developerguide/services-dynamodb.html#dynamodb-cmk-trail)で への API コールを調べることで、オンラインストアまたはオフラインストアの暗号化と復号化を監査できます。

 AWS 所有のカスタマーマネージドキーには月額料金はかかりません。カスタマーマネージドキー[には、API コールごとに料金が発生し](https://aws.amazon.com/kms/pricing/)、クォータは各カスタマーマネージドキーに適用されます。 AWS Key Management Service 

## オンラインストアに対するカスタマーマネージドキーの使用を承認する
<a name="feature-store-authorizing-cmk-online-store"></a>

 [カスタマーマネージドキー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)を使ってオンラインストアを保護する場合、そのカスタマーマネージドキーに対するポリシーによって、Feature Store にキーを代理で使用する許可を与える必要があります。カスタマーマネージドキーに対するポリシーと権限付与のフルコントロールはお客様にあります。

 Feature Store では、 AWS アカウント内のオンラインストアまたはオフラインストアを保護するために、デフォルトの[AWS 所有 KMS キー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys)を使用するための追加の認可は必要ありません。

### カスタマーマネージドキーポリシー
<a name="feature-store-customer-managed-cmk-policy"></a>

 オンラインストアの保護に[カスタマーマネージドキー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)を選択する場合、Feature Store には、選択を行うプリンシパルの代わりにカスタマーマネージドキーを使うための許可が必要です。そのプリンシパル (ユーザーまたはロール) は、Feature Store が必要とするカスタマーマネージドキーに対する許可を持っている必要があります。これらのアクセス権限は、[キーポリシー](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)、[IAM ポリシー](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html)、または [許可](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)で指定できます。少なくとも、Feature Store は、カスタマーマネージドキーへの次の許可を必要とします。
+  「kms:Encrypt」、「kms:Decrypt」、「kms:DescribeKey」、「kms:CreateGrant」、「kms:RetireGrant」、「kms:ReEncryptFrom」、「kms:ReEncryptTo」、「kms:GenerateDataKey」、「kms:ListAliases」、「kms:ListGrants」、「kms:RevokeGrant」 

 例えば、次のキーポリシーの例では、必要なアクセス許可のみを提供します。このポリシーには、以下の影響があります。
+  Feature Store がカスタマーマネージドキーを暗号化操作に使用して、権限付与の作成ができるようにします。ただし、Feature Store を使用する許可を持つアカウント内のプリンシパルの代理として動作している場合に限ります。ポリシーステートメントで指定されたプリンシパルに Feature Store を使う許可がない場合、Feature Store サービスから呼び出された場合でも、呼び出しは失敗します。
+  [kms:ViaService](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-via-service) 条件キーは、ポリシーステートメントにリストされているプリンシパルの代わりに Feature Store からリクエストが来る場合にのみ許可を認めます。これらのプリンシパルは、これらのオペレーションを直接呼び出すことはできません。`kms:ViaService` の値は `sagemaker.*.amazonaws.com` としてください。
**注記**  
 `kms:ViaService` 条件キーはオンラインストアのカスタマーマネージド AWS KMS キーにのみ使用でき、オフラインストアには使用できません。この特別な条件をカスタマーマネージドキーに追加し、オンラインストアとオフラインストアの両方で同じ AWS KMS キーを使用すると、`CreateFeatureGroup`API オペレーションは失敗します。
+  カスタマーマネージドキー管理者に、カスタマーマネージドキーへの読み取り専用アクセス権と、権限付与 (データ保護のために Feature Store が使う権限を含む) を取り消す許可を与えます。

 サンプルキーポリシーを使用する前に、サンプルプリンシパルを AWS アカウントの実際のプリンシパルに置き換えます。

------
#### [ JSON ]

****  

```
{"Id": "key-policy-feature-store",
   "Version":"2012-10-17",		 	 	 
   "Statement": [
     {"Sid" : "Allow access through Amazon SageMaker AI Feature Store for all principals in the account that are authorized to use  Amazon SageMaker AI Feature Store ",
       "Effect": "Allow",
       "Principal": {"AWS": "arn:aws:iam::111122223333:user/featurestore-user"},
       "Action": [
         "kms:Encrypt",
         "kms:Decrypt",
         "kms:DescribeKey",
         "kms:CreateGrant",
         "kms:RetireGrant",
         "kms:ReEncryptFrom",
         "kms:ReEncryptTo",
         "kms:GenerateDataKey",
         "kms:ListGrants"
       ],
       "Resource": "*",      
       "Condition": {"StringLike": {"kms:ViaService" : "sagemaker.*.amazonaws.com"
          }
       }
     },
     {"Sid" : "Allow listing aliases",
       "Effect": "Allow",
       "Principal": {"AWS": "arn:aws:iam::111122223333:user/featurestore-user"},
       "Action": "kms:ListAliases",
       "Resource": "*"
     },
     {"Sid":  "Allow administrators to view the customer managed key and revoke grants",
       "Effect": "Allow",
       "Principal": {"AWS": "arn:aws:iam::111122223333:role/featurestore-admin"
        },
       "Action": [
         "kms:Describe*",
         "kms:Get*",
         "kms:List*",
         "kms:RevokeGrant"
       ],
       "Resource": "*"
     },
     {"Sid": "Enable IAM User Permissions",
       "Effect": "Allow",
       "Principal": {"AWS": "arn:aws:iam::111122223333:root"
        },
        "Action": "kms:*",
        "Resource": "*"
     }
   ]
 }
```

------

## 権限付与を使って Feature Store を認可する
<a name="feature-store-using-grants-authorize"></a>

 Feature Store は、キーポリシーに加え、権限付与を使ってカスタマーマネージドキーに許可を設定できます。アカウントにあるカスタマーマネージドキーへの権限付与を表示するには、`[ListGrants](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListGrants.html)` オペレーションを使用します。Feature Store は、[AWS 所有のカスタマーマネージドキー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)を使用してオンラインストアを保護するのに、権限付与や追加の許可を必要としません。

 Feature Store は、バックグラウンドシステムメンテナンスおよび継続的なデータ保護タスクを実行するときに、権限付与を使用します。

 各権限付与は、オンラインストアごとに固有です。同じカスタマーマネージドキーで暗号化された複数のストアがアカウントに含まれている場合、同じカスタマーマネージドキーを使用する `FeatureGroup` ごとに固有の権限が付与されます。

 キーポリシーは、アカウントがカスタマーマネージドキーの[権限付与を取り消す](https://docs.aws.amazon.com/kms/latest/APIReference/API_RevokeGrant.html)ことも許可できます。ただし、アクティブな暗号化されたオンラインストアで権限付与を取り消すと、Feature Store はストアを保護、維持できません。

## Feature Store と のインタラクションのモニタリング AWS KMS
<a name="feature-store-monitoring-kms-interaction"></a>

 [カスタマーマネージドキー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)を使用してオンラインストアまたはオフラインストアを保護する場合は、 AWS CloudTrail ログを使用して、Feature Store が AWS KMS ユーザーに代わって に送信するリクエストを追跡できます。

## オンラインストアのデータにアクセスする
<a name="feature-store-accessing-data-online-store"></a>

 **すべてのデータプレーンオペレーション (Put、Get、DeleteRecord)** への**発信者 (ユーザーまたはロール)** のカスタマーマネージドキーには、次の許可が必要です。

```
"kms:Decrypt"
```

## オフラインストアのカスタマーマネージドキーの使用を認可する
<a name="feature-store-authorizing-use-cmk-offline-store"></a>

 `createFeatureGroup` にパラメータとして渡される **roleArn** は OfflineStore KmsKeyId に次の許可を持っている必要があります。

```
"kms:GenerateDataKey"
```

**注記**  
`kms:ViaService` 条件が指定されていない場合のみ、オンラインストアのキーポリシーは、オフラインストアでも機能します。

**重要**  
 AWS KMS 暗号化キーを指定して、特徴量グループの作成時にオフライン特徴量ストアに使用される Amazon S3 の場所を暗号化できます。 AWS KMS 暗号化キーが指定されていない場合、デフォルトでは AWS KMS キーを使用して保管中のすべてのデータを暗号化します。SSE の[バケットレベルのキー](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html)を定義することで、 AWS KMS リクエストコストを最大 99% 削減できます。