

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

# Amazon SageMaker AI でセキュリティを設定する
<a name="security"></a>

のクラウドセキュリティが最優先事項 AWS です。お客様は AWS 、セキュリティを最も重視する組織の要件を満たすように構築されたデータセンターとネットワークアーキテクチャを活用できます。

セキュリティは、 AWS お客様とお客様の間の責任共有です。[責任共有モデル](https://aws.amazon.com/compliance/shared-responsibility-model/)では、これをクラウドのセキュリティおよびクラウド内のセキュリティとして説明しています。
+ **クラウドのセキュリティ** – AWS クラウドで AWS サービスを実行するインフラストラクチャを保護する AWS 責任があります。 AWS また、 では、安全に使用できるサービスも提供しています。[「AWS 」 コンプライアンスプログラム](https://aws.amazon.com/compliance/programs/)の一環として、サードパーティーの監査が定期的にセキュリティの有効性をテストおよび検証しています。Amazon SageMaker AI に適用されるコンプライアンスプログラムの詳細については、「[コンプライアンスプログラムによる対象範囲内の のサービス](https://aws.amazon.com/compliance/services-in-scope/)コンプライアンスプログラムによる対象範囲内のAWS のサービス」を参照してください。
+ **クラウドのセキュリティ** – お客様の責任は、使用する AWS サービスによって決まります。また、ユーザーは、データの機密性、会社の要件、適用される法律や規制など、その他の要因についても責任を負います。

このドキュメントは、SageMaker AI を使用する際に責任共有モデルを適用する方法を理解するのに役立ちます。以下のトピックでは、セキュリティおよびコンプライアンスの目的を達成するために SageMaker AI を設定する方法を説明します。また、SageMaker AI リソースのモニタリングや保護に役立つ他の AWS サービスの使用方法についても説明します。

**Topics**
+ [Amazon SageMaker AI でデータのプライバシー](data-privacy.md)
+ [Amazon SageMaker AI でデータ保護](data-protection.md)
+ [AWS Identity and Access Management for Amazon SageMaker AI](security-iam.md)
+ [ログ記録とモニタリング](sagemaker-incident-response.md)
+ [Amazon SageMaker AI のコンプライアンス検証](sagemaker-compliance.md)
+ [Amazon SageMaker AI の耐障害性](disaster-recovery-resiliency.md)
+ [Amazon SageMaker AI のインフラストラクチャセキュリティ](infrastructure-security.md)

# Amazon SageMaker AI でデータのプライバシー
<a name="data-privacy"></a>

Amazon SageMaker AI は、トレーニング中に使用される AWS所有ライブラリとオープンソースライブラリの使用に関する集計情報を収集します。SageMaker AI は、この集約されたメタデータを使用して、サービスとカスタマーエクスペリエンスを向上させます。

以降のセクションでは、SageMaker AI が収集するメタデータのタイプと、メタデータ収集をオプトアウトする方法について説明します。

## 収集される情報のタイプ
<a name="data-privacy-info-types"></a>

**使用状況の情報**  
分散トレーニング、コンパイル、量子化など、SageMaker トレーニングで使用される AWS所有ライブラリとオープンソースライブラリからのメタデータ。

**エラー**  
SageMaker トレーニングプラットフォームの操作に起因する障害、クラッシュ、カスケード、失敗など、予期しない動作によるエラー

## メタデータの収集をオプトアウトする方法
<a name="data-privacy-opt-out"></a>

`CreateTrainingJob` API を使用してトレーニングジョブを作成する際に、集約されたメタデータを SageMaker トレーニングと共有することをオプトアウトできます。コンソールを使用してトレーニングジョブを作成する場合、メタデータの収集はデフォルトで無効になっています。

**重要**  
送信するトレーニングジョブごとにメタデータ収集をオプトアウトすることを選択する必要があります。次の例で示されるとおり、オプトアウトの選択は API コールで行う必要があります。トレーニングスクリプト内でオプトアウトすることはできません。

次のセクションでは、 AWS CLI、 AWS SDK for Python (Boto3)、または SageMaker Python SDK を使用してメタデータ収集をオプトアウトする方法を示します。

### AWS Command Line Interface (AWS CLI) を使用してメタデータ収集をオプトアウトする
<a name="data-privacy-opt-out-cli"></a>

を使用してメタデータ収集をオプトアウトするには AWS CLI、次のコード例に示すように、 `create-training-job` API `OPT_OUT_TRACKING` `1` で 環境変数を に設定します。

```
aws sagemaker create-training-job \
--training-job-name your_job_name \
--algorithm-specification AlgorithmName=your_algorithm_name\
--output-data-config S3OutputPath=s3://bucket-name/key-name-prefix \
--resource-config InstanceType=ml.c5.xlarge, InstanceCount=1 \
--stopping-condition MaxRuntimeInSeconds=100 \
--environment OPT_OUT_TRACKING=1
```

### を使用してメタデータ収集をオプトアウトする AWS SDK for Python (Boto3)
<a name="data-privacy-opt-out-boto3"></a>

SDK for Python (Boto3) を使用してメタデータの収集をオプトアウトするには、次のコード例で示されるとおり、`create_training_job` API で環境変数 `OPT_OUT_TRACKING` を `1` に設定します。

```
boto3.client('sagemaker').create_training_job(
    TrainingJobName='your_training_job',
    AlgorithmSpecification={
        'AlgorithmName': 'your_algorithm_name',
        'TrainingInputMode': 'File',
    },
    RoleArn='your_arn',
    OutputDataConfig={
        'S3OutputPath': 's3://bucket-name/key-name-prefix',
    },
    ResourceConfig={
        'InstanceType': 'ml.m4.xlarge',
        'InstanceCount': 1,
        'VolumeSizeInGB': 123,
    },
    StoppingCondition={
        'MaxRuntimeInSeconds': 123,
    },
    Environment={
        'OPT_OUT_TRACKING': '1'
    },
)
```

### SageMaker Python SDK を使用してメタデータの収集をオプトアウトする
<a name="data-privacy-opt-out-sdk"></a>

SageMaker Python SDK を使用してメタデータの収集をオプトアウトするには、次のコード例で示されるとおり、SageMaker AI 推定ツール内で環境変数 `OPT_OUT_TRACKING` を `1` に設定します。

```
sagemaker.estimator(
    image_uri='path_to_container',
    role='rolearn',
    instance_count=1, 
    instance_type='ml.c5.xlarge', 
    environment={
        'OPT_OUT_TRACKING': '1'
    }, 
)
```

### アカウント単位でメタデータの収集をオプトアウトする
<a name="data-privacy-opt-out-account-wide"></a>

複数のアカウントのメタデータ収集をオプトアウトする場合は、アカウント単位の追跡をオプトアウトするように環境変数を設定できます。アカウントレベルでメタデータ収集をオプトアウトするには、SageMaker AI Python SDK を使用する必要があります。

次のコード例は、アカウント全体で追跡をオプトアウトする方法を説明しています。

```
SchemaVersion: '1.0'
SageMaker:
  TrainingJob:
    Environment:
      'OPT_OUT_TRACKING': '1'
```

アカウント単位で追跡をオプトアウトする方法の詳細については、「[Configuring and using defaults with the SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/overview.html#id22)」を参照してください。

## 追加情報
<a name="data-privacy-added-info"></a>

**ダウンストリームサービスが SageMaker AI トレーニングに依存している場合**

SageMaker トレーニングに依存するサービスを運用している場合は、SageMaker トレーニングプラットフォームでの集約メタデータ収集について顧客に通知して、オプトアウトの選択肢を提示することを強くお勧めします。別の方法としては、顧客に代わってメタデータ収集をオプトアウトすることもできます。

**SageMaker AI トレーニングを使用するサービスのクライアントまたはお客様の場合**

SageMaker トレーニングを使用するサービスのクライアントまたは顧客の場合は、前のセクションのいずれかの方法を使用してメタデータ収集をオプトアウトしてください。

# Amazon SageMaker AI でデータ保護
<a name="data-protection"></a>

 AWS [責任共有モデル](https://aws.amazon.com/compliance/shared-responsibility-model/)、Amazon SageMaker AI でのデータ保護に適用されます。このモデルで説明されているように、 AWS はすべての を実行するグローバルインフラストラクチャを保護する責任があります AWS クラウド。ユーザーは、このインフラストラクチャでホストされるコンテンツに対する管理を維持する責任があります。また、使用する「 AWS のサービス 」のセキュリティ設定と管理タスクもユーザーの責任となります。データプライバシーの詳細については、[データプライバシーに関するよくある質問](https://aws.amazon.com/compliance/data-privacy-faq/)を参照してください。欧州でのデータ保護の詳細については、*AWS セキュリティブログ*に投稿された「[AWS 責任共有モデルおよび GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/)」のブログ記事を参照してください。

データ保護の目的で、認証情報を保護し AWS アカウント 、 AWS IAM アイデンティティセンター または AWS Identity and Access Management (IAM) を使用して個々のユーザーを設定することをお勧めします。この方法により、それぞれのジョブを遂行するために必要な権限のみが各ユーザーに付与されます。また、次の方法でデータを保護することもお勧めします:
+ 各アカウントで多要素認証 (MFA) を使用します。
+ SSL/TLS を使用して AWS リソースと通信します。TLS 1.2 は必須ですが、TLS 1.3 を推奨します。
+ で API とユーザーアクティビティのログ記録を設定します AWS CloudTrail。CloudTrail 証跡を使用して AWS アクティビティをキャプチャする方法については、「 *AWS CloudTrail ユーザーガイド*」の[CloudTrail 証跡の使用](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html)」を参照してください。
+  AWS 暗号化ソリューションと、 内のすべてのデフォルトのセキュリティコントロールを使用します AWS のサービス。
+ Amazon Macie などの高度な管理されたセキュリティサービスを使用します。これらは、Amazon S3 に保存されている機密データの検出と保護を支援します。
+ コマンドラインインターフェイスまたは API AWS を介して にアクセスするときに FIPS 140-3 検証済み暗号化モジュールが必要な場合は、FIPS エンドポイントを使用します。利用可能な FIPS エンドポイントの詳細については、「[連邦情報処理規格 (FIPS) 140-3](https://aws.amazon.com/compliance/fips/)」を参照してください。

お客様の E メールアドレスなどの極秘または機密情報を、タグ、または **[名前]** フィールドなどの自由形式のテキストフィールドに含めないことを強くお勧めします。これは、コンソール、API、または SDK を使用して Amazon SageMaker AI AWS CLIまたは他の AWS のサービス を使用する場合も同様です。 AWS SDKs タグ、または名前に使用される自由記述のテキストフィールドに入力したデータは、請求または診断ログに使用される場合があります。外部サーバーに URL を提供する場合、そのサーバーへのリクエストを検証できるように、認証情報を URL に含めないことを強くお勧めします。

**Topics**
+ [暗号化を使用して保管時のデータを保護する](encryption-at-rest.md)
+ [暗号化を使用して転送中のデータを保護する](encryption-in-transit.md)
+ [キーの管理](key-management.md)
+ [インターネットトラフィックのプライバシー](inter-network-privacy.md)

# 暗号化を使用して保管時のデータを保護する
<a name="encryption-at-rest"></a>

Amazon SageMaker AI は、Studio ノートブック、ノートブックインスタンス、モデル構築データ、モデルアーティファクト、トレーニング、バッチ変換、処理ジョブからの出力の各機能について、デフォルトで AWS マネージドキー for Amazon S3 (SSE-S3) を使用してデータを自動的に暗号化します。

クロスアカウントアクセスの場合、Amazon S3 AWS マネージドキー のデフォルトはアカウント間で共有できないため、SageMaker AI リソースの作成時に独自のカスタマーマネージドキーを指定する必要があります。Amazon S3 Express One Zone へのデータ出力の場合、データは Amazon S3 マネージドキー (SSE-S3) を使用したサーバー側暗号化で暗号化されます。さらに、Amazon S3 ディレクトリバケットへのデータ出力は、 AWS Key Management Service キー (SSE-KMS) を使用したサーバー側の暗号化では暗号化できません。詳細については AWS KMS、[「 とは」を参照してください AWS Key Management Service。](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)

**Topics**
+ [Studio のノートブック](encryption-at-rest-studio.md)
+ [ノートブックインスタンス、SageMaker AI ジョブ、エンドポイント](encryption-at-rest-nbi.md)
+ [SageMaker 地理空間機能](geospatial-encryption-at-rest.md)

# Studio のノートブック
<a name="encryption-at-rest-studio"></a>

Amazon SageMaker Studio では、SageMaker Studio のノートブックとデータを以下の場所に保存できます。
+ S3 バケット - Studio にオンボードして共有可能なノートブックリソースを有効にすると、SageMaker AI によって Amazon Simple Storage Service (Amazon S3) バケットのノートブックのスナップショットとメタデータが共有されます。
+ EFS ボリューム - Studio にオンボードすると、SageMaker AI によって Amazon Elastic File System (Amazon EFS) ボリュームがドメインにアタッチされ、Studio ノートブックとデータファイルを保存できるようになります。EFS ボリュームは、ドメインを削除した後も保持されます。
+ EBS ボリューム - Studio でノートブックを開くと、ノートブックが実行されているインスタンスに Amazon Elastic Block Store (Amazon EBS) がアタッチされます。EBS ボリュームは、インスタンスの存続期間中、保持されます。

SageMaker AI は AWS Key Management Service (AWS KMS) を使用して S3 バケットと両方のボリュームを暗号化します。デフォルトでは、 AWS サービスアカウントで管理される KMS キーを使用します。より詳細に制御するために、Studio にオンボードするとき、または SageMaker API を通じて、独自のカスタマーマネージドキーを指定できます。詳細については、「[Amazon SageMaker AI ドメインの概要](gs-studio-onboard.md)」および「[CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html)」を参照してください。

`CreateDomain` API で `S3KmsKeyId` パラメータを使用すると、共有可能なノートブックのカスタマーマネージドキーを指定できます。`KmsKeyId` パラメータを使用すると、EFS ボリュームと EBS ボリュームのカスタマーマネージドキーを指定できます。両方のボリュームに、同じカスタマーマネージドキーが使用されます。共有可能なノートブックのカスタマーマネージドキーには、ボリュームに使用されるものと同じカスタマーマネージドキーまたは別のカスタマーマネージドキーを使用できます。

**重要**  
ストレージボリューム内のユーザーの作業ディレクトリは `/home/sagemaker-user` です。独自の AWS KMS キーを指定すると、作業ディレクトリ内のすべてのものがカスタマーマネージドキーを使用して暗号化されます。 AWS KMS キーを指定しない場合、 内のデータは AWS マネージドキーで暗号化`/home/sagemaker-user`されます。 AWS KMS キーを指定するかどうかにかかわらず、作業ディレクトリ外のすべてのデータは AWS マネージドキーで暗号化されます。

# ノートブックインスタンス、SageMaker AI ジョブ、エンドポイント
<a name="encryption-at-rest-nbi"></a>

ノートブック、処理ジョブ、トレーニングジョブ、ハイパーパラメータ調整ジョブ、バッチ変換ジョブ、エンドポイントにアタッチされている機械学習 (ML) ストレージボリュームを暗号化するには、 AWS KMS キーを SageMaker AI に渡すことができます。KMS キーを指定しないと、SageMaker AI は一時的なキーを使ってストレージボリュームを暗号化し、ストレージボリュームを暗号化した直後に一時的なキーを破棄します。ノートブックインスタンスの場合、KMS キーを指定しないと、SageMaker AI は OS ボリュームと ML データボリュームの両方をシステム管理の KMS キーで暗号化します。

 AWS マネージド AWS KMS キーを使用して、すべてのインスタンス OS ボリュームを暗号化できます。指定した AWS KMS キーを使用して、すべての SageMaker AI インスタンスのすべての ML データボリュームを暗号化できます。ML ストレージボリュームは、次のようにマウントされます。
+ ノートブック - `/home/ec2-user/SageMaker`
+ 処理中 - `/opt/ml/processing` および `/tmp/` 
+ トレーニング - `/opt/ml/` および `/tmp/`
+  バッチ - `/opt/ml/` および `/tmp/`
+ エンドポイント - `/opt/ml/` および `/tmp/` 

処理、バッチ変換、およびトレーニングジョブのコンテナやストレージは、その性質上、エフェメラル (一時的) です。ジョブが完了すると、指定したオプションの AWS KMS キーを使用した暗号化を使用して AWS KMS 出力が Amazon S3 にアップロードされ、インスタンスが破棄されます。ジョブリクエストで AWS KMS キーが指定されていない場合、SageMaker AI はロールのアカウントに Amazon S3 のデフォルト AWS KMS キーを使用します。出力データが Amazon S3 Express One Zone に保存される場合、Amazon S3 マネージドキー (SSE-S3) を使用したサーバー側暗号化で暗号化されます。現時点では、SageMaker AI 出力データを Amazon S3 ディレクトリバケットに保存する場合、 AWS KMS キーを使用したサーバー側の暗号化 (SSE-KMS) はサポートされていません。

**注記**  
Amazon S3 用 AWS マネージドキーのキーポリシーは編集できないため、これらのキーポリシーにクロスアカウントアクセス許可を付与することはできません。リクエストの出力 Amazon S3 バケットが別のアカウントからのものである場合は、ジョブリクエストで独自の AWS KMS カスタマーキーを指定し、ジョブの実行ロールにデータを暗号化するアクセス許可があることを確認します。

**重要**  
コンプライアンス上の理由から KMS キーを使用して暗号化する必要がある機密データは、ML ストレージボリュームまたは Amazon S3 に保存する必要があります。どちらの場合も、必要に応じて、指定した KMS キーを使用して暗号化できます。

ノートブックインスタンスを開いた場合、SageMaker AI は、デフォルトでそのインスタンスおよび関連ファイルを ML ストレージボリューム内の SageMaker AI フォルダに保存します。ノートブックインスタンスを停止すると、SageMaker AI は ML ストレージボリュームのスナップショットを作成します。フォルダの外部に保存されている、インストールされたカスタムライブラリやオペレーティングシステムレベルの設定など、停止したインスタンスのオペレーティングシステムに対するカスタマイズ`/home/ec2-user/SageMaker`は失われます。デフォルトのノートブックインスタンスのカスタマイズを自動化するには、ライフサイクル設定の使用を検討してください。インスタンスを終了すると、スナップショットと ML ストレージボリュームは削除されます。ノートブックインスタンスの存続期間を超えて保持する必要があるデータは、Amazon S3 バケットに転送してください。

ノートブックインスタンスが更新されず、安全でないソフトウェアを実行している場合、SageMaker AI は定期的なメンテナンスの一環としてインスタンスを定期的に更新することがあります。これらの更新中、フォルダ外のデータは保持`/home/ec2-user/SageMaker`されません。メンテナンスパッチとセキュリティパッチの詳細については、「」を参照してください[メンテナンス](nbi.md#nbi-maintenance)。

**注記**  
特定の Nitro ベースの SageMaker AI インスタンスには、インスタンスタイプに応じたローカルストレージが含まれます。ローカルストレージボリュームは、インスタンスのハードウェアモジュールを使用して暗号化されます。ローカルストレージのインスタンスタイプで KMS キーを使用することはできません。ローカルインスタンスストレージをサポートするインスタンスタイプのリストについては、「[インスタンスストアボリューム](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes)」を参照してください。Nitro ベースのインスタンスのストレージボリュームの詳細については、「[Linux インスタンスでの Amazon EBS および NVMe](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html)」を参照してください。  
ローカルインスタンスストレージの暗号化の詳細については、「[SSD インスタンスストアボリューム](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html)」を参照してください。

# SageMaker 地理空間機能
<a name="geospatial-encryption-at-rest"></a>

暗号化を使用して、SageMaker 地理空間で保管中のデータを保護できます。
<a name="geospatial-encryption-at-rest-gmk"></a>
**Amazon SageMaker 地理空間所有キーによるサーバー側の暗号化 (デフォルト)**  
Amazon SageMaker の地理空間機能は、`EarthObservationJobs` と `VectorEnrichmentJobs` の計算結果とすべてのサービスメタデータを含むすべてのデータを暗号化します。Amazon SageMaker AI 内に暗号化されずに保存されるデータはありません。デフォルトを使用してすべてのデータを AWS 所有のキー 暗号化します。
<a name="geospatial-encryption-at-rest-ksm"></a>
**に保存された KMS キーによるサーバー側の暗号化 AWS Key Management Service (SSE-KMS)**  
Amazon SageMaker の地理空間機能は、顧客所有の KMS キーを使用した暗号化をサポートしています。詳細については、「Use [AWS KMS Permissions for Amazon SageMaker geospatial capabilities](https://docs.aws.amazon.com/sagemaker/latest/dg/geospatial-kms.html)」を参照してください。

# 暗号化を使用して転送中のデータを保護する
<a name="encryption-in-transit"></a>

転送中のネットワーク間データはすべて、TLS 1.2 暗号化をサポートしています。TLS 1.3 を使用することをお勧めします。

Amazon SageMaker AI では、機械学習 (ML) モデルアーティファクトと他のシステムアーティファクトは転送中も保管中も暗号化されます。SageMaker AI の API とコンソールに対するリクエストには、安全な SSL 接続を使用します。SageMaker AI に AWS Identity and Access Management ロールを渡し、トレーニングとデプロイのためにユーザーに代わってリソースにアクセスするアクセス許可を付与します。

転送中のネットワーク間データ (サービスプラットフォーム内) の一部は暗号化されません。これには、以下が含まれます。
+ サービスコントロールプレーンとトレーニングジョブインスタンス (顧客データではない) の間のコマンドとコントロールの通信。
+ 分散処理ジョブ (ネットワーク間) のノード間の通信。
+ 分散トレーニングジョブ (ネットワーク間) のノード間の通信。

バッチ処理のためのノード間通信はありません。

トレーニングジョブクラスターと処理ジョブクラスター内のノード間の通信を暗号化することを選択できます。

**注記**  
医療分野のユースケースでは、ノード間の通信を暗号化することがセキュリティのベストプラクティスです。

通信を暗号化する方法については、次のトピックの「[分散トレーニングジョブで ML コンピューティングインスタンス間の通信を保護する](train-encrypt.md)」を参照してください。

**注記**  
コンテナ間のトラフィックを暗号化すると、トレーニング時間が増える可能性があります。特に分散型深層学習アルゴリズムを使用する際にはご注意ください。影響を受けるアルゴリズムについては、このセキュリティレベルを高めることで、コストも増加します。XGBoost、DeepAR、線形学習者などの、ほとんどの SageMaker AI の組み込みアルゴリズムのトレーニング時間は、通常影響を受けません。

FIPS 検証済みのエンドポイントは、SageMaker AI API およびホストモデルのリクエストルーターで利用できます (ランタイム)。FIPS 準拠のエンドポイントについては、「[連邦情報処理規格 (FIPS) 140-2](https://aws.amazon.com/compliance/fips/)」を参照してください。

## RStudio on Amazon SageMaker AI での通信を保護する
<a name="encrypt-rstudio"></a>

RStudio on Amazon SageMaker AI は、SageMaker AI コンポーネントに関連するすべての通信を暗号化します。ただし、以前のバージョンでは RStudioServerPro アプリケーションと RSession アプリケーション間の暗号化はサポートされていませんでした。

RStudio は 2022 年 4 月にバージョン 2022.02.2-485.pro2 をリリースしました。このバージョンは RStudioServerPro アプリと RSession アプリ間の暗号化をサポートし、エンドツーエンドの暗号化を可能にします。ただし、バージョンのアップグレードには完全な下位互換性があるわけではありません。そのため、RStudioServerPro アプリと RSession アプリをすべて更新する必要があります。アプリを更新する方法については、「[RStudio のバージョニング](rstudio-version.md)」を参照してください。

# 分散トレーニングジョブで ML コンピューティングインスタンス間の通信を保護する
<a name="train-encrypt"></a>

デフォルトでは、Amazon SageMaker AI はトレーニングジョブを Amazon Virtual Private Cloud (Amazon VPC) で実行し、データの安全性を維持します。*プライベート* VPC を設定することで、別のレベルのセキュリティを追加して、トレーニングコンテナとデータを保護することができます。分散 ML フレームワークとアルゴリズムは、通常、トレーニングデータセットではなく、ウェイトなど、モデルに直接関連する情報を送信します。分散型トレーニングを実行すると、インスタンス間で送信されるデータをさらに保護することができます。これは規制要件に準拠するのに役立ちます。そのためには、コンテナ間のトラフィック暗号化を使用します。

**注記**  
医療分野のユースケースでは、ノード間の通信を暗号化することがセキュリティのベストプラクティスです。

コンテナ間のトラフィック暗号化を有効にすると、特に分散型深層学習アルゴリズムを使用している場合に、トレーニング時間が増える可能性があります。コンテナ間のトラフィック暗号化を有効にしても、単一のコンピューティングインスタンスを備えるトレーニングジョブには影響しません。だたし、複数のコンピューティングインスタンスを備えるトレーニングジョブについては、トレーニング時間への影響は、コンピューティングインスタンス間の通信の量によって異なります。影響を受けるアルゴリズムについては、このセキュリティレベルを高めることで、コストも増加します。XGBoost、DeepAR、線形学習者などの、ほとんどの SageMaker AI の組み込みアルゴリズムのトレーニング時間は、通常影響を受けません。

トレーニングジョブまたはハイパーパラメータ調整ジョブで、コンテナ間のトラフィック暗号化を有効にできます。コンテナ間のトラフィック暗号化を有効にするには、SageMaker API またはコンソールを使用します。

プライベート VPC でのトレーニングジョブの実行については、「[Amazon VPC のリソースへのアクセス権を SageMaker AI トレーニングジョブに付与する](train-vpc.md)」を参照してください。

## コンテナ間のトラフィック暗号化を有効化にする (API)
<a name="train-encrypt-api"></a>

API を使用してトレーニングまたはハイパーパラメータ調整ジョブでコンテナ間のトラフィック暗号化を有効にするには、プライベート VPC のセキュリティグループにインバウンドルールとアウトバウンドルールを追加します。

**コンテナ間のトラフィック暗号化を有効にするには (API)**

1.  プライベート VPC のセキュリティグループに以下のインバウンドルールおよびアウトバウンドルールを追加します。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/train-encrypt.html)

1. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html) または [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html) API に要求を送信するときは、`EnableInterContainerTrafficEncryption` パラメーターに `True` を指定してください。

**注記**  
`ESP 50` プロトコルの場合、 AWS セキュリティグループコンソールはポート範囲を「すべて」と表示することがあります。ESP 50 IP プロトコルには適用されないため、Amazon EC2 では指定されたポート範囲は無視されます。

## コンテナ間のトラフィック暗号化を有効にする (コンソール)
<a name="train-encrypt-console"></a>

### トレーニングジョブのコンテナ間のトラフィック暗号化を有効にする
<a name="train-encrypt-console-training"></a>

**トレーニングジョブのコンテナ間のトラフィック暗号化を有効にするには**

1. Amazon SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

1. ナビゲーションペインで [**トレーニング**]、[**トレーニングジョブ**] の順に選択します。

1. **[トレーニングジョブの作成]** を選択します。

1. [**ネットワーク**] で、[**VPC**] を選択します。デフォルト VPC を使用するか、作成した VPC を使用します。

1. [**Enable inter-container traffic encryption (コンテナ間のトラフィック暗号化を有効にする)**] を選択します。

コンテナ間のトラフィックを暗号化を有効にしたら、トレーニングジョブの作成を終了します。詳細については、「[モデルをトレーニングします](ex1-train-model.md)」を参照してください。

### ハイパーパラメータ調整ジョブでコンテナ間のトラフィック暗号化を有効にする
<a name="train-encrypt-console-tuning"></a>

**ハイパーパラメータ調整ジョブでコンテナ間のトラフィック暗号化を有効にするには**

1. Amazon SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

1. ナビゲーションペインで [**トレーニング**]、[**ハイパーパラメータ調整ジョブ**] の順に選択します。

1. [**ハイパーパラメータ調整ジョブの作成**] を選択します。

1. [**ネットワーク**] で、[**VPC**] を選択します。デフォルト VPC を使用するか、作成した VPC を使用します。

1. [**Enable inter-container traffic encryption (コンテナ間のトラフィック暗号化を有効にする)**] を選択します。

コンテナ間のトラフィックを暗号化を有効にしたら、ハイパーパラメータ調整ジョブの作成を終了します。詳細については、「[ハイパーパラメータ調整ジョブを設定して開始する](automatic-model-tuning-ex-tuning-job.md)」を参照してください。

# キーの管理
<a name="key-management"></a>

お客様は、Amazon S3 入出力バケットと機械学習 (ML) Amazon EBS ボリュームでのエンベロープ暗号化に使用する独自の AWS KMS キーの持ち込み (BYOK) などのキーを指定できます。ノートブックインスタンスと、処理、トレーニング、ホストモデル Docker コンテナ用の ML ボリュームは、オプションで AWS KMS 顧客所有のキーを使用して暗号化できます。すべてのインスタンス OS ボリュームは、 AWSマネージド AWS KMS キーで暗号化されます。

**注記**  
特定の Nitro ベースのインスタンスには、インスタンスタイプに応じてローカルストレージが含まれます。ローカルストレージボリュームは、インスタンスのハードウェアモジュールを使用して暗号化されます。ローカルストレージでインスタンスタイプを使用する場合、`VolumeKmsKeyId` をリクエストすることはできません。  
ローカルインスタンスストレージをサポートするインスタンスタイプのリストについては、「[インスタンスストアボリューム](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes)」を参照してください。  
ローカルインスタンスストレージの暗号化の詳細については、「[SSD インスタンスストアボリューム](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html)」を参照してください。  
Nitro ベースのインスタンスのストレージボリュームの詳細については、「[Linux インスタンスでの Amazon EBS および NVMe](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html)」を参照してください。

 AWS KMS キーの詳細については、「 *AWS Key Management Service デベロッパーガイド*」の[AWS 「Key Management Service とは](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)」を参照してください。

# インターネットトラフィックのプライバシー
<a name="inter-network-privacy"></a>

このトピックでは、Amazon SageMaker AI でサービスから他のロケーションまでの接続を保護する方法を説明します。

インターネットワーク通信では、すべてのコンポーネントとクライアントの間の TLS 1.2 暗号化をサポートしています。TLS 1.3 をお勧めします。

インスタンスをカスタマー VPC に接続して、S3 VPC エンドポイントまたはカスタマーリポジトリにアクセスできます。ノートブックでサービスプラットフォームのインターネット出力が無効になっている場合、顧客はこのインターフェイスを介してインターネット出力を管理できます。トレーニングやホスティングで、顧客の VPC に接続されている場合、サービスプラットフォームによる egress は利用できません。

デフォルトでは、公開されたエンドポイントに対して行われた API コールは、パブリックネットワークを経由してリクエストルーターに届きます。SageMaker AI は、お客様の VPC とリクエストルーター間のプライベート接続のために AWS PrivateLink を搭載した Amazon Virtual Private Cloud インターフェイスエンドポイントをサポートし、ホストされたモデルエンドポイントにアクセスします。Amazon VPC の詳細については、「[VPC 内で SageMaker AI に接続する](interface-vpc-endpoint.md)」を参照してください。

# AWS Identity and Access Management for Amazon SageMaker AI
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) は、管理者が AWS リソースへのアクセスを安全に制御 AWS のサービス するのに役立つ です。IAM 管理者は、SageMaker AI リソースを使用するために*認証* (サインイン) し*承認* (権限付与) できるユーザーを制御します。IAM は、追加料金なしで使用できる AWS のサービス です。

**Topics**
+ [オーディエンス](#security_iam_audience)
+ [アイデンティティを使用した認証](#security_iam_authentication)
+ [ポリシーを使用したアクセスの管理](#security_iam_access-manage)
+ [Amazon SageMaker AI と IAM の連携の仕組み](security_iam_service-with-iam.md)
+ [Amazon SageMaker AI のアイデンティティベースポリシーの例](security_iam_id-based-policy-examples.md)
+ [サービス間の混乱した代理の防止](security-confused-deputy-prevention.md)
+ [SageMaker AI 実行ロールの使用方法](sagemaker-roles.md)
+ [Amazon SageMaker Role Manager](role-manager.md)
+ [ノートブックのアクセスコントロール](security-access-control.md)
+ [Amazon SageMaker AI API アクセス許可: アクション、アクセス許可、リソースの参照](api-permissions-reference.md)
+ [AWS Amazon SageMaker AI の マネージドポリシー](security-iam-awsmanpol.md)
+ [Amazon SageMaker AI のアイデンティティとアクセスのトラブルシューティング](security_iam_troubleshoot.md)

## オーディエンス
<a name="security_iam_audience"></a>

 AWS Identity and Access Management (IAM) の使用方法は、ロールによって異なります。
+ **サービスユーザー** - 機能にアクセスできない場合は、管理者にアクセス許可をリクエストします (「[Amazon SageMaker AI のアイデンティティとアクセスのトラブルシューティング](security_iam_troubleshoot.md)」を参照)。
+ **サービス管理者** - ユーザーアクセスを決定し、アクセス許可リクエストを送信します (「[Amazon SageMaker AI と IAM の連携の仕組み](security_iam_service-with-iam.md)」を参照)
+ **IAM 管理者** - アクセスを管理するためのポリシーを作成します (「[Amazon SageMaker AI のアイデンティティベースポリシーの例](security_iam_id-based-policy-examples.md)」を参照)

## アイデンティティを使用した認証
<a name="security_iam_authentication"></a>

認証は、ID 認証情報 AWS を使用して にサインインする方法です。、IAM ユーザー AWS アカウントのルートユーザー、または IAM ロールを引き受けることで認証される必要があります。

 AWS IAM アイデンティティセンター (IAM Identity Center)、シングルサインオン認証、Google/Facebook 認証情報などの ID ソースからの認証情報を使用して、フェデレーティッド ID としてサインインできます。サインインの詳細については、「*AWS サインイン ユーザーガイド*」の「[AWS アカウントにサインインする方法](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html)」を参照してください。

プログラムによるアクセスの場合、 は SDK と CLI AWS を提供してリクエストを暗号化して署名します。詳細については、「*IAM ユーザーガイド*」の「[API リクエストに対するAWS 署名バージョン 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html)」を参照してください。

### AWS アカウント ルートユーザー
<a name="security_iam_authentication-rootuser"></a>

 を作成するときは AWS アカウント、まず、すべての AWS のサービス および リソースへの完全なアクセス権を持つ AWS アカウント *root ユーザー*と呼ばれる 1 つのサインインアイデンティティから始めます。日常的なタスクには、ルートユーザーを使用しないことを強くお勧めします。ルートユーザー認証情報を必要とするタスクについては、「*IAM ユーザーガイド*」の「[ルートユーザー認証情報が必要なタスク](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)」を参照してください。

### フェデレーテッドアイデンティティ
<a name="security_iam_authentication-federated"></a>

ベストプラクティスとして、人間のユーザーが一時的な認証情報 AWS のサービス を使用して にアクセスするには、ID プロバイダーとのフェデレーションを使用する必要があります。

*フェデレーティッド ID* は、エンタープライズディレクトリ、ウェブ ID プロバイダー、または ID Directory Service ソースの認証情報 AWS のサービス を使用して にアクセスするユーザーです。フェデレーテッドアイデンティティは、一時的な認証情報を提供するロールを引き受けます。

アクセスを一元管理する場合は、 AWS IAM アイデンティティセンターをお勧めします。詳細については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[IAM アイデンティティセンターとは](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)」を参照してください。

### IAM ユーザーとグループ
<a name="security_iam_authentication-iamuser"></a>

*[IAM ユーザー](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)*は、特定の個人やアプリケーションに対する特定のアクセス許可を持つアイデンティティです。長期認証情報を持つ IAM ユーザーの代わりに一時的な認証情報を使用することをお勧めします。詳細については、*IAM ユーザーガイド*の[「ID プロバイダーとのフェデレーションを使用して にアクセスする必要がある AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp)」を参照してください。

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)は、IAM ユーザーの集合を指定し、大量のユーザーに対するアクセス許可の管理を容易にします。詳細については、「*IAM ユーザーガイド*」の「[IAM ユーザーに関するユースケース](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html)」を参照してください。

### IAM ロール
<a name="security_iam_authentication-iamrole"></a>

*[IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)*は、特定のアクセス許可を持つアイデンティであり、一時的な認証情報を提供します。ユーザー[から IAM ロール (コンソール) に切り替えるか、 または API オペレーションを呼び出すことで、ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)を引き受けることができます。 AWS CLI AWS 詳細については、「*IAM ユーザーガイド*」の「[ロールを引き受けるための各種方法](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html)」を参照してください。

IAM ロールは、フェデレーションユーザーアクセス、一時的な IAM ユーザーのアクセス許可、クロスアカウントアクセス、クロスサービスアクセス、および Amazon EC2 で実行するアプリケーションに役立ちます。詳細については、*IAM ユーザーガイド* の [IAM でのクロスアカウントリソースアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) を参照してください。

## ポリシーを使用したアクセスの管理
<a name="security_iam_access-manage"></a>

でアクセスを制御する AWS には、ポリシーを作成し、ID AWS またはリソースにアタッチします。ポリシーは、アイデンティティまたはリソースに関連付けられたときにアクセス許可を定義します。 は、プリンシパルがリクエストを行うときにこれらのポリシー AWS を評価します。ほとんどのポリシーは JSON ドキュメント AWS として に保存されます。JSON ポリシードキュメントの詳細については、「*IAM ユーザーガイド*」の「[JSON ポリシー概要](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json)」を参照してください。

管理者は、ポリシーを使用して、どの**プリンシパル**がどの**リソース**に対して、どのような**条件**で**アクション**を実行できるかを定義することで、誰が何にアクセスできるかを指定します。

デフォルトでは、ユーザーやロールにアクセス許可はありません。IAM 管理者は IAM ポリシーを作成してロールに追加し、このロールをユーザーが引き受けられるようにします。IAM ポリシーは、オペレーションの実行方法を問わず、アクセス許可を定義します。

### アイデンティティベースのポリシー
<a name="security_iam_access-manage-id-based-policies"></a>

アイデンティティベースのポリシーは、アイデンティティ (ユーザー、グループ、またはロール) にアタッチできる JSON アクセス許可ポリシードキュメントです。これらのポリシーは、アイデンティティがどのリソースに対してどのような条件下でどのようなアクションを実行できるかを制御します。アイデンティティベースポリシーの作成方法については、*IAM ユーザーガイド* の [カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) を参照してください。

アイデンティティベースのポリシーは、*インラインポリシー* (単一の ID に直接埋め込む) または*管理ポリシー* (複数の ID にアタッチされたスタンドアロンポリシー) にすることができます。管理ポリシーとインラインポリシーのいずれかを選択する方法については、「*IAM ユーザーガイド*」の「[管理ポリシーとインラインポリシーのいずれかを選択する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html)」を参照してください。

### リソースベースのポリシー
<a name="security_iam_access-manage-resource-based-policies"></a>

リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。例としては、IAM *ロール信頼ポリシー*や Amazon S3 *バケットポリシー*などがあります。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスを制御できます。リソースベースのポリシーでは、[プリンシパルを指定する](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)必要があります。

リソースベースのポリシーは、そのサービス内にあるインラインポリシーです。リソースベースのポリシーでは、IAM の AWS マネージドポリシーを使用できません。

### アクセスコントロールリスト (ACL)
<a name="security_iam_access-manage-acl"></a>

アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするためのアクセス許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。

Amazon S3、および Amazon VPC は AWS WAF、ACLs。ACL の詳細については、*Amazon Simple Storage Service デベロッパーガイド* の [アクセスコントロールリスト (ACL) の概要](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html) を参照してください。

### その他のポリシータイプ
<a name="security_iam_access-manage-other-policies"></a>

AWS は、より一般的なポリシータイプによって付与されるアクセス許可の最大数を設定できる追加のポリシータイプをサポートしています。
+ **アクセス許可の境界** – アイデンティティベースのポリシーで IAM エンティティに付与することのできるアクセス許可の数の上限を設定します。詳細については、「*IAM ユーザーガイド*」の「[IAM エンティティのアクセス許可境界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)」を参照してください。
+ **サービスコントロールポリシー (SCP)** - AWS Organizations内の組織または組織単位の最大のアクセス許可を指定します。詳細については、「*AWS Organizations ユーザーガイド*」の「[サービスコントロールポリシー](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)」を参照してください。
+ **リソースコントロールポリシー (RCP)** – は、アカウント内のリソースで利用できる最大数のアクセス許可を定義します。詳細については、「*AWS Organizations ユーザーガイド*」の「[リソースコントロールポリシー (RCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html)」を参照してください。
+ **セッションポリシー** – ロールまたはフェデレーションユーザーの一時セッションを作成する際にパラメータとして渡される高度なポリシーです。詳細については、「*IAM ユーザーガイド*」の「[セッションポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)」を参照してください。

### 複数のポリシータイプ
<a name="security_iam_access-manage-multiple-policies"></a>

1 つのリクエストに複数のタイプのポリシーが適用されると、結果として作成されるアクセス許可を理解するのがさらに難しくなります。が複数のポリシータイプが関与する場合にリクエストを許可するかどうか AWS を決定する方法については、*「IAM ユーザーガイド*」の[「ポリシー評価ロジック](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)」を参照してください。

# Amazon SageMaker AI と IAM の連携の仕組み
<a name="security_iam_service-with-iam"></a>

**重要**  
Amazon SageMaker Studio または Amazon SageMaker Studio Classic に Amazon SageMaker リソースの作成を許可するカスタム IAM ポリシーでは、これらのリソースにタグを追加するアクセス許可も付与する必要があります。Studio と Studio Classic は、作成したリソースに自動的にタグ付けするため、リソースにタグを追加するアクセス許可が必要になります。IAM ポリシーで Studio と Studio Classic によるリソースの作成が許可されていても、タグ付けが許可されていない場合は、リソースを作成しようとしたときに「AccessDenied」エラーが発生する可能性があります。詳細については、「[SageMaker AI リソースにタグ付けのアクセス許可を付与する](security_iam_id-based-policy-examples.md#grant-tagging-permissions)」を参照してください。  
SageMaker リソースを作成するためのアクセス許可を付与する [AWS Amazon SageMaker AI の マネージドポリシー](security-iam-awsmanpol.md) には、それらのリソースの作成中にタグを追加するためのアクセス許可もあらかじめ含まれています。

SageMaker AI へのアクセスを管理するために IAM を使う前に、SageMaker AI で使用できる IAM 機能を理解しておく必要があります。SageMaker AI およびその他の AWS のサービスが IAM と連携する方法の概要については、「サービス認可リファレンス」の[AWS 「IAM と連携する](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_aws-services-that-work-with-iam.html) のサービス」を参照してください。 **

**Topics**
+ [Amazon SageMaker AI 向けのアイデンティティベースのポリシー](#security_iam_service-with-iam-id-based-policies)
+ [Amazon SageMaker AI 内のリソースベースのポリシー](#security_iam_service-with-iam-resource-based-policies)
+ [Amazon SageMaker AI 向けのポリシーアクション](#security_iam_service-with-iam-id-based-policies-actions)
+ [Amazon SageMaker AI 向けのポリシーリソース](#security_iam_service-with-iam-id-based-policies-resources)
+ [Amazon SageMaker AI 向けのポリシー条件キー](#security_iam_service-with-iam-id-based-policies-conditionkeys)
+ [SageMaker AI タグに基づく認証](#security_iam_service-with-iam-tags)
+ [SageMaker AI の IAM ロール](#security_iam_service-with-iam-roles)

## Amazon SageMaker AI 向けのアイデンティティベースのポリシー
<a name="security_iam_service-with-iam-id-based-policies"></a>

IAM アイデンティティベースのポリシーでは許可または拒否するアクションとリソース、またアクションを許可または拒否する条件を指定できます。SageMaker AI は、特定のアクション、リソース、条件キーをサポートしています。JSON ポリシーで使用するすべての要素については、「*Service Authorization Reference*」の「[IAM JSON Policy Elements Reference](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_elements.html)」を参照してください。

## Amazon SageMaker AI 内のリソースベースのポリシー
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**リソースベースのポリシーのサポート:** なし 

リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。リソースベースのポリシーには例として、IAM *ロールの信頼ポリシー*や Amazon S3 *バケットポリシー*があげられます。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスをコントロールできます。ポリシーがアタッチされているリソースの場合、指定されたプリンシパルがそのリソースに対して実行できるアクションと条件は、ポリシーによって定義されます。リソースベースのポリシーで、[プリンシパルを指定する](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)必要があります。プリンシパルには、アカウント、ユーザー、ロール、フェデレーティッドユーザー、または AWS サービスを含めることができます。

クロスアカウントアクセスを有効にするには、アカウント全体、または別のアカウントの IAM エンティティをリソースベースのポリシーのプリンシパルとして指定します。リソースベースのポリシーにクロスアカウントのプリンシパルを追加しても、信頼関係は半分しか確立されない点に注意してください。プリンシパルとリソースが異なる AWS アカウントにある場合、信頼されたアカウントの IAM 管理者は、リソースにアクセスするための許可をプリンシパルエンティティ (ユーザーまたはロール) に付与する必要もあります。IAM 管理者は、ID ベースのポリシーをエンティティにアタッチすることで許可を付与します。ただし、リソースベースのポリシーで、同じアカウントのプリンシパルへのアクセス権が付与されている場合は、アイデンティティベースのポリシーをさらに付与する必要はありません。詳細については、「*IAM ユーザーガイド*」の「[IAM でのクロスアカウントリソースアクセス](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)」を参照してください。

**注記**  
サポートされている SageMaker AI リソースを安全に共有するには、[AWS Resource Access Manager](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html) を使用します。共有可能なリソースのリストについては、「[共有可能な Amazon SageMaker AI のリソース](https://docs.aws.amazon.com/ram/latest/userguide/shareable.html#shareable-sagemaker)」を参照してください。

## Amazon SageMaker AI 向けのポリシーアクション
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

JSON ポリシーの `Action` 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。

SageMaker AI のポリシーアクションは、アクション前にプレフィックス `sagemaker:` を使用します。例えば、SageMaker AI `CreateTrainingJob` API オペレーションで SageMaker AI トレーニングジョブを実行するための許可を付与するには、ポリシーに `sagemaker:CreateTrainingJob` アクションを含めます。ポリシーステートメントには`Action` または `NotAction` 要素を含める必要があります。SageMaker AI は、このサービスで実行できるタスクを記述する独自のアクションのセットを定義します。

単一のステートメントに複数のアクションを指定するには次のようにコンマで区切ります。

```
"Action": [
      "sagemaker:action1",
      "sagemaker:action2"
]
```

ワイルドカード (\$1) を使用して複数アクションを指定できます。例えば、`Describe` という単語で始まるすべてのアクションを指定するには次のアクションを含めます。

```
"Action": "sagemaker:Describe*"
```



SageMaker AI アクションのリストを表示するには、「*サービス認可リファレンス*」の「[Amazon SageMaker AI のアクション、リソース、条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html)」を参照してください。

## Amazon SageMaker AI 向けのポリシーリソース
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>



**ポリシーリソースのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件**下で**アクション**を実行できるかということです。

`Resource` JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ステートメントには`Resource` または `NotResource` 要素を含める必要があります。ベストプラクティスとして、[Amazon リソースネーム (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) を使用してリソースを指定します。これは、*リソースレベルの許可*と呼ばれる特定のリソースタイプをサポートするアクションに対して実行できます。

オペレーションのリスト化など、リソースレベルの権限をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (\$1) を使用します。

```
"Resource":  "*"
```

Amazon SageMaker AI リソースタイプとその ARN のリストをについては、「*サービス認可リファレンス*」の Amazon SageMaker AI によって定義されたアクション、リソースタイプ、条件キーに関する次のリファレンスを参照してください。
+ [Amazon SageMaker AI](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html)
+ [Amazon SageMaker 地理空間機能](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemakergeospatialcapabilities.html)
+ [Amazon SageMaker Ground Truth Synthetic](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemakergroundtruthsynthetic.html)
+ [Amazon SageMaker AI と MLflow](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemakerwithmlflow.html)

各リソースの ARN を指定できるアクションについては、「[ Amazon SageMaker AI で定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html#amazonsagemaker-actions-as-permissions)」を参照してください。

## Amazon SageMaker AI 向けのポリシー条件キー
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

`Condition` 要素は、定義された基準に基づいてステートメントが実行される時期を指定します。イコールや未満などの[条件演算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。すべての AWS グローバル条件キーを確認するには、*「IAM ユーザーガイド*」の[AWS 「グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)」を参照してください。

SageMaker AI は独自の条件キーを定義し、一部のグローバル条件キーの使用もサポートしています。すべての AWS グローバル条件キーを確認するには、*「サービス認可リファレンス*」の[AWS 「グローバル条件コンテキストキー](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_condition-keys.html)」を参照してください。



SageMaker AI では、次のオペレーションのきめ細かいアクセスコントロールに使用できるサービス固有の条件キーがいくつかサポートされています。
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html)

SageMaker AI 条件キーのリストを確認するには、「*サービス認可リファレンス*」の「[Amazon SageMaker AI の条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html#amazonsagemaker-policy-keys)」を参照してください。条件キーを使用できるアクションとリソースについては、「[ Amazon SageMaker AI で定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html#amazonsagemaker-actions-as-permissions)」を参照してください。

SageMaker AI 条件キーの使用例については、「[条件キーを使用して SageMaker AI リソースの作成を制御する](security_iam_id-based-policy-examples.md#sagemaker-condition-examples)」を参照してください。

### 例
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



SageMaker AIのアイデンティティベースポリシーの例を確認するには、「[Amazon SageMaker AI のアイデンティティベースポリシーの例](security_iam_id-based-policy-examples.md)」を参照してください。

## SageMaker AI タグに基づく認証
<a name="security_iam_service-with-iam-tags"></a>

タグは、SageMaker AI リソースにアタッチしたり、タグをリクエストで SageMaker AI に渡したりできます。タグに基づいてアクセスを管理するには、`sagemaker:ResourceTag/key-name`、`aws:RequestTag/key-name`、または `aws:TagKeys` の条件キーを使用して、ポリシーの[条件要素](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_elements_condition.html)でタグ情報を提供します。SageMaker AI リソースへのタグ付けの詳細については、「[タグを使用して SageMaker AI リソースへのアクセスを制御する](security_iam_id-based-policy-examples.md#access-tag-policy)」を参照してください。

リソースのタグに基づいてリソースへのアクセスを制限するためのアイデンティティベースポリシーの例を表示するには、「[タグを使用して SageMaker AI リソースへのアクセスを制御する](security_iam_id-based-policy-examples.md#access-tag-policy)」を参照してください。

## SageMaker AI の IAM ロール
<a name="security_iam_service-with-iam-roles"></a>

[IAM ロール](https://docs.aws.amazon.com/service-authorization/latest/reference/id_roles.html)は、特定のアクセス許可を持つ AWS アカウント内のエンティティです。

### SageMaker AI での一時的な認証情報の使用
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

一時的な認証情報を使用して、フェデレーションでサインインする、IAM 役割を引き受ける、またはクロスアカウント役割を引き受けることができます。一時的なセキュリティ認証情報を取得するには、[AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) や [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html) などの AWS STS API オペレーションを呼び出します。

SageMaker AI では、一時的な認証情報の使用がサポートされています。

### サービスリンクロール
<a name="security_iam_service-with-iam-roles-service-linked"></a>

SageMaker AI は[サービスにリンクされたロール](https://docs.aws.amazon.com/service-authorization/latest/reference/id_roles_terms-and-concepts.html#iam-term-service-linked-role)を部分的にサポートしています。サービスにリンクされたロールは、現在 SageMaker Studio Classic で使用できます。

### サービス役割
<a name="security_iam_service-with-iam-roles-service"></a>

この機能により、ユーザーに代わってサービスが[サービスロール](https://docs.aws.amazon.com/service-authorization/latest/reference/id_roles_terms-and-concepts.html#iam-term-service-role)を引き受けることが許可されます。この役割により、サービスがお客様に代わって他のサービスのリソースにアクセスし、アクションを完了することが許可されます。サービスロールはIAM アカウントに表示され、アカウントによって所有されます。つまり、IAM 管理者はこの役割の権限を変更できます。ただし、それにより、サービスの機能が損なわれる場合があります。

SageMaker AI はサービスロールをサポートしています。

### SageMaker AI での IAM ロールの選択
<a name="security_iam_service-with-iam-roles-choose"></a>

SageMaker AI でノートブックインスタンス、処理ジョブ、トレーニングジョブ、ホスト型エンドポイント、またはバッチ変換ジョブリソースを作成する場合、ユーザーの代理での SageMaker AI へのアクセスを SageMaker AI に許可するロールを選択する必要があります。サービスロールあるいはサービスにリンクされたロールを以前に作成している場合、SageMaker AI は選択できるロールのリストを示します。必要な AWS オペレーションとリソースへのアクセスを許可するロールを選択することが重要です。詳細については、「[SageMaker AI 実行ロールの使用方法](sagemaker-roles.md)」を参照してください。

# Amazon SageMaker AI のアイデンティティベースポリシーの例
<a name="security_iam_id-based-policy-examples"></a>

IAM ユーザーとロールには、デフォルトでは SageMaker AI リソースを作成したり変更したりするアクセス許可はありません。また、 AWS マネジメントコンソール、 AWS CLI、または AWS API を使用してタスクを実行することはできません。IAM 管理者は、ユーザーとロールに必要な、指定されたリソースで特定の API オペレーションを実行する権限をユーザーとロールに付与する IAM ポリシーを作成する必要があります。続いて、管理者はそれらの権限が必要な IAM ユーザーまたはグループにそのポリシーをアタッチする必要があります。IAM ユーザーまたはグループにポリシーをアタッチする方法については、「*Service Authorization Reference*」の「[IAM ID のアクセス許可の追加および削除](https://docs.aws.amazon.com/service-authorization/latest/reference/access_policies_manage-attach-detach.html)」を参照してください。

これらのサンプル JSON ポリシードキュメントを使用して IAM アイデンティティベースのポリシーを作成する方法については、「[Creating Policies on the JSON Tab](https://docs.aws.amazon.com/service-authorization/latest/reference/access_policies_create.html#access_policies_create-json-editor)」を参照してください。

**Topics**
+ [ポリシーに関するベストプラクティス](#security_iam_service-with-iam-policy-best-practices)
+ [SageMaker AI コンソールを使用する](#security_iam_id-based-policy-examples-console)
+ [自分の権限の表示をユーザーに許可する](#security_iam_id-based-policy-examples-view-own-permissions)
+ [条件キーを使用して SageMaker AI リソースの作成を制御する](#sagemaker-condition-examples)
+ [アイデンティティベースのポリシーを使用して SageMaker AI API へのアクセスを制御する](#api-access-policy)
+ [SageMaker AI API とランタイムコールへのアクセスを IP アドレスで制限する](#api-ip-filter)
+ [ノートブックインスタンスへのアクセスを IP アドレスで制限する](#nbi-ip-filter)
+ [タグを使用して SageMaker AI リソースへのアクセスを制御する](#access-tag-policy)
+ [SageMaker AI リソースにタグ付けのアクセス許可を付与する](#grant-tagging-permissions)
+ [可視性条件を使用して検索可能なリソースへのアクセスを制限する](#limit-access-to-searchable-resources)

## ポリシーに関するベストプラクティス
<a name="security_iam_service-with-iam-policy-best-practices"></a>

アイデンティティベースのポリシーは、ユーザーのアカウントで SageMaker AI リソースを作成、アクセス、または削除できるどうかを決定します。これらのアクションでは、 AWS アカウントに費用が発生する場合があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:
+ ** AWS 管理ポリシーを開始し、最小特権のアクセス許可に移行** – ユーザーとワークロードにアクセス許可の付与を開始するには、多くの一般的なユースケースにアクセス許可を付与する*AWS 管理ポリシー*を使用します。これらは で使用できます AWS アカウント。ユースケースに固有の AWS カスタマー管理ポリシーを定義することで、アクセス許可をさらに減らすことをお勧めします。詳細については、*IAM ユーザーガイド* の [AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) または [ジョブ機能のAWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) を参照してください。
+ **最小特権を適用する** – IAM ポリシーでアクセス許可を設定する場合は、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、*IAM ユーザーガイド* の [IAM でのポリシーとアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) を参照してください。
+ **IAM ポリシーで条件を使用してアクセスをさらに制限する** - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。たとえば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。条件を使用して、サービスアクションが などの特定の を通じて使用されている場合に AWS のサービス、サービスアクションへのアクセスを許可することもできます CloudFormation。詳細については、*IAM ユーザーガイド* の [IAM JSON ポリシー要素:条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) を参照してください。
+ **IAM アクセスアナライザー を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する** - IAM アクセスアナライザー は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、*IAM ユーザーガイド* の [IAM Access Analyzer でポリシーを検証する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) を参照してください。
+ **多要素認証 (MFA) を要求する** – で IAM ユーザーまたはルートユーザーを必要とするシナリオがある場合は AWS アカウント、MFA をオンにしてセキュリティを強化します。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、*IAM ユーザーガイド* の [MFA を使用した安全な API アクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) を参照してください。

IAM でのベストプラクティスの詳細については、*IAM ユーザーガイド* の [IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) を参照してください。

## SageMaker AI コンソールを使用する
<a name="security_iam_id-based-policy-examples-console"></a>

Amazon SageMaker AI コンソールにアクセスするには、最小限のアクセス許可のセットが必要です。これらのアクセス許可により、 AWS アカウントの SageMaker AI リソースの詳細を一覧表示および表示できます。最小限必要な許可よりも厳しい制限のアイデンティティベースのポリシーを作成すると、そのポリシーを持つエンティティではコンソールが適切に機能しません。これには、そのポリシーを持つユーザーまたはロールが含まれます。

これらのエンティティが引き続き SageMaker AI コンソールを使用できるようにするには、エンティティに次の AWS 管理ポリシーもアタッチする必要があります。詳細については、「*Service Authorization Reference*」の「[Adding Permissions to a User](https://docs.aws.amazon.com/service-authorization/latest/reference/id_users_change-permissions.html#users_change_permissions-add-console)」を参照してください。

 AWS CLI または AWS API のみを呼び出すユーザーには、最小限のコンソールアクセス許可を付与する必要はありません。代わりに、実行しようとしている API オペレーションに一致するアクションのみへのアクセスが許可されます。

**Topics**
+ [Amazon SageMaker AI コンソールを使用するために必要なアクセス許可](#console-permissions)
+ [Amazon SageMaker Ground Truth コンソールを使用するために必要なアクセス許可](#groundtruth-console-policy)
+ [Amazon Augmented AI (プレビュー) コンソールを使用するために必要なアクセス許可](#amazon-augmented-ai-console-policy)

### Amazon SageMaker AI コンソールを使用するために必要なアクセス許可
<a name="console-permissions"></a>

アクセス許可のリファレンス表は、Amazon SageMaker AI API オペレーションとそれらの各オペレーションに必要なアクセス許可を説明しています。Amazon SageMaker API オペレーションの詳細については、「[Amazon SageMaker AI API アクセス許可: アクション、アクセス許可、リソースの参照](api-permissions-reference.md)」を参照してください。

Amazon SageMaker AI コンソールを使用するには、追加のアクションのためのアクセス許可を付与する必要があります。具体的には、`ec2` アクションにサブネット、VPC、セキュリティグループを表示することを許可する、アクセス許可がコンソールに必要です。オプションで、`CreateNotebook`、`CreateTrainingJob`、`CreateModel` などのタスク用の*実行ロール*を作成する、アクセス許可がコンソールに必要です。これらのアクセス許可に次のアクセス許可ポリシーを付与します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
          "Sid": "SageMakerApis",
          "Effect": "Allow",
          "Action": [
            "sagemaker:*"
          ],
          "Resource": "*"
        },
        {
          "Sid": "VpcConfigurationForCreateForms",
          "Effect": "Allow",
          "Action": [
            "ec2:DescribeVpcs",
            "ec2:DescribeSubnets",
            "ec2:DescribeSecurityGroups"
          ],
          "Resource": "*"
        },
        {
            "Sid":"KmsKeysForCreateForms",
            "Effect":"Allow",
            "Action":[
              "kms:DescribeKey",
              "kms:ListAliases"
            ],
            "Resource":"*"
        },
        {
          "Sid": "AccessAwsMarketplaceSubscriptions",
          "Effect": "Allow",
          "Action": [
            "aws-marketplace:ViewSubscriptions"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "codecommit:BatchGetRepositories",
            "codecommit:CreateRepository",
            "codecommit:GetRepository",
            "codecommit:ListRepositories",
            "codecommit:ListBranches",
            "secretsmanager:CreateSecret",
            "secretsmanager:DescribeSecret",
            "secretsmanager:ListSecrets"
          ],
          "Resource": "*"
        },
        {
          "Sid":"ListAndCreateExecutionRoles",
          "Effect":"Allow",
          "Action":[
            "iam:ListRoles",
            "iam:CreateRole",
            "iam:CreatePolicy",
            "iam:AttachRolePolicy"
          ],
          "Resource":"*"
        },
        {
          "Sid": "DescribeECRMetaData",
          "Effect": "Allow",
          "Action": [
              "ecr:Describe*"
          ],
          "Resource": "*"
        },
        {
          "Sid": "PassRoleForExecutionRoles",
          "Effect": "Allow",
          "Action": [
            "iam:PassRole"
          ],
          "Resource": "*",
          "Condition": {
            "StringEquals": {
                "iam:PassedToService": "sagemaker.amazonaws.com"
            }
          }
        }
    ]
}
```

------



### Amazon SageMaker Ground Truth コンソールを使用するために必要なアクセス許可
<a name="groundtruth-console-policy"></a>

Amazon SageMaker Ground Truth コンソールを使用するには、追加のリソースのためのアクセス許可を付与する必要があります。具体的には、コンソールには以下のアクセス許可が必要です。
+ サブスクリプションを表示する AWS Marketplace、
+ プライベートワークフォースを管理する Amazon Cognito オペレーション
+ 入出力ファイルにアクセスするための Amazon S3 アクション
+ AWS Lambda 関数を一覧表示および呼び出すアクション

これらのアクセス許可に次のアクセス許可ポリシーを付与します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GroundTruthConsole",
            "Effect": "Allow",
            "Action": [
                "aws-marketplace:ViewSubscriptions",

                "cognito-idp:AdminAddUserToGroup",
                "cognito-idp:AdminCreateUser",
                "cognito-idp:AdminDeleteUser",
                "cognito-idp:AdminDisableUser",
                "cognito-idp:AdminEnableUser",
                "cognito-idp:AdminRemoveUserFromGroup",
                "cognito-idp:CreateGroup",
                "cognito-idp:CreateUserPool",
                "cognito-idp:CreateUserPoolClient",
                "cognito-idp:CreateUserPoolDomain",
                "cognito-idp:DescribeUserPool",
                "cognito-idp:DescribeUserPoolClient",
                "cognito-idp:ListGroups",
                "cognito-idp:ListIdentityProviders",
                "cognito-idp:ListUsers",
                "cognito-idp:ListUsersInGroup",
                "cognito-idp:ListUserPoolClients",
                "cognito-idp:ListUserPools",
                "cognito-idp:UpdateUserPool",
                "cognito-idp:UpdateUserPoolClient",

                "groundtruthlabeling:DescribeConsoleJob",
                "groundtruthlabeling:ListDatasetObjects",
                "groundtruthlabeling:RunGenerateManifestByCrawlingJob",

                "lambda:InvokeFunction",
                "lambda:ListFunctions",

                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": "*"
        }
    ]
}
```

------

### Amazon Augmented AI (プレビュー) コンソールを使用するために必要なアクセス許可
<a name="amazon-augmented-ai-console-policy"></a>

Augmented AI コンソールを使用するには、追加のリソースのためのアクセス許可を付与する必要があります。これらのアクセス許可に次のアクセス許可ポリシーを付与します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:*Algorithm",
                "sagemaker:*Algorithms",
                "sagemaker:*App",
                "sagemaker:*Apps",
                "sagemaker:*AutoMLJob",
                "sagemaker:*AutoMLJobs",
                "sagemaker:*CodeRepositories",
                "sagemaker:*CodeRepository",
                "sagemaker:*CompilationJob",
                "sagemaker:*CompilationJobs",
                "sagemaker:*Endpoint",
                "sagemaker:*EndpointConfig",
                "sagemaker:*EndpointConfigs",
                "sagemaker:*EndpointWeightsAndCapacities",
                "sagemaker:*Endpoints",
                "sagemaker:*Experiment",
                "sagemaker:*Experiments",
                "sagemaker:*FlowDefinitions",
                "sagemaker:*HumanLoop",
                "sagemaker:*HumanLoops",
                "sagemaker:*HumanTaskUi",
                "sagemaker:*HumanTaskUis",
                "sagemaker:*HyperParameterTuningJob",
                "sagemaker:*HyperParameterTuningJobs",
                "sagemaker:*LabelingJob",
                "sagemaker:*LabelingJobs",
                "sagemaker:*Metrics",
                "sagemaker:*Model",
                "sagemaker:*ModelPackage",
                "sagemaker:*ModelPackages",
                "sagemaker:*Models",
                "sagemaker:*MonitoringExecutions",
                "sagemaker:*MonitoringSchedule",
                "sagemaker:*MonitoringSchedules",
                "sagemaker:*NotebookInstance",
                "sagemaker:*NotebookInstanceLifecycleConfig",
                "sagemaker:*NotebookInstanceLifecycleConfigs",
                "sagemaker:*NotebookInstanceUrl",
                "sagemaker:*NotebookInstances",
                "sagemaker:*ProcessingJob",
                "sagemaker:*ProcessingJobs",
                "sagemaker:*RenderUiTemplate",
                "sagemaker:*Search",
                "sagemaker:*SearchSuggestions",
                "sagemaker:*Tags",
                "sagemaker:*TrainingJob",
                "sagemaker:*TrainingJobs",
                "sagemaker:*TransformJob",
                "sagemaker:*TransformJobs",
                "sagemaker:*Trial",
                "sagemaker:*TrialComponent",
                "sagemaker:*TrialComponents",
                "sagemaker:*Trials",
                "sagemaker:*Workteam",
                "sagemaker:*Workteams"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:*FlowDefinition"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIfExists": {
                    "sagemaker:WorkteamType": [
                        "private-crowd",
                        "vendor-crowd"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "application-autoscaling:DeleteScalingPolicy",
                "application-autoscaling:DeleteScheduledAction",
                "application-autoscaling:DeregisterScalableTarget",
                "application-autoscaling:DescribeScalableTargets",
                "application-autoscaling:DescribeScalingActivities",
                "application-autoscaling:DescribeScalingPolicies",
                "application-autoscaling:DescribeScheduledActions",
                "application-autoscaling:PutScalingPolicy",
                "application-autoscaling:PutScheduledAction",
                "application-autoscaling:RegisterScalableTarget",
                "aws-marketplace:ViewSubscriptions",
                "cloudwatch:DeleteAlarms",
                "cloudwatch:DescribeAlarms",
                "cloudwatch:GetMetricData",
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:ListMetrics",
                "cloudwatch:PutMetricAlarm",
                "cloudwatch:PutMetricData",
                "codecommit:BatchGetRepositories",
                "codecommit:CreateRepository",
                "codecommit:GetRepository",
                "codecommit:ListBranches",
                "codecommit:ListRepositories",
                "cognito-idp:AdminAddUserToGroup",
                "cognito-idp:AdminCreateUser",
                "cognito-idp:AdminDeleteUser",
                "cognito-idp:AdminDisableUser",
                "cognito-idp:AdminEnableUser",
                "cognito-idp:AdminRemoveUserFromGroup",
                "cognito-idp:CreateGroup",
                "cognito-idp:CreateUserPool",
                "cognito-idp:CreateUserPoolClient",
                "cognito-idp:CreateUserPoolDomain",
                "cognito-idp:DescribeUserPool",
                "cognito-idp:DescribeUserPoolClient",
                "cognito-idp:ListGroups",
                "cognito-idp:ListIdentityProviders",
                "cognito-idp:ListUserPoolClients",
                "cognito-idp:ListUserPools",
                "cognito-idp:ListUsers",
                "cognito-idp:ListUsersInGroup",
                "cognito-idp:UpdateUserPool",
                "cognito-idp:UpdateUserPoolClient",
                "ec2:CreateNetworkInterface",
                "ec2:CreateNetworkInterfacePermission",
                "ec2:CreateVpcEndpoint",
                "ec2:DeleteNetworkInterface",
                "ec2:DeleteNetworkInterfacePermission",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeRouteTables",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcEndpoints",
                "ec2:DescribeVpcs",
                "ecr:BatchCheckLayerAvailability",
                "ecr:BatchGetImage",
                "ecr:CreateRepository",
                "ecr:Describe*",
                "ecr:GetAuthorizationToken",
                "ecr:GetDownloadUrlForLayer",
                "elasticfilesystem:DescribeFileSystems",
                "elasticfilesystem:DescribeMountTargets",
                "fsx:DescribeFileSystems",
                "glue:CreateJob",
                "glue:DeleteJob",
                "glue:GetJob",
                "glue:GetJobRun",
                "glue:GetJobRuns",
                "glue:GetJobs",
                "glue:ResetJobBookmark",
                "glue:StartJobRun",
                "glue:UpdateJob",
                "groundtruthlabeling:*",
                "iam:ListRoles",
                "kms:DescribeKey",
                "kms:ListAliases",
                "lambda:ListFunctions",
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:DescribeLogGroups",
                "logs:DescribeLogStreams",
                "logs:GetLogEvents",
                "logs:PutLogEvents",
                "sns:ListTopics"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogDelivery",
                "logs:DeleteLogDelivery",
                "logs:DescribeResourcePolicies",
                "logs:GetLogDelivery",
                "logs:ListLogDeliveries",
                "logs:PutResourcePolicy",
                "logs:UpdateLogDelivery"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:SetRepositoryPolicy",
                "ecr:CompleteLayerUpload",
                "ecr:BatchDeleteImage",
                "ecr:UploadLayerPart",
                "ecr:DeleteRepositoryPolicy",
                "ecr:InitiateLayerUpload",
                "ecr:DeleteRepository",
                "ecr:PutImage"
            ],
            "Resource": "arn:aws:ecr:*:*:repository/*sagemaker*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "codecommit:GitPull",
                "codecommit:GitPush"
            ],
            "Resource": [
                "arn:aws:codecommit:*:*:*sagemaker*",
                "arn:aws:codecommit:*:*:*SageMaker*",
                "arn:aws:codecommit:*:*:*Sagemaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:ListSecrets"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:DescribeSecret",
                "secretsmanager:GetSecretValue",
                "secretsmanager:CreateSecret"
            ],
            "Resource": [
                "arn:aws:secretsmanager:*:*:secret:AmazonSageMaker-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:DescribeSecret",
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "secretsmanager:ResourceTag/SageMaker": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "robomaker:CreateSimulationApplication",
                "robomaker:DescribeSimulationApplication",
                "robomaker:DeleteSimulationApplication"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "robomaker:CreateSimulationJob",
                "robomaker:DescribeSimulationJob",
                "robomaker:CancelSimulationJob"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:AbortMultipartUpload",
                "s3:GetBucketCors",
                "s3:PutBucketCors"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*",
                "arn:aws:s3:::*aws-glue*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket",
                "s3:GetBucketLocation",
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "s3:ExistingObjectTag/SageMaker": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "lambda:InvokeFunction"
            ],
            "Resource": [
                "arn:aws:lambda:*:*:function:*SageMaker*",
                "arn:aws:lambda:*:*:function:*sagemaker*",
                "arn:aws:lambda:*:*:function:*Sagemaker*",
                "arn:aws:lambda:*:*:function:*LabelingFunction*"
            ]
        },
        {
            "Action": "iam:CreateServiceLinkedRole",
            "Effect": "Allow",
            "Resource": "arn:aws:iam::*:role/aws-service-role/sagemaker.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_SageMakerEndpoint",
            "Condition": {
                "StringLike": {
                    "iam:AWSServiceName": "sagemaker.application-autoscaling.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:AWSServiceName": "robomaker.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "sns:Subscribe",
                "sns:CreateTopic"
            ],
            "Resource": [
                "arn:aws:sns:*:*:*SageMaker*",
                "arn:aws:sns:*:*:*Sagemaker*",
                "arn:aws:sns:*:*:*sagemaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::*:role/*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "sagemaker.amazonaws.com",
                        "glue.amazonaws.com",
                        "robomaker.amazonaws.com",
                        "states.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## 自分の権限の表示をユーザーに許可する
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

この例では、ユーザーアイデンティティにアタッチされたインラインおよびマネージドポリシーの表示を IAM ユーザーに許可するポリシーの作成方法を示します。このポリシーには、コンソールで、または AWS CLI または AWS API を使用してプログラムでこのアクションを実行するアクセス許可が含まれています。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## 条件キーを使用して SageMaker AI リソースの作成を制御する
<a name="sagemaker-condition-examples"></a>

SageMaker AI 固有の条件キーを使用して、SageMaker AI リソースの作成に対するきめ細かなアクセスを制御します。IAM ポリシーでの条件キーの使用の詳細については、IAM ユーザーガイドの「[IAM JSON ポリシーエレメント: 条件](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_elements_condition.html)」を参照してください。**

条件キー、関連する API アクション、関連ドキュメントへのリンクは、「*サービス承認リファレンス*」の「[SageMaker AI の条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html#amazonsagemaker-policy-keys)」に記載されています。

次の例は、SageMaker AI 条件キーを使ってアクセスを制御する方法を説明しています。

**Topics**
+ [ファイルシステム条件キーを使用して SageMaker AI リソースへのアクセスを制御する](#access-fs-condition-keys)
+ [トレーニングを特定の VPC に制限する](#sagemaker-condition-vpc)
+ [Ground Truth ラベリングジョブと Amazon A2I の人間によるレビューワークフローのワークフォースタイプへのアクセスを制限する](#sagemaker-condition-keys-labeling)
+ [入力データの暗号化を適用する](#sagemaker-condition-kms)
+ [トレーニングジョブのネットワーク分離を適用する](#sagemaker-condition-isolation)
+ [トレーニングジョブに特定のインスタンスタイプを適用する](#sagemaker-condition-instance)
+ [ノートブックインスタンス作成でのインターネットアクセスとルートアクセスを無効にする](#sagemaker-condition-nbi-lockdown)

### ファイルシステム条件キーを使用して SageMaker AI リソースへのアクセスを制御する
<a name="access-fs-condition-keys"></a>

SageMaker AI トレーニングは、トレーニングアルゴリズムを実行するための安全なインフラストラクチャを提供しますが、場合によっては、多層防御を強化することが必要になることがあります。例えば、アルゴリズムで信頼されていないコードを実行するリスクを最小限に抑えます。または、組織に固有のセキュリティの義務があります。これらのシナリオでは、IAM ポリシーの条件要素でサービス固有の条件キーを使用して、ユーザーの範囲を次のとおり絞り込めます。
+ 特定のファイルシステム
+ ディレクトリ
+ アクセスモード (読み取り/書き込み、読み取り専用)
+ セキュリティグループ

**Topics**
+ [IAM ユーザーを特定のディレクトリとアクセスモードに制限する](#access-fs-condition-keys-ex-dirs)
+ [ユーザーを特定のファイルシステムに制限する](#access-fs-condition-keys-ex-fs)

#### IAM ユーザーを特定のディレクトリとアクセスモードに制限する
<a name="access-fs-condition-keys-ex-dirs"></a>

以下のポリシーでは、EFS ファイルシステムの `/sagemaker/xgboost-dm/train` ディレクトリと `/sagemaker/xgboost-dm/validation` ディレクトリにアクセスできるユーザーを `ro` (読み取り専用) アクセスモードに制限します。

**注記**  
ディレクトリが許可されると、そのすべてのサブディレクトリにもトレーニングアルゴリズムからアクセスできます。POSIX アクセス許可は無視されます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AccessToElasticFileSystem",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateTrainingJob",
                "sagemaker:CreateHyperParameterTuningJob"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "sagemaker:FileSystemId": "fs-12345678",
                    "sagemaker:FileSystemAccessMode": "ro",
                    "sagemaker:FileSystemType": "EFS",
                    "sagemaker:FileSystemDirectoryPath": "/sagemaker/xgboost-dm/train"
                }
            }
        },
        {
            "Sid": "AccessToElasticFileSystemValidation",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateTrainingJob",
                "sagemaker:CreateHyperParameterTuningJob"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "sagemaker:FileSystemId": "fs-12345678",
                    "sagemaker:FileSystemAccessMode": "ro",
                    "sagemaker:FileSystemType": "EFS",
                    "sagemaker:FileSystemDirectoryPath": "/sagemaker/xgboost-dm/validation"
                }
            }
        }
    ]
}
```

------

#### ユーザーを特定のファイルシステムに制限する
<a name="access-fs-condition-keys-ex-fs"></a>

悪意のあるアルゴリズムがユーザースペースクライアントを使用してアカウント内のファイルシステムに直接アクセスすることを回避するために、ネットワークトラフィックを制限できます。このようなトラフィックを制限するには、特定のセキュリティグループからの受信のみを許可します。次の例では、 ユーザーは指定されたセキュリティグループのみを使用してファイルシステムにアクセスできます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AccessToLustreFileSystem",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateTrainingJob",
                "sagemaker:CreateHyperParameterTuningJob"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "sagemaker:FileSystemId": "fs-12345678",
                    "sagemaker:FileSystemAccessMode": "ro",
                    "sagemaker:FileSystemType": "FSxLustre",
                    "sagemaker:FileSystemDirectoryPath": "/fsx/sagemaker/xgboost/train"
                },
                "ForAllValues:StringEquals": {
                    "sagemaker:VpcSecurityGroupIds": [
                        "sg-12345678"
                    ]
                }
            }
        }
    ]
}
```

------

この例では、アルゴリズムを特定のファイルシステムに制限できます。ただし、アルゴリズムがユーザースペースクライアントを使用して、ファイルシステム内のディレクトリにアクセスすることは回避できません。この問題を解消するには、以下を実行します。
+  ユーザーのアクセスを信頼するデータのみがファイルシステムに含まれていることを確認する
+ 承認された ECR リポジトリのアルゴリズムを使ってトレーニングジョブを起動できるユーザーを制限する IAM ロールを作成します。

SageMaker AIでロールを使用する方法の詳細については、「[SageMaker AI ロール](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html)」を参照してください。

### トレーニングを特定の VPC に制限する
<a name="sagemaker-condition-vpc"></a>

Amazon VPC 内からトレーニングジョブを作成するように AWS ユーザーを制限します。トレーニングジョブが VPC 内で作成されたら、VPC フローログを使用して、トレーニングクラスターとの間のすべてのトラフィックをモニタリングします。VPC フローログの使用方法については、Amazon Virtual Private Cloud ユーザーガイドの「[VPC フローログ](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)」を参照してください。**

次のポリシーでは、トレーニングジョブが、VPC 内から [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html) を呼び出すユーザーによって作成されるよう強制します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowFromVpc",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateTrainingJob",
                "sagemaker:CreateHyperParameterTuningJob"
            ],
            "Resource": "*",
            "Condition": {
                "ForAllValues:StringEquals": {
                    "sagemaker:VpcSubnets": ["subnet-a1234"],
                    "sagemaker:VpcSecurityGroupIds": ["sg12345", "sg-67890"]
                },
                "Null": {
                    "sagemaker:VpcSubnets": "false",
                    "sagemaker:VpcSecurityGroupIds": "false"
                }
            }
        }

    ]
}
```

------

### Ground Truth ラベリングジョブと Amazon A2I の人間によるレビューワークフローのワークフォースタイプへのアクセスを制限する
<a name="sagemaker-condition-keys-labeling"></a>

Amazon SageMaker Ground Truth と Amazon Augmented AI の作業チームは、次の 3 つの[ワークフォースタイプ](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management.html)のいずれかに分類されます。
+ パブリック (Amazon Mechanical Turk を使用) 
+ プライベート
+ ベンダー

これらのタイプのいずれかまたは作業チームの ARN を使用して、特定の作業チームへのユーザーアクセスを制限できます。これを行うには、`sagemaker:WorkteamType` 条件キーおよび/または `sagemaker:WorkteamArn` 条件キーを使用します。`sagemaker:WorkteamType` 条件キーには、[文字列条件演算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String)を使用します。`sagemaker:WorkteamArn` 条件キーには、[Amazon リソースネーム (ARN) 条件演算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN)を使用します。ユーザーが制限された作業チームでラベリングジョブを作成しようとすると、SageMaker AI からアクセス拒否エラーが返されます。

次のポリシーは、適切な条件演算子と有効な条件値を使用して `sagemaker:WorkteamType` 条件キーと `sagemaker:WorkteamArn` 条件キーを使用するさまざまな方法を説明しています。

以下の例では、`sagemaker:WorkteamType` 条件キーと `StringEquals` 条件演算子を使用して、パブリック作業チームへのアクセスを制限しています。条件値の形式は `workforcetype-crowd` です。*workforcetype* は `public`、`private`、または `vendor` に置き換えます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RestrictWorkteamType",
            "Effect": "Deny",
            "Action": "sagemaker:CreateLabelingJob",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "sagemaker:WorkteamType": "public-crowd"
                }
            }
        }
    ]
}
```

------

以下のポリシーは、`sagemaker:WorkteamArn` 条件キーを使用してパブリック作業チームへのアクセスを制限する方法を示しています。最初の例は、その条件キーを作業チーム ARN の有効な IAM regex-variant および `ArnLike` 条件演算子と共に使う方法を示しています。2 番目の例は、その条件キーを `ArnEquals` 条件演算子および作業チーム ARN と共に使用する方法を示しています。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RestrictWorkteamType",
            "Effect": "Deny",
            "Action": "sagemaker:CreateLabelingJob",
            "Resource": "*",
            "Condition": {
                "ArnLike": {
                    "sagemaker:WorkteamArn": "arn:aws:sagemaker:*:*:workteam/public-crowd/*"
                }
            }
        }
    ]
}
```

------

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RestrictWorkteamType",
            "Effect": "Deny",
            "Action": "sagemaker:CreateLabelingJob",
            "Resource": "*",
            "Condition": {
                "ArnEquals": {
                    "sagemaker:WorkteamArn": "arn:aws:sagemaker:us-west-2:394669845002:workteam/public-crowd/default"
                }
            }
        }
    ]
}
```

------

 

### 入力データの暗号化を適用する
<a name="sagemaker-condition-kms"></a>

次のポリシーでは、作成時に `sagemaker:VolumeKmsKey`条件 AWS KMS キーを使用して入力データを暗号化するキーを指定するようにユーザーを制限します。
+ トレーニング
+ ハイパーパラメータチューニング
+ ラベリングジョブ

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnforceEncryption",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateTrainingJob",
                "sagemaker:CreateHyperParameterTuningJob",
                "sagemaker:CreateLabelingJob",
                "sagemaker:CreateFlowDefinition"
            ],
            "Resource": "*",
            "Condition": {
                "ArnEquals": {
                    "sagemaker:VolumeKmsKey": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
                }
            }
        }

     ]
}
```

------

### トレーニングジョブのネットワーク分離を適用する
<a name="sagemaker-condition-isolation"></a>

次のポリシーでは、`sagemaker:NetworkIsolation` 条件キーを使用してトレーニングジョブを作成するときに、ネットワーク分離を可能にするユーザーを制限します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnforceIsolation",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateTrainingJob",
                "sagemaker:CreateHyperParameterTuningJob"
            ],
            "Resource": "*",
            "Condition": {
                "Bool": {
                    "sagemaker:NetworkIsolation": "true"
                }
            }
        }
    ]
}
```

------

### トレーニングジョブに特定のインスタンスタイプを適用する
<a name="sagemaker-condition-instance"></a>

次のポリシーでは、`sagemaker:InstanceTypes` 条件キーを使用してトレーニングジョブを作成するときに、特定のインスタンスタイプを使用できるユーザーを制限します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnforceInstanceType",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateTrainingJob",
                "sagemaker:CreateHyperParameterTuningJob"
            ],
            "Resource": "*",
            "Condition": {
                "ForAllValues:StringLike": {
                    "sagemaker:InstanceTypes": ["ml.c5.*"]
                }
            }
        }

     ]
}
```

------

### ノートブックインスタンス作成でのインターネットアクセスとルートアクセスを無効にする
<a name="sagemaker-condition-nbi-lockdown"></a>

ノートブックインスタンスへのインターネットアクセスとルートアクセスのいずれも無効にすることで、それらの安全性を高めることができます。ノートブックインスタンスへのルートアクセスを制御する方法については、「[SageMaker ノートブックインスタンスへのルートアクセスを制御する](nbi-root-access.md)」を参照してください。ノートブックインスタンスのインターネットアクセスを無効にする方法については、「[VPC 内のノートブックインスタンスを外部リソースに接続する](appendix-notebook-and-internet-access.md)」を参照してください。

次のポリシーでは、インスタンスの作成時にネットワークアクセスを無効にしたり、ノートブックインスタンスの作成時や更新時にルートアクセスを無効にしたりするようユーザーに要求します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "LockDownCreateNotebookInstance",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateNotebookInstance"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "sagemaker:DirectInternetAccess": "Disabled",
                    "sagemaker:RootAccess": "Disabled"
                },
                "Null": {
                  "sagemaker:VpcSubnets": "false",
                  "sagemaker:VpcSecurityGroupIds": "false"
                }
            }
        },
        {
            "Sid": "LockDownUpdateNotebookInstance",
            "Effect": "Allow",
            "Action": [
                "sagemaker:UpdateNotebookInstance"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "sagemaker:RootAccess": "Disabled"
                }
            }
        }
     ]
}
```

------

## アイデンティティベースのポリシーを使用して SageMaker AI API へのアクセスを制御する
<a name="api-access-policy"></a>

SageMaker AI API コール、SageMaker AI でホストされたエンドポイントへのコールへのアクセスを制御するには、アイデンティティベースの IAM ポリシーを使用します。

**Topics**
+ [SageMaker AI API とランタイムへのアクセスを VPC 内からの呼び出しに制限する](#api-access-policy-vpc)

### SageMaker AI API とランタイムへのアクセスを VPC 内からの呼び出しに制限する
<a name="api-access-policy-vpc"></a>

VPC にインターフェイスエンドポイントを設定すると、VPC 外のユーザーがインターネット経由で SageMaker AI API やランタイムに接続できるようになります。これを回避するには、VPC 内からの呼び出しへのアクセスを制限する IAM ポリシーをアタッチします。このような呼び出しは、SageMaker AI リソースにアクセスできるすべてのユーザーとグループに制限する必要があります。SageMaker AI API およびランタイムの VPC インターフェイスエンドポイントの作成については、「[VPC 内で SageMaker AI に接続する](interface-vpc-endpoint.md)」を参照してください。

**重要**  
次のいずれかに似た IAM ポリシーを適用すると、ユーザーは指定された SageMaker AI API にコンソールからアクセスできなくなります。

アクセスを VPC 内からの接続のみに制限するには、アクセスを制限する AWS Identity and Access Management ポリシーを作成します。このアクセスは、VPC 内からの呼び出しのみに制限する必要があります。次に、SageMaker AI API またはランタイムへのアクセスに使用されるすべての AWS Identity and Access Management ユーザー、グループ、ロールにそのポリシーを追加します。

**注記**  
このポリシーでは、インターフェイスのエンドポイントを作成したサブネット内の発信者にのみ接続を許可します。

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

****  

```
{
    "Id": "api-example-1",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableAPIAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker:*"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceVpc": "vpc-111bbaaa"
                }
            }
        }
    ]
}
```

------

API へのアクセスをインターフェイスエンドポイントを使用して行われた呼び出しのみに制限するには、`aws:SourceVpc` の代わりに `aws:SourceVpce` 条件キーを使用します。

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

****  

```
{
    "Id": "api-example-1",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableAPIAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreatePresignedNotebookInstanceUrl"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:sourceVpce": [
                        "vpce-111bbccc",
                        "vpce-111bbddd"
                    ]
                }
            }
        }
    ]
}
```

------

## SageMaker AI API とランタイムコールへのアクセスを IP アドレスで制限する
<a name="api-ip-filter"></a>

SageMaker AI API コールとランタイム呼び出しへのアクセスを、指定したリスト内の IP アドレスからのみ許可することができます。これを行うには、呼び出しがリスト内の IP アドレスからのものでない限り、API へのアクセスを拒否する IAM ポリシーを作成します。次に、API またはランタイムへのアクセスに使用されるすべての AWS Identity and Access Management ユーザー、グループ、またはロールにそのポリシーをアタッチします。IAM ポリシーの作成の詳細については、AWS Identity and Access Management ユーザーガイドの「[IAM ポリシーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)」を参照してください。**

API コールにアクセスできる IP アドレスのリストを指定するには、以下を使用します。
+ `IpAddress` 条件演算子
+ `aws:SourceIP` 条件コンテキストキー

IAM 条件演算子の詳細については、AWS Identity and Access Management ユーザーガイドの「[IAM JSON ポリシーエレメント: 条件演算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)」を参照してください。**IAM 条件コンテキストキーの詳細については、「[AWS グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)」を参照してください。

たとえば、次のポリシーでは、`192.0.2.0` - `192.0.2.255` および `203.0.113.0` - `203.0.113.255` の範囲の IP アドレスからのみ、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html) へのアクセスが許可されます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [

        {
            "Effect": "Allow",
            "Action": "sagemaker:CreateTrainingJob",
            "Resource": "*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "192.0.2.0/24",
                        "203.0.113.0/24"
                    ]
                }
            }
        }
    ]
}
```

------

## ノートブックインスタンスへのアクセスを IP アドレスで制限する
<a name="nbi-ip-filter"></a>

ノートブックインスタンスへのアクセスを指定したリスト内の IP アドレスからのみ許可することができます。これを行うには、呼び出しがリスト内の IP アドレスからのものでない限り、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html) へのアクセスを拒否する IAM ポリシーを作成します。次に、ノートブックインスタンスへのアクセスに使用されるすべての AWS Identity and Access Management ユーザー、グループ、またはロールにこのポリシーをアタッチします。IAM ポリシーの作成の詳細については、AWS Identity and Access Management ユーザーガイドの「[IAM ポリシーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)」を参照してください。**

ノートブックインスタンスにアクセスできる IP アドレスのリストを指定するには、以下を使用します。
+ `IpAddress` 条件演算子
+ `aws:SourceIP` 条件コンテキストキー

IAM 条件演算子の詳細については、AWS Identity and Access Management ユーザーガイドの「[IAM JSON ポリシーエレメント: 条件演算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)」を参照してください。**IAM 条件コンテキストキーの詳細については、「[AWS グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)」を参照してください。

たとえば、次のポリシーでは、`192.0.2.0` - `192.0.2.255` および `203.0.113.0` - `203.0.113.255` の範囲の IP アドレスからのみノートブックインスタンスへのアクセスが許可されます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [

        {
            "Effect": "Allow",
            "Action": "sagemaker:CreatePresignedNotebookInstanceUrl",
            "Resource": "*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "192.0.2.0/24",
                        "203.0.113.0/24"
                    ]
                }
            }
        }
    ]
}
```

------

ポリシーは、`CreatePresignedNotebookInstanceUrl` への呼び出しと、呼び出しが返す URL の両方へのアクセスを制限します。このポリシーは、コンソールでノートブックインスタンスを開くためのアクセスも制限します。このポリシーは、ノートブックインスタンスへの接続を試行するすべての HTTP リクエストと WebSocket フレームに適用されます。

**注記**  
この方法を使って IP アドレスでフィルタリングする方法は、[VPC インターフェイスエンドポイントを介して SageMaker AI に接続する](https://docs.aws.amazon.com/sagemaker/latest/dg/interface-vpc-endpoint.html)場合には互換性がありません。VPC インターフェイスエンドポイントを介して接続するときにノートブックインスタンスへのアクセスを制限する方法については、「[VPC インターフェイスエンドポイントを介してノートブックインスタンスに接続する](notebook-interface-endpoint.md)」を参照してください。

## タグを使用して SageMaker AI リソースへのアクセスを制御する
<a name="access-tag-policy"></a>

IAM ポリシー内のタグを指定して、SageMaker AI リソースのグループへのアクセスを制御します。リソースタグを使用して属性ベースのアクセス制御 (ABAC) を実装できます。タグを使用すると、リソースへのアクセスを特定のユーザーグループに分割することができます。あるチームに 1 つのリソースグループへのアクセス権を、別のチームには別のリソースセットへのアクセス権を割り当てることができます。IAM ポリシーに `ResourceTag` 条件を設定して、各グループにアクセス権を与えることができます。

**注記**  
タグベースのポリシーでは、以下の API コールは制限されません。  
DeleteImageVersion
DescribeImageVersion
ListAlgorithms
ListCodeRepositories
ListCompilationJobs
ListEndpointConfigs
ListEndpoints
ListFlowDefinitions
ListHumanTaskUis
ListHyperparameterTuningJobs
ListLabelingJobs
ListLabelingJobsForWorkteam
ListModelPackages
ListModels
ListNotebookInstanceLifecycleConfigs
ListNotebookInstances
ListSubscribedWorkteams
ListTags
ListProcessingJobs
ListTrainingJobs
ListTrainingJobsForHyperParameterTuningJob
ListTransformJobs
ListWorkteams
検索

タグを使用してリソースを分割する方法を理解しやすくするため、簡単な例を示します。 AWS アカウント`DevTeam2`で `DevTeam1`と という名前の 2 つの異なる IAM グループを定義したとします。10 個のノートブックインスタンスも作成しました。1 つのプロジェクトに 5 つのノートブックインスタンスを使用しています。残りの 5 つは 2 つ目のプロジェクトに使用しています。1 つ目のプロジェクトで使用しているノートブックインスタンスで API コールを行うアクセス許可を `DevTeam1` に付与できます。`DevTeam2` には、2 つ目のプロジェクトで使用するノートブックインスタンスで API コールを行うよう指定できます。

以下の手順は、タグ追加の概念を理解するのに役立つ簡単な例を示しています。これを使用して、前の段落で説明したソリューションを実装できます。

**API コールへのアクセスをコントロールするには (例)**

1. 最初のプロジェクトに使用されるノートブックインスタンスに、キーが `Project`、値が `A` であるタグを追加します。SageMaker AI リソースへのタグの追加については、「[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html)」を参照してください。

1. 2 番目のプロジェクトに使用されるノートブックインスタンスに、キーが `Project`、値が `B` であるタグを追加します。

1. 2 番目のプロジェクトで使用されるノートブックインスタンスへのアクセスを拒否する `ResourceTag` 条件がある IAM ポリシーを作成します。次に、このポリシーを `DevTeam1` にアタッチします。次のサンプルポリシーでは、キーが `Project` で値が `B` のタグを持つノートブックインスタンスに対するすべての API コールを拒否します。

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": "sagemaker:*",
         "Resource": "*"
       },
       {
         "Effect": "Deny",
         "Action": "sagemaker:*",
         "Resource": "*",
         "Condition": {
           "StringEquals": {
             "sagemaker:ResourceTag/Project": "B"
           }
         }
       },
       {
         "Effect": "Deny",
         "Action": [
           "sagemaker:AddTags",
           "sagemaker:DeleteTags"
         ],
         "Resource": "*"
       }
     ]
   }
   ```

------

   IAM ポリシーを作成して ID にアタッチする方法については、AWS Identity and Access Management ユーザーガイドの「[ポリシーを使用したアクセス制御](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html)」を参照してください。**

1. 最初のプロジェクトで使用されるノートブックインスタンスへのアクセスを拒否する `ResourceTag` 条件がある IAM ポリシーを作成します。次に、このポリシーを `DevTeam2` にアタッチします。次のサンプルポリシーでは、キーが `Project` で値が `A` のタグを持つノートブックインスタンスに対するすべての API コールを拒否します。

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": "sagemaker:*",
         "Resource": "*"
       },
       {
         "Effect": "Deny",
         "Action": "sagemaker:*",
         "Resource": "*",
         "Condition": {
           "StringEquals": {
             "sagemaker:ResourceTag/Project": "A"
           }
         }
       },
       {
         "Effect": "Deny",
         "Action": [
           "sagemaker:AddTags",
           "sagemaker:DeleteTags"
         ],
         "Resource": "*"
       }
     ]
   }
   ```

------

## SageMaker AI リソースにタグ付けのアクセス許可を付与する
<a name="grant-tagging-permissions"></a>

[タグ](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/what-are-tags.html)は、特定の AWS リソースにアタッチできるメタデータラベルです。タグはキー値のペアで構成され、タグを使用すると、次のとおりさまざまな[タグ付けのユースケース](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-use-cases.html)で、メタデータ属性を使ってリソースに柔軟に注釈付けを行うことができます。
+ 検索
+ セキュリティ
+ [原価配分](https://docs.aws.amazon.com/whitepapers/latest/sagemaker-studio-admin-best-practices/cost-attribution.html)
+ アクセスコントロール
+ 自動化

これらは、アクセス許可とポリシー、サービスクォータ、および他の AWS サービスとの統合で使用できます。タグは、リソースの作成時にユーザー定義または AWS 生成できます。これは、ユーザーがカスタムタグを手動で指定するか、 AWS サービスが自動的にタグを生成するかによって異なります。
+ SageMaker AI の*ユーザー定義タグ*: ユーザーは、SageMaker SDKs、 CLI、SageMaker APIs、SageMaker AI AWS CLI コンソール、または CloudFormation テンプレートを使用して SageMaker AI リソースを作成するときにタグを追加できます。
**注記**  
リソースが後で更新され、タグ値が変更または置換された場合、ユーザー定義のタグは上書きされる場合があります。例えば、\$1Team: A\$1 で作成されたトレーニングジョブの更新が不適切に行われ、\$1Team: B\$1 として再度タグ付けされる可能性があります。その結果、許可されたアクセス許可が不適切に割り当てられる可能性があります。このため、ユーザーまたはグループにタグの追加を許可する際は、既存のタグ値を上書きできる可能性があるため、注意が必要です。タグのアクセス許可の範囲を厳密に定義し、IAM 条件を使用してタグ付け機能を制御することがベストプラクティスです。
+ SageMaker AI で*AWS 生成されたタグ*: SageMaker AI は、作成する特定のリソースに自動的にタグ付けします。例えば、Studio と Studio Classic は、作成した SageMaker AI リソースに `sagemaker:domain-arn` タグを自動的に割り当てます。ドメイン ARN を使用して新しいリソースにタグ付けすると、トレーニングジョブ、モデル、エンドポイントなどの SageMaker AI リソースがどのように生成されたかを追跡できます。よりきめ細かい制御と追跡を行うには、新しいリソースには次のとおりの追加のタグ付けを行います。
  + `sagemaker:user-profile-arn` - リソースを作成したユーザープロファイルの ARN。これにより、特定のユーザーが作成したリソースを追跡できます。
  + `sagemaker:space-arn` - リソースが作成されたスペースの ARN。これにより、スペースごとにリソースをグループ化して分離できます。
**注記**  
AWS が生成したタグは、ユーザーが変更することはできません。

 AWS リソースのタグ付けに関する一般的な情報とベストプラクティスについては、[AWS 「リソースのタグ付け](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html)」を参照してください。主なタグ付けのユースケースについては、「[Tagging use cases](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-use-cases.html)」を参照してください。

### SageMaker AI リソースの作成時にタグを追加するアクセス許可を付与する
<a name="grant-tagging-permissions-with-create"></a>

ユーザー (*ユーザー定義タグ*) または Studio および Studio Classic (*AWS 生成されたタグ*) が、作成時に新しい SageMaker AI リソースにタグを追加することを許可できます。これを行うには、IAM アクセス許可に次の両方が含まれている必要があります。
+ ベースとなる SageMaker AI は、そのリソースタイプのアクセス許可を作成します。
+ `sagemaker:AddTags` アクセス許可 

例えば、SageMaker トレーニングジョブを作成してタグ付けすることをユーザーに許可する場合、`sagemaker:CreateTrainingJob` と `sagemaker:AddTags` のアクセス許可を付与する必要があります。

**重要**  
Amazon SageMaker Studio または Amazon SageMaker Studio Classic に Amazon SageMaker AI リソースの作成を許可するカスタム IAM ポリシーでは、これらのリソースにタグを追加するアクセス許可も付与する必要があります。Studio と Studio Classic は、作成したリソースに自動的にタグ付けするため、リソースにタグを追加するアクセス許可が必要になります。IAM ポリシーで Studio と Studio Classic によるリソースの作成が許可されていても、タグ付けが許可されていない場合は、リソースを作成しようとしたときに「AccessDenied」エラーが発生する可能性があります。  
SageMaker AI リソースを作成するためのアクセス許可を付与する [AWS Amazon SageMaker AI の マネージドポリシー](security-iam-awsmanpol.md) には、それらのリソースの作成中にタグを追加するためのアクセス許可もあらかじめ含まれています。

管理者は、次のいずれかにこのような IAM アクセス許可をアタッチします。
+ AWS ユーザー定義タグのユーザーに割り当てられた IAM ロール
+  AWS 生成のタグのために Studio または Studio Classic が使用する実行ロール

カスタム IAM ポリシーの作成と適用の手順については、「[IAM ポリシーを作成する (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)」を参照してください。

**注記**  
SageMaker AI リソース作成オペレーションのリストは、「[SageMaker API ドキュメント](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Operations_Amazon_SageMaker_Service.html)」で 「`Create`」で始まるアクションを検索すると確認できます。`CreateTrainingJob` や `CreateEndpoint` などのこれらの create アクションは、新しい SageMaker AI リソースを作成するオペレーションです。

**特定の作成アクションにタグ付けのアクセス許可を追加する**

元のリソース作成ポリシーに追加の IAM ポリシーをアタッチすると、制約付きの `sagemaker:AddTags` アクセス許可を付与できます。次のサンプルポリシーでは、`sagemaker:AddTags` を許可するとはいえ、`CreateTrainingJob` などの特定の SageMaker AI リソース作成アクションのみに制限しています。

```
{
  "Sid": "AllowAddTagsForCreateOperations",
  "Effect": "Allow",
  "Action": [
    "sagemaker:AddTags"
  ],
  "Resource": "*",
  "Condition": {
    "StringEquals": {
      "sagemaker:TaggingAction": "CreateTrainingJob"
    }
  }
}
```

ポリシー条件では `sagemaker:AddTags` を特定の作成アクションとともに使用するように制限しています。このアプローチでは、アクセス許可の作成ポリシーは変わらず、追加のポリシーで `sagemaker:AddTags` アクセスが制限されています。この条件は、範囲をタグ付けが必要な作成アクションに絞り込むことで、包括的な `sagemaker:AddTags` アクセス許可の付与を回避しています。これにより、特定の SageMaker AI リソース作成のユースケースにのみが許可され、`sagemaker:AddTags` の最小権限を実装できます。

**例: タグのアクセス許可をグローバルに許可して、作成アクションをドメインに限定する**

このカスタム IAM ポリシーの例では、最初の 2 つのステートメントは、タグを使用してリソースの作成を追跡する方法を示しています。これにより、すべてのリソースに対する `sagemaker:CreateModel` アクションと、そのアクションが使用される際のリソースのタグ付けが許可されます。3 番目のステートメントは、タグ値を使用してリソースのオペレーションを制御する方法を示しています。この場合、特定のドメイン ARN でタグ付けされた SageMaker AI リソースの作成を防ぎ、タグ値に基づいてアクセスを制限します。

特に、次のことに注意してください。
+ 最初のステートメントでは、任意のリソース (`*`) に対して `CreateModel` アクションを許可します。
+ 2 番目のステートメントでは、`sagemaker:TaggingAction` 条件キーが `CreateModel` に等しい場合のみ、`sagemaker:AddTags` アクションを許可します。これにより、`sagemaker:AddTags` アクションは、新しく作成されたモデルのタグ付けに使用される場合にのみ制限されます。
+ 3 番目のステートメントは、リソース (`Create*`) への SageMaker AI 作成アクション (`*`) をすべて拒否します。ただしこれは、リソースに特定のドメイン ARN、`sagemaker:domain-arn` に等しいタグ `domain-arn` がある場合のみです。

```
{
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "sagemaker:CreateModel"
         ],
         "Resource":"*"
      },
      {
         "Effect":"Allow",
         "Action":[
            "sagemaker:AddTags"
         ],
         "Resource":"*",
         "Condition":{
            "String":{
               "sagemaker:TaggingAction":[
                  "CreateModel"
               ]
            }
         }
      },
      {
         "Sid":"IsolateDomain",
         "Effect":"Deny",
         "Resource":"*",
         "Action":[
            "sagemaker:Create*"
         ],
         "Condition":{
            "StringEquals":{
               "aws:ResourceTag/sagemaker:domain-arn":"domain-arn"
            }
         }
      }
   ]
}
```

## 可視性条件を使用して検索可能なリソースへのアクセスを制限する
<a name="limit-access-to-searchable-resources"></a>

可視性条件を使用して、ユーザーのアクセスを AWS アカウント内の特定のタグ付けされたリソースに制限します。ユーザーは、アクセス許可が付与されたリソースにのみアクセスできます。ユーザーがリソースを検索する際の検索結果を特定のリソースに制限できます。

ユーザーが特定の Amazon SageMaker Studio または Amazon SageMaker Studio Classic ドメインに関連付けられたリソースのみを表示したりオペレーションを実行するように制限する必要がある場合があります。可視性条件を使用すると、ユーザーのアクセスを単一のドメインまたは複数のドメインに制限できます。

```
{
    "Sid": "SageMakerApis",
    "Effect": "Allow",
    "Action": "sagemaker:Search", 
    "Resource": "*",
    "Condition": {
        "StringEquals": {
            "sagemaker:SearchVisibilityCondition/Tags.sagemaker:example-domain-arn/EqualsIfExists": "arn:aws:sagemaker:AWS リージョン:111122223333:domain/example-domain-1",
            "sagemaker:SearchVisibilityCondition/Tags.sagemaker:example-domain-arn/EqualsIfExists": "arn:aws:sagemaker:AWS リージョン:111122223333:domain/example-domain-2"
        }
    }
}
```

可視性条件の一般的な形式は、`"sagemaker:SearchVisibilityCondition/Tags.key": "value"` です。タグ付けされた任意のリソースに対してキー値のペアを指定できます。

```
{
   "MaxResults": number,
   "NextToken": "string",
   "Resource": "string", # Required Parameter
   "SearchExpression": { 
      "Filters": [ 
         { 
            "Name": "string",
            "Operator": "string",
            "Value": "string"
         }
      ],
      "NestedFilters": [ 
         { 
            "Filters": [ 
               { 
                  "Name": "string",
                  "Operator": "string",
                  "Value": "string"
               }
            ],
            "NestedPropertyName": "string"
         }
      ],
      "Operator": "string",
      "SubExpressions": [ 
         "SearchExpression"
      ]
   },
   "IsCrossAccount": "string",
   "VisibilityConditions" : [ List of conditions for visibility
         {"Key": "Tags.sagemaker:example-domain-arn", "Value": "arn:aws:sagemaker:AWS リージョン:111122223333:domain/example-domain-1"},
         {"Key": "Tags.sagemaker:example-domain-arn", "Value": "arn:aws:sagemaker:AWS リージョン:111122223333:domain/example-domain-2"}
]
   ],
   "SortBy": "string",
   "SortOrder": "string"
}
```

このポリシー内の可視性条件では、ポリシーで指定されているのと同じ「`"sagemaker:SearchVisibilityCondition/Tags.key": "value"`」形式を使用します。ユーザーは、タグが付けられた任意のリソースに使用するキー値のペアを指定できます。

ユーザーが[検索](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Search.html)リクエストに `VisibilityConditions` パラメータを含めても、そのユーザーに適用されるアクセスポリシーに、`VisibilityConditions` で指定された条件キーに一致するものが含まれていないと、`Search` リクエストは許可され、実行されます。

ユーザーの[Search](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Search.html) API リクエストに `VisibilityConditions` パラメータが指定されておらず、そのユーザーに適用されるアクセスポリシーに `VisibilityConditions` に関連する条件キーが含まれている場合、そのユーザーの `Search` リクエストは拒否されます。

# サービス間の混乱した代理の防止
<a name="security-confused-deputy-prevention"></a>

[「混乱した代理」問題](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy)は、アクションを実行するためのアクセス許可を持たないエンティティが、より特権のあるエンティティにアクションの実行を強制できてしまう場合に生じる、セキュリティ上の問題です。では AWS、サービス間のなりすましが原因で混乱した代理問題が発生する可能性があります。クロスサービスのなりすましは、あるサービス (*呼び出し元のサービス*) が別のサービス (*呼び出し先のサービス*) を呼び出し、呼び出し先のサービスの昇格されたアクセス許可を活用して、呼び出し元サービスがアクセスする権限を持たないリソースで操作する際に発生する可能性があります。混乱した代理問題による不正アクセスを防ぐために、 はサービス間でデータを保護するのに役立つツール AWS を提供します。これらのツールは、サービスプリンシパルに付与されるアクセス許可を制御し、アカウント内の必要なリソースのみにアクセスを制限するうえで役立ちます。サービスプリンシパルのアクセス権限を慎重に管理することで、アクセス許可がないデータやリソースにサービスが不適切にアクセスするリスクを軽減できます。

一般的なガイダンスを読むか、特定の SageMaker AI 機能の例を参照してください。

**Topics**
+ [グローバル条件キーでアクセス許可を制限する](#security-confused-deputy-context-keys)
+ [SageMaker Edge Manager](#security-confused-deputy-edge-manager)
+ [SageMaker イメージ](#security-confused-deputy-images)
+ [SageMaker AI 推論](#security-confused-deputy-inference)
+ [SageMaker AI バッチ変換ジョブ](#security-confused-deputy-batch)
+ [SageMaker AI Marketplace](#security-confused-deputy-marketplace)
+ [SageMaker Neo](#security-confused-deputy-neo)
+ [SageMaker Pipelines](#security-confused-deputy-pipelines)
+ [SageMaker 処理ジョブ](#security-confused-deputy-processing-job)
+ [SageMaker Studio](#security-confused-deputy-studio)
+ [SageMaker トレーニングジョブ](#security-confused-deputy-training-job)

## グローバル条件キーでアクセス許可を制限する
<a name="security-confused-deputy-context-keys"></a>

リソースポリシー内で `[aws:SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)` および `[aws:SourceAccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)` のグローバル条件キーを使用して、Amazon SageMaker AI が別のサービスに付与する、リソースへのアクセス許可を制限することをお勧めします。両方のグローバル条件キーを使用し、`aws:SourceArn` 値にアカウント ID が含まれている場合、`aws:SourceAccount` 値と `aws:SourceArn` 値内のアカウントは、同じポリシーステートメントで使用するときに、同じアカウント ID を使用する必要があります。クロスサービスアクセスにリソースを 1 つだけ関連付けたい場合は、`aws:SourceArn` を使用します。そのアカウント内のリソースをクロスサービスの使用に関連付けることを許可する場合は、`aws:SourceAccount` を使用します。

混乱した代理問題から保護するための最も効果的な方法は、リソースの完全な ARN を指定して `aws:SourceArn` グローバル条件キーを使用することです。リソースの完全な ARN が不明な場合や、複数のリソースを指定する場合は、ARN の不明部分をワイルドカード (`*`) に置き換えて `aws:SourceArn` グローバル条件キーを使用します。例えば、`arn:aws:sagemaker:*:123456789012:*`。

次の例は、SageMaker AI で `aws:SourceArn` および `aws:SourceAccount` のグローバル条件キーを使用して、混乱した代理問題を防止する方法を示しています。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Sid": "ConfusedDeputyPreventionExamplePolicy",
    "Effect": "Allow",
    "Principal": {
      "Service": "sagemaker.amazonaws.com"
    },
    "Action": "sagemaker:StartSession",
    "Resource": "arn:aws:sagemaker:us-east-1:123456789012:ResourceName/*",
    "Condition": {
      "ArnLike": {
        "aws:SourceArn": "arn:aws:sagemaker:us-east-1:123456789012:*"
      },
      "StringEquals": {
        "aws:SourceAccount": "123456789012"
      }
    }
  }
}
```

------

## SageMaker Edge Manager
<a name="security-confused-deputy-edge-manager"></a>

次の例は、*us-west-2* リージョンでアカウント番号 *123456789012* によって作成された SageMaker Edge Manager でのサービス間の混乱した代理問題を防止するために、`aws:SourceArn` グローバル条件キーを使用する方法を示しています。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
      "Effect": "Allow",
      "Principal": { "Service": "sagemaker.amazonaws.com" },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:*"
      }
    }
  }
}
```

------

このテンプレート内の `aws:SourceArn` を特定のパッケージジョブの完全な ARN に置き換えることで、アクセス許可をさらに制限できます。

## SageMaker イメージ
<a name="security-confused-deputy-images"></a>

次の例は、`aws:SourceArn` グローバル条件キーを使用して、[SageMaker Images](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi.html) のサービス間での混乱した代理問題を防止する方法を示しています。このテンプレートは `[Image](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Image.html)` または `[ImageVersion](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ImageVersion.html)` と一緒に使用してください。この例では、アカウント番号 *123456789012* の `ImageVersion` レコード ARN を使用しています。アカウント番号は `aws:SourceArn` 値の一部であるため、`aws:SourceAccount` 値を指定する必要はありません。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Principal": {
            "Service": "sagemaker.amazonaws.com"
        },
        "Action": "sts:AssumeRole",
        "Condition": {
            "ArnLike": {
            "aws:SourceArn": "arn:aws:sagemaker:us-east-2:123456789012:image-version/*"
            }
        }
    }
}
```

------

このテンプレート内の `aws:SourceArn` を特定のイメージやイメージバージョンの完全な ARN に置き換えないでください。ARN は上に指定した形式にして、`image` または `image-version` のいずれかを指定する必要があります。`partition` プレースホルダーは、イメージまたはイメージバージョンが実行されている場所に応じて、 AWS 商用パーティション (`aws`) または AWS 中国のパーティション (`aws-cn`) のいずれかを指定する必要があります。同様に、ARN 内の `region` プレースホルダーは、SageMaker イメージを利用できる任意の[有効なリージョン](https://docs.aws.amazon.com/sagemaker/latest/dg/regions-quotas.html)にすることができます。

## SageMaker AI 推論
<a name="security-confused-deputy-inference"></a>

次の例は、SageMaker AI の[リアルタイム](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints)、[サーバーレス](https://docs.aws.amazon.com/sagemaker/latest/dg/serverless-endpoints)、および[非同期](https://docs.aws.amazon.com/sagemaker/latest/dg/async-inference)の推論におけるサービス間の混乱した代理問題を防止するために、`aws:SourceArn` グローバル条件キーを使用する方法を示しています。アカウント番号は `aws:SourceArn` 値の一部であるため、`aws:SourceAccount` 値を指定する必要はありません。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Principal": { "Service": "sagemaker.amazonaws.com" },
    "Action": "sts:AssumeRole",
    "Condition": {
      "ArnLike": {
        "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:*"
      }
    }
  }
}
```

------

このテンプレート内の `aws:SourceArn` を特定のモデルやエンドポイントの完全な ARN に置き換えないでください。ARN は上に指定した形式にする必要があります。ARN テンプレート内のアスタリスクはワイルドカードではないため、変更しないでください。

## SageMaker AI バッチ変換ジョブ
<a name="security-confused-deputy-batch"></a>

次の例は、*us-west-2* リージョンでアカウント番号 *123456789012* によって作成された SageMaker AI の[バッチ変換ジョブ](https://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform.html)におけるサービス間の混乱した代理問題を防止するために、`aws:SourceArn` グローバル条件キーを使用する方法を示しています。アカウント番号は ARN に含まれているため、`aws:SourceAccount` 値を指定する必要はありません。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sagemaker.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:transform-job/*"
        }
      }
    }
  ]
}
```

------

このテンプレート内の `aws:SourceArn` を特定のバッチ変換ジョブの完全な ARN に置き換えることで、アクセス許可をさらに制限できます。

## SageMaker AI Marketplace
<a name="security-confused-deputy-marketplace"></a>

次の例は、*us-west-2* リージョンでアカウント番号 *123456789012* によって作成された SageMaker AI Marketplace リソースでのサービス間の混乱した代理問題を防止するために、`aws:SourceArn` グローバル条件キーを使用する方法を示しています。アカウント番号は ARN に含まれているため、`aws:SourceAccount` 値を指定する必要はありません。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sagemaker.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:*"
        }
      }
    }
  ]
}
```

------

このテンプレート内の `aws:SourceArn` を特定のアルゴリズムやモデルパッケージの完全な ARN に置き換えないでください。ARN は上に指定した形式にする必要があります。ARN テンプレート内のアスタリスクはワイルドカードであり、検証ステップからのすべてのトレーニングジョブ、モデル、バッチ変換ジョブに加えて、SageMaker AI Marketplace に公開されたアルゴリズムとモデルパッケージをカバーします。

## SageMaker Neo
<a name="security-confused-deputy-neo"></a>

次の例は、*us-west-2* リージョンでアカウント番号 *123456789012* によって作成された SageMaker Neo のコンパイルジョブにおけるサービス間の混乱した代理問題を防止するために、`aws:SourceArn` グローバル条件キーを使用する方法を示しています。アカウント番号は ARN に含まれているため、`aws:SourceAccount` 値を指定する必要はありません。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sagemaker.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:compilation-job/*"
        }
      }
    }
  ]
}
```

------

このテンプレート内の `aws:SourceArn` を特定のコンパイルジョブの完全な ARN に置き換えることで、アクセス許可をさらに制限できます。

## SageMaker Pipelines
<a name="security-confused-deputy-pipelines"></a>

次の例は、1 つ以上のパイプラインのパイプライン実行レコードを使用する [SageMaker Pipelines](https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines-overview.html) でのサービス間の混乱した代理問題を防止するために、`aws:SourceArn` グローバル条件キーを使用する方法を示しています。アカウント番号は ARN に含まれているため、`aws:SourceAccount` 値を指定する必要はありません。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "sagemaker.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:sagemaker:us-east-1:123456789012:pipeline/mypipeline/*"
                }
            }
        }
    ]
}
```

------

このテンプレート内の `aws:SourceArn` を特定のパイプライン実行の完全な ARN に置き換えないでください。ARN は上に指定した形式にする必要があります。`partition` プレースホルダーは、パイプラインが実行されている場所に応じて、 AWS 商用パーティション (`aws`) または AWS 中国のパーティション (`aws-cn`) のいずれかを指定する必要があります。同様に、ARN 内の `region` プレースホルダーは、SageMaker Pipelines を利用できる任意の[有効なリージョン](https://docs.aws.amazon.com/sagemaker/latest/dg/regions-quotas.html)を示します。

ARN テンプレートのアスタリスクはワイルドカードであり、`mypipeline` という名前のパイプラインのすべてのパイプライン実行をカバーします。特定のパイプラインではなく、`123456789012` アカウント内のすべてのパイプラインに対して `AssumeRole` アクセス許可を付与する場合は、`aws:SourceArn` が `arn:aws:sagemaker:*:123456789012:pipeline/*` になります。

## SageMaker 処理ジョブ
<a name="security-confused-deputy-processing-job"></a>

次の例は、*us-west-2* リージョンでアカウント番号 *123456789012* によって作成された SageMaker 処理ジョブにおけるサービス間の混乱した代理問題を防止するために、`aws:SourceArn` グローバル条件キーを使用する方法を示しています。アカウント番号は ARN に含まれているため、`aws:SourceAccount` 値を指定する必要はありません。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sagemaker.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:processing-job/*"
        }
      }
    }
  ]
}
```

------

このテンプレート内の `aws:SourceArn` を特定の処理ジョブの完全な ARN に置き換えることで、アクセス許可をさらに制限できます。

## SageMaker Studio
<a name="security-confused-deputy-studio"></a>

次の例は、*us-west-2* リージョンでアカウント番号 *123456789012* によって作成された SageMaker Studio でのサービス間の混乱した代理問題を防止するために、`aws:SourceArn` グローバル条件キーを使用する方法を示しています。アカウント番号は `aws:SourceArn` 値の一部であるため、`aws:SourceAccount` 値を指定する必要はありません。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sagemaker.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:*"
        }
      }
    }
  ]
}
```

------

このテンプレート内の `aws:SourceArn` を Studio の特定のアプリケーション、ユーザープロファイル、またはドメインの完全な ARN に置き換えないでください。ARN は、前の例で示された形式である必要があります。ARN テンプレート内のアスタリスクはワイルドカードではないため、変更しないでください。

## SageMaker トレーニングジョブ
<a name="security-confused-deputy-training-job"></a>

次の例は、*us-west-2* リージョンでアカウント番号 *123456789012* によって作成された SageMaker のトレーニングジョブにおけるサービス間の混乱した代理問題を防止するために、`aws:SourceArn` グローバル条件キーを使用する方法を示しています。アカウント番号は ARN に含まれているため、`aws:SourceAccount` 値を指定する必要はありません。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sagemaker.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:training-job/*"
        }
      }
    }
  ]
}
```

------

このテンプレート内の `aws:SourceArn` を特定のトレーニングジョブの完全な ARN に置き換えることで、アクセス許可をさらに制限できます。

**次回の予定**  
実行ロールの管理の詳細については、「[SageMaker AI ロール](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles)」を参照してください。

# SageMaker AI 実行ロールの使用方法
<a name="sagemaker-roles"></a>

Amazon SageMaker AI は、ユーザーに代わって他の AWS サービスを使用してオペレーションを実行します。これらのサービスとサービスが動作するリソースを使用するには、SageMaker AI アクセス許可を付与する必要があります。( AWS Identity and Access Management IAM) 実行ロールを使用して、SageMaker AI にこれらのアクセス許可を付与します。IAM ロールの詳細については、「[IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)」を参照してください。

実行ロールを作成して使用するには、以下の手順を実行します。

## 実行ロールを作成する
<a name="sagemaker-roles-create-execution-role"></a>

以下の手順を実行して、IAM 管理ポリシー `AmazonSageMakerFullAccess` をアタッチした実行ロールを作成します。詳細なアクセス許可が必要なユースケースの場合は、このページの他のセクションを使用して、ビジネスニーズを満たす実行ロールを作成します。SageMaker AI コンソールまたは AWS CLIを使用して実行ロールを作成できます。

**重要**  
以下の手順で使用されている IAM 管理ポリシー `AmazonSageMakerFullAccess` では、名前に `SageMaker`、`Sagemaker`、`sagemaker`、`aws-glue` を持つ特定の Amazon S3 アクションをバケットまたはオブジェクトで実行するアクセス許可のみが実行ロールに付与されます。実行ロールにポリシーを追加して、他の Amazon S3 バケットやオブジェクトへのアクセス権を付与する方法については、「[SageMaker AI 実行ロールにその他の Amazon S3 アクセス許可を追加する](#sagemaker-roles-get-execution-role-s3)」を参照してください。

**注記**  
SageMaker AI ドメインまたはノートブックインスタンスを作成する際に、実行ロールを直接作成できます。  
SageMaker ドメインを作成する方法については、「[Amazon SageMaker AI のセットアップガイド](gs.md)」を参照してください。
ノートブックインスタンスを作成する方法については、「[チュートリアル用 Amazon SageMaker ノートブックインスタンスを作成する](gs-setup-working-env.md)」を参照してください。

**SageMaker AI コンソールから新しい実行ロールを作成する**

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

1. **[Roles]** (ロール)、**[Create role]** (ロールの作成) の順に選択します。

1. **[AWS サービス]** を **[信頼されたエンティティ]** タイプのままにし、下矢印を使用して **[他の AWS のサービスのユースケース]** で **[SageMaker AI]** を検索します。

1. **[SageMaker AI — 実行]**、**[次へ]** の順に選択します。

1. IAM マネージドポリシー `AmazonSageMakerFullAccess` は、ロールに自動的にアタッチされます。このポリシーに含まれるアクセス許可を表示するには、ポリシー名の横にあるプラス (**\$1**) 記号を選択します。[**次へ**] を選択します。

1. **[ロール名]** と **[説明]** を入力します。

1. (オプション) ロールにアクセス許可とタグを追加します。

1. [**ロールの作成**] を選択してください。

1. IAM コンソールの **[ロール]** セクションで、先ほど作成したロールを検索します。必要に応じて、テキストボックスを使用してロール名でロールを検索します。

1. ロールの概要ページにある ARN を書き留めておきます。

** AWS CLIから新しい実行ロールを作成する**

を使用して実行ロールを作成する前に AWS CLI、「」の手順に従って実行ロールを更新および設定し[(オプション) を設定する AWS CLI](gs-set-up.md#gs-cli-prereq)、「」の手順に進みます[を使用したカスタムセットアップ AWS CLI](onboard-custom.md#onboard-custom-instructions-cli)。

実行ロールを作成したら、それを SageMaker AI ドメイン、ユーザープロファイル、または Jupyter Notebook インスタンスに関連付けることができます。
+ 実行ロールを既存の SageMaker AI ドメインに関連付ける方法については、「[ドメイン設定を編集する](domain-edit.md)」を参照してください。
+ 実行ロールを既存のユーザープロファイルに関連付ける方法については、「[ユーザープロファイルの追加](domain-user-profile-add.md)」を参照してください。
+ 実行ロールを既存のノートブックインスタンスに関連付ける方法については、「[ノートブックインスタンスを更新する](nbi-update.md)」を参照してください。

実行ロールの ARN を API コールに渡すこともできます。例えば、[Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) を使用すると、実行ロールの ARN を推定器に渡すことができます。以下のコードサンプルでは、XGBoost アルゴリズムコンテナを使用して推定器を作成し、実行ロールの ARN をパラメータとして渡します。GitHub のサンプル全体については、「[Customer Churn Prediction with XGBoost](https://github.com/aws/amazon-sagemaker-examples/blob/89c54681b7e0f83ce137b34b879388cf5960af93/introduction_to_applying_machine_learning/xgboost_customer_churn/xgboost_customer_churn.ipynb)」を参照してください。

```
import sagemaker, boto3
from sagemaker import image_uris

sess = sagemaker.Session()
region = sess.boto_region_name
bucket = sess.default_bucket()
prefix = "sagemaker/DEMO-xgboost-churn"
container = sagemaker.image_uris.retrieve("xgboost", region, "1.7-1")

xgb = sagemaker.estimator.Estimator(
    container,
    execution-role-ARN,
    instance_count=1,
    instance_type="ml.m4.xlarge",
    output_path="s3://{}/{}/output".format(bucket, prefix),
    sagemaker_session=sess,
)

...
```

### SageMaker AI 実行ロールにその他の Amazon S3 アクセス許可を追加する
<a name="sagemaker-roles-get-execution-role-s3"></a>

Amazon S3 のリソース (入力データなど) で SageMaker AI 機能を使用する場合、これらのリソースにアクセスする際には、リクエストで指定した実行ロール (`CreateTrainingJob` など) が使用されます。

IAM 管理ポリシー `AmazonSageMakerFullAccess` を実行ロールにアタッチすると、そのロールには、名前に `SageMaker`、`Sagemaker`、`sagemaker`、`aws-glue` を持つ特定の Amazon S3 アクションをバケットやオブジェクトで実行するためのアクセス許可が付与されます。また、Amazon S3 リソースで以下のアクションを実行するアクセス許可が付与されます。

```
"s3:CreateBucket", 
"s3:GetBucketLocation",
"s3:ListBucket",
"s3:ListAllMyBuckets",
"s3:GetBucketCors",
"s3:PutBucketCors"
```

Amazon S3 の 1 つ以上の特定のバケットにアクセスするためのアクセス許可を実行ロールに付与するには、以下のようなポリシーをロールにアタッチします。このポリシーは、`AmazonSageMakerFullAccess` が許可するすべてのアクションを実行するアクセス許可を IAM ロールに付与します。ただし、アクセスは amzn-s3-demo-bucket1 バケットと amzn-s3-demo-bucket2 バケットに制限されます。機能に必要な Amazon S3 アクセス許可の詳細については、使用する特定の SageMaker AI 機能のセキュリティドキュメントを参照してください。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:AbortMultipartUpload"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket1/*",
                "arn:aws:s3:::amzn-s3-demo-bucket2/*"
            ]
        }, 
        {
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket",
                "s3:GetBucketLocation",
                "s3:ListBucket",
                "s3:ListAllMyBuckets",
                "s3:GetBucketCors",
                "s3:PutBucketCors"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketAcl",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket1",
                "arn:aws:s3:::amzn-s3-demo-bucket2"
            ]
        }
    ]
}
```

------

## 実行ロールを取得する
<a name="sagemaker-roles-get-execution-role"></a>

[SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker)、[Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable)、または [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) を使用して、SageMaker AI ドメイン、スペース、またはユーザープロファイルにアタッチされた実行ロールの ARN と名前を取得できます。

**Topics**
+ [ドメインの実行ロールを取得する](#sagemaker-roles-get-execution-role-domain)
+ [スペースの実行ロールを取得する](#sagemaker-roles-get-execution-role-space)
+ [ユーザーの実行ロールを取得する](#sagemaker-roles-get-execution-role-user)

### ドメインの実行ロールを取得する
<a name="sagemaker-roles-get-execution-role-domain"></a>

ドメインの実行ロールを検索する手順は次のとおりです。

#### ドメイン実行ロールを取得する (コンソール)
<a name="sagemaker-roles-get-execution-role-domain-console"></a>

**ドメインにアタッチされた実行ロールを検索する**

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) で SageMaker AI コンソールを開きます。

1. 左側のナビゲーションペインで、**[管理者設定]** の下にある **[ドメイン]** を選択します。

1. ドメインに対応するリンクをクリックします。

1. **[ドメインの設定]** タブを選択します。

1. **[全般設定]** セクションでは、**[実行ロール]** に実行ロール ARN が一覧表示されます。

   実行ロール ARN の 最後の `/` の後にあるのが、実行ロール名です。

### スペースの実行ロールを取得する
<a name="sagemaker-roles-get-execution-role-space"></a>

スペースの実行ロールを検索する手順は次のとおりです。

#### スペースの実行ロールを取得する (コンソール)
<a name="sagemaker-roles-get-execution-role-space-console"></a>

**スペースにアタッチされた実行ロールを検索する**

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) で SageMaker AI コンソールを開きます。

1. 左側のナビゲーションペインで、**[管理者設定]** の下にある **[ドメイン]** を選択します。

1. ドメインに対応するリンクをクリックします。

1. **[スペース管理]** タブをクリックします。

1. **[詳細]** セクションでは、**[実行ロール]** に実行ロール ARN が一覧表示されます。

   実行ロール ARN の 最後の `/` の後にあるのが、実行ロール名です。

#### スペースの実行ロールを取得する (SDK for Python)
<a name="sagemaker-roles-get-execution-role-space-sdk"></a>

**注記**  
次のコードは、Amazon SageMaker Studio の IDE など、SageMaker 環境で実行されることを意図したものです。SageMaker AI 環境以外で `get_execution_role` を実行すると、エラーが発生します。

次の [https://sagemaker.readthedocs.io/en/stable/api/utility/session.html#sagemaker.session.get_execution_role](https://sagemaker.readthedocs.io/en/stable/api/utility/session.html#sagemaker.session.get_execution_role) [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) コマンドを使用すると、スペースにアタッチされた実行ロールの ARN を取得できます。

```
from sagemaker import get_execution_role
role = get_execution_role()
print(role)
```

実行ロール ARN の 最後の `/` の後にあるのが、実行ロール名です。

### ユーザーの実行ロールを取得する
<a name="sagemaker-roles-get-execution-role-user"></a>

ユーザーの実行ロールを検索する手順は次のとおりです。

#### ユーザーの実行ロールを取得する (コンソール)
<a name="sagemaker-roles-get-execution-role-user-console"></a>

**ユーザーにアタッチされた実行ロールを検索する**

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) で SageMaker AI コンソールを開きます。

1. 左側のナビゲーションペインで、**[管理者設定]** の下にある **[ドメイン]** を選択します。

1. ドメインに対応するリンクをクリックします。

1. **[ユーザープロファイル]** タブを選択します。

1. ユーザーに対応するリンクをクリックします。

1. **[詳細]** セクションでは、**[実行ロール]** に実行ロール ARN が一覧表示されます。

   実行ロール ARN の 最後の `/` の後にあるのが、実行ロール名です。

#### スペースの実行ロールを取得する (AWS CLI)
<a name="sagemaker-roles-get-execution-role-user-cli"></a>

**注記**  
次の例を使用するには、 AWS Command Line Interface (AWS CLI) をインストールして設定する必要があります。詳細については、「*AWS Command Line Interface バージョン 2 用ユーザーガイド*」の「[Get started with the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)」を参照してください。

次の [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sts/get-caller-identity.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sts/get-caller-identity.html) AWS CLI コマンドは、リクエストの認証に使用される IAM ID に関する情報を表示します。呼び出したのは IAM ユーザーです。

```
aws sts get-caller-identity
```

実行ロール ARN の 最後の `/` の後にあるのが、実行ロール名です。

## 実行ロールを変更する
<a name="sagemaker-roles-change-execution-role"></a>

実行ロールとは、SageMaker AI のアイデンティティ (SageMaker AI ユーザー、スペース、ドメインなど) が引き受ける IAM ロールです。IAM ロールを変更すると、そのロールを引き受けるすべての ID のアクセス許可が変更されます。

実行ロールを変更すると、対応するスペースの実行ロールも変更されます。変更の影響が伝播されるまでに時間がかかる場合があります。
+ *ユーザー*の実行ロールを変更すると、そのユーザーが作成した*プライベートスペース*が、変更された実行ロールを引き受けます。
+ *スペースのデフォルトの実行ロール*を変更すると、ドメインの*共有スペース*が、変更された実行ロールを引き受けます。

実行ロールとスペースの詳細については、「[ドメインスペースのアクセス許可と実行ロールを理解する](execution-roles-and-spaces.md)」を参照してください。

次のいずれかの手順を使用して、アイデンティティの実行ロールを別の IAM ロールに変更できます。

代わりに、アイデンティティが引き受けているロールを*変更する*場合は、「[実行ロールのアクセス許可を変更する](#sagemaker-roles-modify-to-execution-role)」を参照してください。

**Topics**
+ [ドメインのデフォルト実行ロールを変更する](#sagemaker-roles-change-execution-role-domain)
+ [スペースのデフォルトの実行ロールを変更する](#sagemaker-roles-change-execution-role-space)
+ [ユーザープロファイルの実行ロールを変更する](#sagemaker-roles-change-execution-role-user)

### ドメインのデフォルト実行ロールを変更する
<a name="sagemaker-roles-change-execution-role-domain"></a>

ドメインのデフォルトの実行ロールを変更する手順は次のとおりです。

#### ドメインのデフォルト実行ロールを変更する (コンソール)
<a name="sagemaker-roles-change-execution-role-domain-console"></a>

**ドメインにアタッチされたデフォルトの実行ロールを変更する**

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) で SageMaker AI コンソールを開きます。

1. 左側のナビゲーションペインで、**[管理者設定]** の下にある **[ドメイン]** を選択します。

1. ドメインに対応するリンクをクリックします。

1. **[ドメインの設定]** タブを選択します。

1. **[全般設定]** セクションで、**[編集]** をクリックします。

1. **[アクセス許可]** セクションの **[デフォルトの実行ロール]** の下で、ドロップダウンリストを展開します。

1. ドロップダウンリストを使用して、既存のロールを選択することも、カスタム IAM ロール ARN を入力することも、新しいロールを作成することもできます。

   新しいロールを作成する場合は、**[ロール作成ウィザードを使用してロールを作成]** オプションを選択できます。

1. 次のステップで [次へ] をクリックして、最後のステップで [送信] をクリックします。

### スペースのデフォルトの実行ロールを変更する
<a name="sagemaker-roles-change-execution-role-space"></a>

スペースのデフォルトの実行ロールを変更する手順は次のとおりです。この実行ロールを変更すると、ドメイン内のすべての共有スペースが引き受けるロールが変更されます。

#### スペースのデフォルトの実行ロールを変更する (コンソール)
<a name="sagemaker-roles-change-execution-role-space-console"></a>

**新しいスペースを作成する際に、スペースのデフォルトの実行ロールを変更する**

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) で SageMaker AI コンソールを開きます。

1. 左側のナビゲーションペインで、**[管理者設定]** の下にある **[ドメイン]** を選択します。

1. ドメインに対応するリンクをクリックします。

1. **[ドメインの設定]** タブを選択します。

1. **[全般設定]** セクションで、**[編集]** をクリックします。

1. **[アクセス許可]** セクションの **[スペースのデフォルトの実行ロール]** の下で、ドロップダウンリストを展開します。

1. ドロップダウンリストを使用して、既存のロールを選択することも、カスタム IAM ロール ARN を入力することも、新しいロールを作成することもできます。

   新しいロールを作成する場合は、**[ロール作成ウィザードを使用してロールを作成]** オプションを選択できます。

1. 次のステップで **[次へ]** をクリックして、最後のステップで **[送信]** をクリックします。

### ユーザープロファイルの実行ロールを変更する
<a name="sagemaker-roles-change-execution-role-user"></a>

ユーザープロファイルの実行ロールを変更する手順は次のとおりです。この実行ロールを変更すると、このユーザーが作成したすべてのプライベートスペースが引き受けるロールが変更されます。

#### ユーザープロファイルの実行ロールを変更する (コンソール)
<a name="sagemaker-roles-change-execution-role-user-console"></a>

**ユーザーにアタッチされた実行ロールを変更する**

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) で SageMaker AI コンソールを開きます。

1. 左側のナビゲーションペインで、**[管理者設定]** の下にある **[ドメイン]** を選択します。

1. ドメインに対応するリンクをクリックします。

1. **[ユーザープロファイル]** タブを選択します。

1. ユーザープロファイル名に対応するリンクをクリックします。

1. **[編集]** を選択します。

1. ドロップダウンリストを使用して、既存のロールを選択することも、カスタム IAM ロール ARN を入力することも、新しいロールを作成することもできます。

   新しいロールを作成する場合は、**[ロール作成ウィザードを使用してロールを作成]** オプションを選択できます。

1. 次のステップで **[次へ]** をクリックして、最後のステップで **[送信]** をクリックします。

## 実行ロールのアクセス許可を変更する
<a name="sagemaker-roles-modify-to-execution-role"></a>

アイデンティティ (SageMaker AI ユーザー、スペース、ドメインなど) の実行ロールに対する既存のアクセス許可は変更できます。これを行うには、アイデンティティが引き受けている適切な IAM ロールを検索してから、その IAM ロールを変更します。コンソールを使用してこれを実行する手順は次のとおりです。

実行ロールを変更すると、対応するスペースの実行ロールも変更されます。この変更は直ちには反映されない場合があります。
+ *ユーザー*の実行ロールを変更すると、そのユーザーが作成した*プライベートスペース*が、変更された実行ロールを引き受けます。
+ *スペースのデフォルトの実行ロール*を変更すると、ドメインの*共有スペース*が、変更された実行ロールを引き受けます。

実行ロールとスペースの詳細については、「[ドメインスペースのアクセス許可と実行ロールを理解する](execution-roles-and-spaces.md)」を参照してください。

代わりに、アイデンティティが引き受けているロールを*変更する*場合は、「[実行ロールを変更する](#sagemaker-roles-change-execution-role)」を参照してください。

### アクセス許可を実行ロールに変更する (コンソール)
<a name="sagemaker-roles-modify-to-execution-role-console"></a>

**アクセス許可を実行ロールに変更するには**

1. まず、変更する ID の名前を取得します。
   + [ドメインの実行ロールを取得する](#sagemaker-roles-get-execution-role-domain)
   + [スペースの実行ロールを取得する](#sagemaker-roles-get-execution-role-space)
   + [ユーザーの実行ロールを取得する](#sagemaker-roles-get-execution-role-user)

1. ID が引き受けているロールを変更するには、「*AWS Identity and Access Management ユーザーガイド*」の「[ロールの変更](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html)」を参照してください。

   IAM ID にアクセス許可を追加する詳細と手順については、「*AWS Identity and Access Management ユーザーガイド*」の「[IAM ID のアクセス許可の追加および削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)」を参照してください。

## ロールを渡す
<a name="sagemaker-roles-pass-role"></a>

サービス間でのロールの受け渡しなどのアクションは、SageMaker AI 内の一般的な機能です。詳細については、「*サービス認証リファレンス*」の「[SageMaker AI のアクション、リソース、条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html#amazonsagemaker-actions-as-permissions)」を参照してください。

ロール (`iam:PassRole`) は、以下の API コールを行う際に渡します。[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCompilationJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCompilationJob.html)、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html)、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFeatureGroup.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFeatureGroup.html)、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html)、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html)、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateImage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateImage.html)、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateMonitoringSchedule.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateMonitoringSchedule.html)、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html)、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html)、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html)、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html)、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateImage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateImage.html)、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html)。

ロールを引き受ける SageMaker AI にプリンシパルアクセス許可を付与する IAM ロールに次の信頼ポリシーをアタッチします。これはすべての実行ロールに対して同じです。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "sagemaker.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

ロールに付与する必要があるアクセス許可は、呼び出す API によって異なります。以下のセクションでは、これらのアクセス許可について説明します。

**注記**  
アクセス許可ポリシーを作成してアクセス許可を管理する代わりに、 AWSマネージドアクセス`AmazonSageMakerFullAccess`許可ポリシーを使用できます。SageMaker AI で実行する可能性のあるすべてのアクションに対応できるように、このポリシーのアクセス許可範囲は広くなっています。多くのアクセス許可を付与する理由に関する情報を含むポリシーのリストについては、「[AWS マネージドポリシー: AmazonSageMakerFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonSageMakerFullAccess)」を参照してください。カスタムポリシーを作成してアクセス許可を管理し、実行ロールで実行する必要があるアクションにのみアクセス許可を適用する場合は、以下のトピックを参照してください。

**重要**  
問題が発生した場合は、「[Amazon SageMaker AI のアイデンティティとアクセスのトラブルシューティング](security_iam_troubleshoot.md)」を参照してください。

IAM ロールの詳細については、「*サービス認証リファレンス*」の「[IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)」を参照してください。

**Topics**
+ [実行ロールを作成する](#sagemaker-roles-create-execution-role)
+ [実行ロールを取得する](#sagemaker-roles-get-execution-role)
+ [実行ロールを変更する](#sagemaker-roles-change-execution-role)
+ [実行ロールのアクセス許可を変更する](#sagemaker-roles-modify-to-execution-role)
+ [ロールを渡す](#sagemaker-roles-pass-role)
+ [CreateAutoMLJob と CreateAutoMLJobV2 API: 実行ロールのアクセス許可](#sagemaker-roles-autopilot-perms)
+ [CreateDomain API: 実行ロールアクセス許可](#sagemaker-roles-createdomain-perms)
+ [CreateImage API と UpdateImage API: 実行ロールアクセス許可](#sagemaker-roles-createimage-perms)
+ [CreateNotebookInstance API: 実行ロールアクセス許可](#sagemaker-roles-createnotebookinstance-perms)
+ [CreateHyperParameterTuningJob API: 実行ロールアクセス許可](#sagemaker-roles-createhyperparametertiningjob-perms)
+ [CreateProcessingJob API: 実行ロールのアクセス許可](#sagemaker-roles-createprocessingjob-perms)
+ [CreateTrainingJob API: 実行ロールアクセス許可](#sagemaker-roles-createtrainingjob-perms)
+ [CreateModel API: 実行ロールアクセス許可](#sagemaker-roles-createmodel-perms)
+ [SageMaker 地理空間機能ロール](sagemaker-geospatial-roles.md)

## CreateAutoMLJob と CreateAutoMLJobV2 API: 実行ロールのアクセス許可
<a name="sagemaker-roles-autopilot-perms"></a>

`CreateAutoMLJob` または `CreateAutoMLJobV2` API リクエストで渡すことのできる実行ロールについては、次の最小アクセス許可ポリシーをロールにアタッチできます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "sagemaker.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:DescribeEndpointConfig",
                "sagemaker:DescribeModel",
                "sagemaker:InvokeEndpoint",
                "sagemaker:ListTags",
                "sagemaker:DescribeEndpoint",
                "sagemaker:CreateModel",
                "sagemaker:CreateEndpointConfig",
                "sagemaker:CreateEndpoint",
                "sagemaker:DeleteModel",
                "sagemaker:DeleteEndpointConfig",
                "sagemaker:DeleteEndpoint",
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket",
                "ecr:GetAuthorizationToken",
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": "*"
        }
    ]
}
```

------

AutoML ジョブにプライベート VPC を指定する場合、次のアクセス許可を追加します。

```
{
    "Effect": "Allow",
    "Action": [
        "ec2:CreateNetworkInterface",
        "ec2:CreateNetworkInterfacePermission",
        "ec2:DeleteNetworkInterface",
        "ec2:DeleteNetworkInterfacePermission",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DescribeVpcs",
        "ec2:DescribeDhcpOptions",
        "ec2:DescribeSubnets",
        "ec2:DescribeSecurityGroups"
    ]
}
```

入力が KMS マネージドキー (SSE-KMS) AWS によるサーバー側の暗号化を使用して暗号化されている場合は、次のアクセス許可を追加します。

```
{
    "Effect": "Allow",
    "Action": [
        "kms:Decrypt"
    ]
}
```

AutoML ジョブの出力設定に KMS キーを指定する場合、次のアクセス許可を追加します。

```
{
    "Effect": "Allow",
    "Action": [
    "kms:Encrypt"
    ]
}
```

AutoML ジョブのリソース設定にボリューム KMS キーを指定する場合、次のアクセス許可を追加します。

```
{
    "Effect": "Allow",
    "Action": [
    "kms:CreateGrant"
    ]
}
```

## CreateDomain API: 実行ロールアクセス許可
<a name="sagemaker-roles-createdomain-perms"></a>

IAM Identity Center を使用するドメインの実行ロールと IAM ドメインのユーザー/実行ロールは、 AWS KMS カスタマーマネージドキーを `CreateDomain` API リクエスト`KmsKeyId`の として渡すときに、次のアクセス許可が必要です。アクセス許可は、`CreateApp` API コールの際に適用されます。

`CreateDomain` API リクエストで渡すことのできる実行ロールについては、次のアクセス許可ポリシーをロールにアタッチできます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:CreateGrant",
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/kms-key-id"
        }
    ]
}
```

------

また、アクセス許可が KMS ポリシーで指定されている場合は、以下のポリシーをロールにアタッチできます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Allow use of the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/ExecutionRole"
                ]
            },
            "Action": [
                "kms:CreateGrant",
                "kms:DescribeKey"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## CreateImage API と UpdateImage API: 実行ロールアクセス許可
<a name="sagemaker-roles-createimage-perms"></a>

`CreateImage` または `UpdateImage` API リクエストで渡すことのできる実行ロールについては、以下のアクセス許可ポリシーをロールにアタッチできます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## CreateNotebookInstance API: 実行ロールアクセス許可
<a name="sagemaker-roles-createnotebookinstance-perms"></a>

`CreateNotebookInstance` API を呼び出すために実行ロールに付与されるアクセス許可は、ノートブックインスタンスで行う予定の作業によって異なります。これを使用して SageMaker AI API を呼び出し、`CreateTrainingJob` および `CreateModel` API を呼び出す際に同じロールを渡すことを計画している場合は、以下のアクセス許可ポリシーをロールにアタッチします。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:*",
                "ecr:GetAuthorizationToken",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage",
                "ecr:BatchCheckLayerAvailability",
                "ecr:SetRepositoryPolicy",
                "ecr:CompleteLayerUpload",
                "ecr:BatchDeleteImage",
                "ecr:UploadLayerPart",
                "ecr:DeleteRepositoryPolicy",
                "ecr:InitiateLayerUpload",
                "ecr:DeleteRepository",
                "ecr:PutImage",
                "ecr:CreateRepository",
                "cloudwatch:PutMetricData",
                "cloudwatch:GetMetricData",
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:ListMetrics",
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:DescribeLogStreams",
                "logs:PutLogEvents",
                "logs:GetLogEvents",
                "s3:CreateBucket",
                "s3:ListBucket",
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "robomaker:CreateSimulationApplication",
                "robomaker:DescribeSimulationApplication",
                "robomaker:DeleteSimulationApplication",
                "robomaker:CreateSimulationJob",
                "robomaker:DescribeSimulationJob",
                "robomaker:CancelSimulationJob",
                "ec2:CreateVpcEndpoint",
                "ec2:DescribeRouteTables",
                "elasticfilesystem:DescribeMountTargets"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "codecommit:GitPull",
                "codecommit:GitPush"
            ],
            "Resource": [
                "arn:aws:codecommit:*:*:*sagemaker*",
                "arn:aws:codecommit:*:*:*SageMaker*",
                "arn:aws:codecommit:*:*:*Sagemaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "sagemaker.amazonaws.com"
                }
            }
        }
    ]
}
```

------

アクセス許可を絞り込むには、次のように `"Resource": "*"` を制限することで、アクセス許可を特定の Amazon S3 リソースや Amazon ECR リソースに限定します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:*",
                "ecr:GetAuthorizationToken",
                "cloudwatch:PutMetricData",
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:DescribeLogStreams",
                "logs:PutLogEvents",
                "logs:GetLogEvents"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "sagemaker.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::inputbucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::inputbucket/object1",
                "arn:aws:s3:::outputbucket/path",
                "arn:aws:s3:::inputbucket/object2",
                "arn:aws:s3:::inputbucket/object3"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": [
                "arn:aws:ecr:us-east-1:111122223333:repository/my-repo1",
                "arn:aws:ecr:us-east-1:111122223333:repository/my-repo2",
                "arn:aws:ecr:us-east-1:111122223333:repository/my-repo3"
            ]
        }
    ]
}
```

------

Amazon DynamoDB や Amazon Relational Database Service などの他のリソースにアクセスする場合は、関連するアクセス許可をこのポリシーに追加します。

上記のポリシーでは、ポリシーの適用範囲を次のように指定します。
+ `s3:ListBucket` アクセス許可の適用範囲を、`InputDataConfig.DataSource.S3DataSource.S3Uri` リクエストで `CreateTrainingJob` として指定した特定のバケットに設定します。
+ `s3:GetObject `、`s3:PutObject`、および `s3:DeleteObject` アクセス許可の範囲を次のように設定します。
  + `CreateTrainingJob` リクエストで指定する以下の値に範囲を設定します。

    `InputDataConfig.DataSource.S3DataSource.S3Uri`

    `OutputDataConfig.S3OutputPath`
  + `CreateModel` リクエストで指定する以下の値に範囲を設定します。

    `PrimaryContainer.ModelDataUrl`

    `SuplementalContainers.ModelDataUrl`
+ `ecr` アクセス許可の範囲を次のように設定します。
  + `AlgorithmSpecification.TrainingImage` リクエストで指定する `CreateTrainingJob` 値に範囲を設定します。
  + `PrimaryContainer.Image` リクエストで指定する `CreateModel` 値に範囲を設定します。

`cloudwatch` および `logs` アクションは "\$1" リソースに適用できます。詳細については、Amazon CloudWatch ユーザーガイドの「[CloudWatch リソースおよびオペレーション](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/iam-access-control-overview-cw.html#CloudWatch_ARN_Format)」を参照してください。



## CreateHyperParameterTuningJob API: 実行ロールアクセス許可
<a name="sagemaker-roles-createhyperparametertiningjob-perms"></a>

`CreateHyperParameterTuningJob` API リクエストで渡すことのできる実行ロールについては、次のアクセス許可ポリシーをロールにアタッチできます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket",
                "ecr:GetAuthorizationToken",
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": "*"
        }
    ]
}
```

------

`"Resource": "*"` を指定する代わりに、これらのアクセス許可の範囲を特定の Amazon S3 リソース、Amazon ECR リソース、Amazon CloudWatch Logs リソースに設定できます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "ecr:GetAuthorizationToken"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::inputbucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::inputbucket/object",
                "arn:aws:s3:::outputbucket/path"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": "arn:aws:ecr:us-east-1:111122223333:repository/my-repo"
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams"
            ],
            "Resource": "arn:aws:logs:us-east-1:111122223333:log-group:/aws/sagemaker/TrainingJobs*"
        }
    ]
}
```

------

ハイパーパラメータチューニングジョブに関連付けられているトレーニングコンテナが、DynamoDB リソースや Amazon RDS リソースなどの他のデータソースにアクセスする必要がある場合、このポリシーに適切なアクセス許可を追加します。

上記のポリシーでは、ポリシーの適用範囲を次のように指定します。
+ `s3:ListBucket` アクセス許可の範囲を、`InputDataConfig.DataSource.S3DataSource.S3Uri` リクエストで `CreateTrainingJob` として指定した特定のバケットに設定します。
+ `s3:GetObject `および `s3:PutObject` アクセス許可の範囲を、`CreateHyperParameterTuningJob` リクエストの入力および出力データ設定で指定する次のオブジェクトに設定します。

  `InputDataConfig.DataSource.S3DataSource.S3Uri`

  `OutputDataConfig.S3OutputPath`
+ Amazon ECR アクセス許可の範囲を、`CreateHyperParameterTuningJob` リクエストで指定するレジストリパス (`AlgorithmSpecification.TrainingImage`) に設定します。
+ Amazon CloudWatch Logs のアクセス許可の範囲を、SageMaker トレーニングジョブのロググループに設定します。

`cloudwatch` アクションは "\$1" リソースに適用できます。詳細については、「Amazon CloudWatch ユーザーガイド」の「[CloudWatch Resources and Operations](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format)」を参照してください。

ハイパーパラメータ調整ジョブにプライベート VPC を指定する場合は、次のアクセス許可を追加します。

```
{
    "Effect": "Allow",
    "Action": [
        "ec2:CreateNetworkInterface",
        "ec2:CreateNetworkInterfacePermission",
        "ec2:DeleteNetworkInterface",
        "ec2:DeleteNetworkInterfacePermission",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DescribeVpcs",
        "ec2:DescribeDhcpOptions",
        "ec2:DescribeSubnets",
        "ec2:DescribeSecurityGroups"
    ]
}
```

入力が KMS マネージドキー (SSE-KMS) AWS によるサーバー側の暗号化を使用して暗号化されている場合は、次のアクセス許可を追加します。

```
{
    "Effect": "Allow",
    "Action": [
        "kms:Decrypt"
    ]
}
```

ハイパーパラメータの調整ジョブの出力設定に KMS キーを指定する場合は、次のアクセス許可を追加します。

```
{
    "Effect": "Allow",
    "Action": [
    "kms:Encrypt"
    ]
}
```

ハイパーパラメータの調整ジョブのリソース設定にボリューム KMS キーを指定する場合は、次のアクセス許可を追加します。

```
{
    "Effect": "Allow",
    "Action": [
    "kms:CreateGrant"
    ]
}
```

## CreateProcessingJob API: 実行ロールのアクセス許可
<a name="sagemaker-roles-createprocessingjob-perms"></a>

`CreateProcessingJob` API リクエストで渡すことのできる実行ロールについては、次のアクセス許可ポリシーをロールにアタッチできます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket",
                "ecr:GetAuthorizationToken",
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": "*"
        }
    ]
}
```

------

`"Resource": "*"` を指定する代わりに、これらのアクセス許可の範囲を特定の Amazon S3 リソースおよび Amazon ECR リソースに設定できます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "ecr:GetAuthorizationToken"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::inputbucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::inputbucket/object",
                "arn:aws:s3:::outputbucket/path"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": "arn:aws:ecr:us-east-1:111122223333:repository/my-repo"
        }
    ]
}
```

------

`CreateProcessingJob.AppSpecification.ImageUri` が DynamoDB リソースや Amazon RDS リソースなどの他のデータソースにアクセスする必要がある場合は、関連するアクセス許可をこのポリシーに追加します。

上記のポリシーでは、ポリシーの適用範囲を次のように指定します。
+ `s3:ListBucket` アクセス許可の範囲を、`ProcessingInputs` リクエストで `CreateProcessingJob` として指定した特定のバケットに設定します。
+ `s3:GetObject ` および `s3:PutObject` アクセス許可の範囲を、`CreateProcessingJob` リクエストの `ProcessingInputs` および `ProcessingOutputConfig` でダウンロードもしくはアップロードされるオブジェクトに設定します。
+ Amazon ECR アクセス許可の範囲を、`CreateProcessingJob` リクエストで指定するレジストリパス (`AppSpecification.ImageUri`) に設定します。

`cloudwatch` および `logs` アクションは "\$1" リソースに適用できます。詳細については、Amazon CloudWatch ユーザーガイドの「[CloudWatch リソースおよびオペレーション](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/iam-access-control-overview-cw.html#CloudWatch_ARN_Format)」を参照してください。

処理ジョブにプライベート VPC を指定する場合は、次のアクセス許可を追加します。ポリシーの範囲に条件やリソースフィルターを含めないでください。そうしないと、処理ジョブの作成中に行われる検証チェックが失敗します。

```
{
    "Effect": "Allow",
    "Action": [
        "ec2:CreateNetworkInterface",
        "ec2:CreateNetworkInterfacePermission",
        "ec2:DeleteNetworkInterface",
        "ec2:DeleteNetworkInterfacePermission",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DescribeVpcs",
        "ec2:DescribeDhcpOptions",
        "ec2:DescribeSubnets",
        "ec2:DescribeSecurityGroups"
    ]
}
```

入力が KMS マネージドキー (SSE-KMS) AWS によるサーバー側の暗号化を使用して暗号化されている場合は、次のアクセス許可を追加します。

```
{
    "Effect": "Allow",
    "Action": [
        "kms:Decrypt"
    ]
}
```

処理ジョブの出力設定に KMS キーを指定する場合は、次のアクセス許可を追加します。

```
{
    "Effect": "Allow",
    "Action": [
    "kms:Encrypt"
    ]
}
```

処理ジョブのリソース設定でボリューム KMS キーを指定する場合は、次のアクセス許可を追加します。

```
{
    "Effect": "Allow",
    "Action": [
    "kms:CreateGrant"
    ]
}
```

## CreateTrainingJob API: 実行ロールアクセス許可
<a name="sagemaker-roles-createtrainingjob-perms"></a>

`CreateTrainingJob` API リクエストで渡すことのできる実行ロールについては、次のアクセス許可ポリシーをロールにアタッチできます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket",
                "ecr:GetAuthorizationToken",
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": "*"
        }
    ]
}
```

------

`"Resource": "*"` を指定する代わりに、これらのアクセス許可の範囲を特定の Amazon S3 リソースおよび Amazon ECR リソースに設定できます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "ecr:GetAuthorizationToken"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::inputbucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::inputbucket/object",
                "arn:aws:s3:::outputbucket/path"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": "arn:aws:ecr:us-east-1:111122223333:repository/my-repo"
        }
    ]
}
```

------

`CreateTrainingJob.AlgorithSpecifications.TrainingImage` が DynamoDB リソースや Amazon RDS リソースなどの他のデータソースにアクセスする必要がある場合は、関連するアクセス許可をこのポリシーに追加します。

`AlgorithmSpecification.AlgorithmArn` パラメータを使用してアルゴリズムリソースを指定する場合、実行ロールには次のアクセス許可も必要です。

```
{
    "Effect": "Allow",
    "Action": [
        "sagemaker:DescribeAlgorithm"
    ],
    "Resource": "arn:aws:sagemaker:*:*:algorithm/*"
}
```

上記のポリシーでは、ポリシーの適用範囲を次のように指定します。
+ `s3:ListBucket` アクセス許可の範囲を、`InputDataConfig.DataSource.S3DataSource.S3Uri` リクエストで `CreateTrainingJob` として指定した特定のバケットに設定します。
+ `s3:GetObject `および `s3:PutObject` アクセス許可の範囲を、`CreateTrainingJob` リクエストの入力および出力データ設定で指定する次のオブジェクトに設定します。

  `InputDataConfig.DataSource.S3DataSource.S3Uri`

  `OutputDataConfig.S3OutputPath`
+ Amazon ECR アクセス許可の範囲を、`CreateTrainingJob` リクエストで指定するレジストリパス (`AlgorithmSpecification.TrainingImage`) に設定します。

`cloudwatch` および `logs` アクションは "\$1" リソースに適用できます。詳細については、Amazon CloudWatch ユーザーガイドの「[CloudWatch リソースおよびオペレーション](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/iam-access-control-overview-cw.html#CloudWatch_ARN_Format)」を参照してください。

トレーニングジョブにプライベート VPC を指定する場合は、次のアクセス許可を追加します。

```
{
    "Effect": "Allow",
    "Action": [
      "ec2:CreateNetworkInterface",
      "ec2:CreateNetworkInterfacePermission",
      "ec2:DeleteNetworkInterface",
      "ec2:DeleteNetworkInterfacePermission",
      "ec2:DescribeNetworkInterfaces",
      "ec2:DescribeVpcs",
      "ec2:DescribeDhcpOptions",
      "ec2:DescribeSubnets",
      "ec2:DescribeSecurityGroups"
    ]
}
```

入力が KMS マネージドキー (SSE-KMS) AWS によるサーバー側の暗号化を使用して暗号化されている場合は、次のアクセス許可を追加します。

```
{
    "Effect": "Allow",
    "Action": [
        "kms:Decrypt"
    ]
}
```

トレーニングジョブの出力設定に KMS キーを指定する場合は、次のアクセス許可を追加します。

```
{
    "Effect": "Allow",
    "Action": [
    "kms:Encrypt"
    ]
}
```

トレーニングジョブのリソース設定にボリューム KMS キーを指定する場合は、次のアクセス許可を追加します。

```
{
    "Effect": "Allow",
    "Action": [
    "kms:CreateGrant"
    ]
}
```

## CreateModel API: 実行ロールアクセス許可
<a name="sagemaker-roles-createmodel-perms"></a>

`CreateModel` API リクエストで渡すことのできる実行ロールについては、次のアクセス許可ポリシーをロールにアタッチできます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "s3:GetObject",
                "s3:ListBucket",
                "ecr:GetAuthorizationToken",
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": "*"
        }
    ]
}
```

------

`"Resource": "*"` を指定する代わりに、これらのアクセス許可の範囲を特定の Amazon S3 リソースおよび Amazon ECR リソースに設定できます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "ecr:GetAuthorizationToken"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::inputbucket/object"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": [
                "arn:aws:ecr:us-east-1:111122223333:repository/my-repo",
                "arn:aws:ecr:us-east-1:111122223333:repository/my-repo"
            ]
        }
    ]
}
```

------

`CreateModel.PrimaryContainer.Image` が Amazon DynamoDB リソースや Amazon RDS リソースなどの他のデータソースにアクセスする必要がある場合は、関連するアクセス許可をこのポリシーに追加します。

上記のポリシーでは、ポリシーの適用範囲を次のように指定します。
+ S3 アクセス許可の範囲を、`PrimaryContainer.ModelDataUrl` リクエストの [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) で指定するオブジェクトに設定します。
+ Amazon ECR アクセス許可の範囲を、`CreateModel` リクエストで `PrimaryContainer.Image` および `SecondaryContainer.Image` として指定する特定のレジストリパスに設定します。

`cloudwatch` および `logs` アクションは "\$1" リソースに適用できます。詳細については、Amazon CloudWatch ユーザーガイドの「[CloudWatch リソースおよびオペレーション](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/iam-access-control-overview-cw.html#CloudWatch_ARN_Format)」を参照してください。

**注記**  
[SageMaker AI デプロイガードレール機能](https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails.html)を本番環境でのモデルデプロイに使用する場合は、実行ロールに自動ロールバックアラームの `cloudwatch:DescribeAlarms` アクションを実行するアクセス許可があるようにします。

モデルにプライベート VPC を指定する場合は、次のアクセス許可を追加します。

```
{
    "Effect": "Allow",
    "Action": [
        "ec2:CreateNetworkInterface",
        "ec2:CreateNetworkInterfacePermission",
        "ec2:DeleteNetworkInterface",
        "ec2:DeleteNetworkInterfacePermission",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DescribeVpcs",
        "ec2:DescribeDhcpOptions",
        "ec2:DescribeSubnets",
        "ec2:DescribeSecurityGroups"
    ]
}
```

# SageMaker 地理空間機能ロール
<a name="sagemaker-geospatial-roles"></a>

マネージドサービスである Amazon SageMaker AI の地理空間機能は、SageMaker AI が管理する AWS ハードウェア上でお客様に代わってオペレーションを実行します。 AWS Identity and Access Management を使用して、ユーザー、グループ、ロールに SageMaker 地理空間へのアクセス権を付与します。

IAM 管理者は、、、またはいずれかの AWS SDKs を使用して、これらのアクセス許可をユーザー AWS マネジメントコンソール、グループ AWS CLI、またはロールに付与できます。

**SageMaker 地理空間を使用するには、次の IAM アクセス許可が必要です。**

1. **SageMaker AI の実行ロール**

   SageMaker 地理空間固有の API オペレーションを使用するには、SageMaker AI 実行ロールの信頼ポリシーに SageMaker AI 地理空間サービスプリンシパル `sagemaker-geospatial.amazonaws.com` を含める必要があります。これにより、SageMaker AI 実行ロールは AWS アカウント ユーザーに代わって でアクションを実行できます。

1. **Amazon SageMaker Studio Classic と SageMaker 地理空間にアクセスできるユーザー、グループ、またはロール**

   SageMaker 地理空間の使用を開始するには、 AWS マネージドポリシーを使用できます`AmazonSageMakerGeospatialFullAccess`。これにより、ユーザー、グループ、ロールに SageMaker 地理空間へのフルアクセスが付与されます。ポリシーと、利用可能なアクション、リソース、条件の詳細を確認するには、「[AWS マネージドポリシー: AmazonSageMakerFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonSageMakerFullAccess)」を参照してください。

   Studio Classic の使用を開始し、Amazon SageMaker AI ドメインを作成するには、「[Amazon SageMaker AI ドメインの概要](gs-studio-onboard.md)」を参照してください。

次のトピックを使用して、新しい SageMaker AI 実行ロールを作成し、既存の SageMaker AI 実行ロールを更新して、SageMaker の地理空間固有の IAM アクション、リソース、条件を使用してアクセス許可を管理する方法について説明します。

**Topics**
+ [SageMaker AI 実行ロールを作成する](sagemaker-geospatial-roles-create-execution-role.md)
+ [既存の SageMaker AI 実行ロールへの SageMaker 地理空間サービスプリンシパル の追加](sagemaker-geospatial-roles-pass-role.md)
+ [`StartEarthObservationJob` API: 実行ロールのアクセス許可](sagemaker-roles-start-eoj-perms.md)
+ [`StartVectorEnrichmentJob` API: 実行ロールのアクセス許可](sagemaker-roles-start-vej-perms.md)
+ [`ExportEarthObservationJob` API: 実行ロールのアクセス許可](sagemaker-roles-export-eoj-perms.md)
+ [`ExportVectorEnrichmentJob` API: 実行ロールのアクセス許可](sagemaker-roles-export-vej-perms.md)

# SageMaker AI 実行ロールを作成する
<a name="sagemaker-geospatial-roles-create-execution-role"></a>

SageMaker の地理空間機能を使用するには、ユーザー、グループ、またはロールと実行ロールを設定する必要があります。ユーザーロールは、ユーザーが実行できることとできないことを決定するアクセス許可ポリシーを持つ AWS ID です AWS。実行ロールとは、 AWS リソースへのアクセス許可をサービスに付与する IAM ロールです。実行ロールはアクセス許可と信頼ポリシーで構成されます。信頼ポリシーは、ロールを引き受けるアクセス許可を持つプリンシパルを指定します。

SageMaker 地理空間には、別のサービスプリンシパル `sagemaker-geospatial.amazonaws.com` も必要です。既存の SageMaker AI ユーザーの場合は、この追加サービスプリンシパルを信頼ポリシーに追加する必要があります。

以下の手順を実行して、IAM マネージドポリシー `AmazonSageMakerGeospatialFullAccess` をアタッチした新しい実行ロールを作成します。詳細なアクセス許可が必要なユースケースの場合は、このガイドの他のセクションを使用して、ビジネスニーズを満たす実行ロールを作成します。

**重要**  
以下の手順で使用されている IAM マネージドポリシー `AmazonSageMakerGeospatialFullAccess` は、名前に `SageMaker`、`Sagemaker`、`sagemaker`、または `aws-glue` を持つ特定の Amazon S3 アクションをバケットまたはオブジェクトで実行するアクセス許可のみを実行ロールに付与します。実行ロールのポリシーを更新して他の Amazon S3 バケットやオブジェクトへのアクセスを許可する方法については、「[SageMaker AI 実行ロールにその他の Amazon S3 アクセス許可を追加する](sagemaker-roles.md#sagemaker-roles-get-execution-role-s3)」を参照してください。

**新規ロールを作成するには**

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

1. **[Roles]** (ロール) 、**[Create role]** (ロールの作成) の順に選択します。

1. **[SageMaker]** を選択します。

1. **[Next: Permissions]** (次へ: アクセス許可) を選択します。

1. IAM 管理ポリシー `AmazonSageMakerGeospatialFullAccess` は、このロールに自動的にアタッチされます。このポリシーに含まれるアクセス許可を表示するには、ポリシー名の横にある横向きの矢印を選択します。**[Next: Tags]** (次へ: タグ) を選択します。

1. (オプション) タグを追加し、**[Next: Review]** (次へ: 確認) を選択します。

1. **[Role name]** (ロール名) のテキストフィールドでロールに名前を付け、**[Create role]** (ロールの作成) を選択します。

1. IAM コンソールの **[ロール]** セクションで、ステップ 7 で作成したロールを選択します。必要に応じて、テキストボックスを使用し、手順 7 で入力したロール名を使ってロールを検索します。

1. ロールの概要ページにある ARN を書き留めておきます。

# 既存の SageMaker AI 実行ロールへの SageMaker 地理空間サービスプリンシパル の追加
<a name="sagemaker-geospatial-roles-pass-role"></a>

SageMaker 地理空間固有の API オペレーションを使用するには、SageMaker AI 実行ロールの信頼ポリシーに SageMaker AI 地理空間サービスプリンシパル `sagemaker-geospatial.amazonaws.com` を含める必要があります。これにより、SageMaker AI 実行ロールは AWS アカウント ユーザーに代わって でアクションを実行できます。

サービス間でのロールの受け渡しなどのアクションは、SageMaker AI 内では一般的です。詳細については 

SageMaker 地理空間サービスプリンシパルを既存の SageMaker AI 実行ロールに追加するには、次の信頼ポリシーに示されるとおり、既存のポリシーを更新して SageMaker 地理空間サービスプリンシパルを含めます。サービスプリンシパルを信頼ポリシーにアタッチすると、SageMaker AI 実行ロールがユーザーに代わって SageMaker 地理空間固有の API を実行できるようになります。

SageMaker の地理空間固有の IAM アクション、リソース、条件の詳細については、「*IAM ユーザーガイド*」の「[SageMaker AI のアクション、リソース、条件キー](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsagemaker.html#amazonsagemaker-actions-as-permissions)」を参照してください。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "sagemaker-geospatial.amazonaws.com",
                    "sagemaker.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

# `StartEarthObservationJob` API: 実行ロールのアクセス許可
<a name="sagemaker-roles-start-eoj-perms"></a>

`StartEarthObservationJob` API リクエストで渡すことのできる実行ロールには、次の最小アクセス許可ポリシーをロールにアタッチできます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
        "Effect": "Allow",
        "Action": "sagemaker-geospatial:GetEarthObservationJob",
        "Resource":  "arn:aws:sagemaker-geospatial:*:*:earth-observation-job/*"
        },
        {
        "Effect": "Allow",
        "Action": "sagemaker-geospatial:GetRasterDataCollection",
        "Resource": "arn:aws:sagemaker-geospatial:*:*:raster-data-collection/*"
        }
    ]
    }
```

------

入力 Amazon S3 バケットが AWS KMS マネージドキーによるサーバー側の暗号化 (SSE-KMS) を使用して暗号化されている場合は、[Amazon S3バケットキーの使用](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html)」を参照してください。

# `StartVectorEnrichmentJob` API: 実行ロールのアクセス許可
<a name="sagemaker-roles-start-vej-perms"></a>

`StartVectorEnrichmentJob` API リクエストで渡すことのできる実行ロールには、次の最小アクセス許可ポリシーをロールにアタッチできます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
        "Effect": "Allow",
        "Action": "sagemaker-geospatial:GetVectorEnrichmentJob",
        "Resource":  "arn:aws:sagemaker-geospatial:*:*:vector-enrichment-job/*"
        }
    ]
    }
```

------

入力 Amazon S3 バケットが AWS KMS マネージドキーによるサーバー側の暗号化 (SSE-KMS) を使用して暗号化されている場合は、[Amazon S3バケットキーの使用](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html)」を参照してください。

# `ExportEarthObservationJob` API: 実行ロールのアクセス許可
<a name="sagemaker-roles-export-eoj-perms"></a>

`ExportEarthObservationJob` API リクエストで渡すことのできる実行ロールには、次の最小アクセス許可ポリシーをロールにアタッチできます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
        "Effect": "Allow",
        "Action": "sagemaker-geospatial:GetEarthObservationJob",
        "Resource":  "arn:aws:sagemaker-geospatial:*:*:earth-observation-job/*"
        }
    ]
    }
```

------

入力 Amazon S3 バケットが AWS KMS マネージドキーによるサーバー側の暗号化 (SSE-KMS) を使用して暗号化されている場合は、[Amazon S3バケットキーの使用](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html)」を参照してください。

# `ExportVectorEnrichmentJob` API: 実行ロールのアクセス許可
<a name="sagemaker-roles-export-vej-perms"></a>

`ExportVectorEnrichmentJob` API リクエストで渡すことのできる実行ロールには、次の最小アクセス許可ポリシーをロールにアタッチできます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
        "Effect": "Allow",
        "Action": "sagemaker-geospatial:GetVectorEnrichmentJob",
        "Resource":  "arn:aws:sagemaker-geospatial:*:*:vector-enrichment-job/*"
        }
    ]
    }
```

------

入力 Amazon S3 バケットが AWS KMS マネージドキーによるサーバー側の暗号化 (SSE-KMS) を使用して暗号化されている場合は、[Amazon S3バケットキーの使用](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html)」を参照してください。

# Amazon SageMaker Role Manager
<a name="role-manager"></a>

Amazon SageMaker AI で最小権限のアクセス許可を取得しようとしている機械学習 (ML) 管理者は、データサイエンティスト、機械学習オペレーション (MLOps) エンジニアなどのペルソナに求められる独自の最小権限アクセス許可のニーズなど、業界のさまざまな視点を考慮する必要があります。Amazon SageMaker Role Manager を使用すると、一般的な機械学習のニーズに対応するペルソナベースの IAM ロールを Amazon SageMaker AI コンソールから直接作成して管理できます。

Amazon SageMaker Role Manager は、一般的な ML アクティビティのための 3 つの事前設定済みのロールペルソナと事前定義済みのアクセス許可を提供しています。用意されているペルソナとその推奨ポリシーを調べたり、ビジネスニーズに合ったペルソナ用のロールを作成して管理したりできます。追加のカスタマイズが必要な場合は、Amazon SageMaker Role Manager の [ステップ 1. ロール情報を入力する](role-manager-tutorial.md#role-manager-tutorial-enter-role-information) で [Amazon 仮想プライベートクラウド](https://aws.amazon.com/vpc/)リソースと [AWS Key Management Service](https://aws.amazon.com/kms/) 暗号化キーのネットワークと暗号化のアクセス許可を指定します。

**Topics**
+ [ロールマネージャ (コンソール) を使用する](role-manager-tutorial.md)
+ [ロールマネージャー (AWS CDK) の使用](role-manager-tutorial-cdk.md)
+ [ペルソナリファレンス](role-manager-personas.md)
+ [ML アクティビティリファレンス](role-manager-ml-activities.md)
+ [Studio Classic を起動する](role-manager-launch-notebook.md)
+ [ロールマネージャーのよくある質問](role-manager-faqs.md)

# ロールマネージャ (コンソール) を使用する
<a name="role-manager-tutorial"></a>

Amazon SageMaker Role Manager は、Amazon SageMaker AI コンソールの左側のナビゲーションにある以下の場所から使用できます。
+ **開始方法** — ユーザーのアクセス許可ポリシーをすばやく追加できます。
+ **ドメイン** – Amazon SageMaker AI ドメイン内のユーザーにアクセス許可ポリシーを追加します。
+ **ノートブック** — ノートブックを作成して実行するユーザーに最小限のアクセス許可を追加します。
+ **トレーニング** — トレーニングジョブを作成して管理するユーザーに最小限のアクセス許可を追加します。
+ **推論** — 推論用のモデルをデプロイして管理するユーザーに最小限のアクセス許可を追加します。

以下の手順に従って、SageMaker AI コンソールのさまざまな場所からロールを作成するプロセスを開始できます。

## 開始方法
<a name="role-manager-tutorial-getting-started"></a>

SageMaker AI を初めて使用する場合は、**[開始方法]** セクションからロールを作成することをお勧めします。

Amazon SageMaker Role Manager 使用してロールを作成するには、以下の手順を実行します。

1. Amazon SageMaker AI コンソールを開きます。

1. 左側のナビゲーションペインで、**[管理設定]‭** を選択します。

1. **[管理者設定]** で **[Role Manager]** を選択します。

1. **[ロールを作成]** を選択します。

## domains
<a name="role-manager-tutorial-domain"></a>

Amazon SageMaker AI ドメインの作成プロセスを開始する際、Amazon SageMaker Role Manager を使用してロールを作成できます。

Amazon SageMaker Role Manager 使用してロールを作成するには、以下の手順を実行します。

1. Amazon SageMaker AI コンソールを開きます。

1. 左のナビゲーションペインで、**[管理設定‭]** を選択します。

1. **[管理者設定]** で、**[ドメイン]** を選択します。

1. **[ドメインを作成]** をクリックします。

1. **[ロール作成ウィザードを使用してロールを作成]** を選択します。

## ノートブック
<a name="role-manager-tutorial-notebook"></a>

ノートブックの作成プロセスを開始する際に、Amazon SageMaker Role Manager を使用してロールを作成できます。

Amazon SageMaker Role Manager 使用してロールを作成するには、以下の手順を実行します。

1. Amazon SageMaker AI コンソールを開きます。

1. 左側のナビゲーションで、**[ノートブック]** を選択します。

1. [**ノートブックインスタンス**] を選択します。

1. **[Create notebook instance]** (ノートブックインスタンスの作成) を選択します。

1. **[ロール作成ウィザードを使用してロールを作成]** を選択します。

## トレーニング
<a name="role-manager-tutorial-training"></a>

トレーニングジョブの作成プロセスを開始する際に、Amazon SageMaker Role Manager を使用してロールを作成できます。

Amazon SageMaker Role Manager 使用してロールを作成するには、以下の手順を実行します。

1. Amazon SageMaker AI コンソールを開きます。

1. 左側のナビゲーションで、**[トレーニング]** を選択します。

1. **[トレーニングジョブ]** を選択します。

1. **[トレーニングジョブの作成]** を選択します。

1. **[ロール作成ウィザードを使用してロールを作成]** を選択します。

## 推論
<a name="role-manager-tutorial-inference"></a>

推論用のモデルをデプロイするプロセスを開始する際に、Amazon SageMaker Role Manager を使用してロールを作成できます。

Amazon SageMaker Role Manager 使用してロールを作成するには、以下の手順を実行します。

1. Amazon SageMaker AI コンソールを開きます。

1. 左側のナビゲーションで、**[推論]** を選択します。

1. **[モデル]** を選択します。

1. **[モデルの作成]** を選択します。

1. **[ロール作成ウィザードを使用してロールを作成]** を選択します。

前述の手順のいずれかが完了したら、以下のセクションの情報を参考にしてロールを作成します。

## 前提条件
<a name="role-manager-tutorial-prerequisites"></a>

Amazon SageMaker Role Manager を使用するには、IAM ロールを作成するアクセス許可が必要です。このアクセス許可を利用できるのは、通常、ML 管理者と ML 実務者向けの最小特権のアクセス許可を持つロールです。

ロールを切り替える AWS マネジメントコンソール ことで、 で IAM [ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)を一時的に引き受けることができます。ロールを使用する方法の詳細については、「IAM ユーザーガイド」の「[IAM ロールの使用](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html)」を参照してください。

## ステップ 1. ロール情報を入力する
<a name="role-manager-tutorial-enter-role-information"></a>

新しい SageMaker AI ロールの一意のサフィックスとして使用する名前を指定します。デフォルトでは、IAM コンソールで検索しやすくなるように、すべてのロール名にプレフィックス `"sagemaker-"` が追加されます。例えば、ロールの作成時にロールに `test-123` と名前を付けると、そのロールは IAM コンソールで `sagemaker-test-123` と表示されます。オプションでロールの説明を付け加えて、詳細を追加することができます。

次に、使用可能なペルソナから 1 つ選択すると、データサイエンティスト、データエンジニア、機械学習オペレーション (MLOps) エンジニアなどのペルソナに推奨されるアクセス許可が表示されます。使用可能なペルソナと推奨されるアクセス許可については、「[ペルソナリファレンス](role-manager-personas.md)」を参照してください。推奨されるアクセス許可なしでロールを作成するには、**[カスタムロールの設定]** を選択します。

**注記**  
SageMaker AI コンピューティングリソースがトレーニングや推論などのタスクを実行できるように、まずロールマネージャーを使用して SageMaker AI コンピューティングロールを作成することをお勧めします。SageMaker AI コンピューティングロールペルソナを使用して、ロールマネージャーでこのロールを作成します。SageMaker AI コンピューティングロールを作成したら、今後使用できるようにその ARN を書き留めておきます。

### ネットワークと暗号化の条件
<a name="role-manager-tutorial-enter-role-information-network-and-encryption"></a>

VPC のカスタマイズを有効にして、新しいロールに関連付けられた IAM ポリシーで VPC 設定、サブネット、セキュリティグループを使用することをおすすめします。VPC のカスタマイズを有効にすると、VPC リソースとやり取りする ML アクティビティの IAM ポリシーの範囲が最小特権のアクセスに絞り込まれます。VPC のカスタマイズはデフォルトでは有効になっていません。推奨ネットワークアーキテクチャの詳細については、「AWS テクニカルガイド」の「[Networking architecture](https://docs.aws.amazon.com/whitepapers/latest/build-secure-enterprise-ml-platform/networking-architecture.html)」を参照してください。**

KMS キーを使用して、機密性の高いデータを含む規制対象のワークロードのデータを暗号化、復号化、再暗号化することもできます。 AWS KMS カスタマイズがアクティブ化されると、カスタム暗号化キーをサポートする ML アクティビティの IAM ポリシーは、最小特権アクセスのためにスコープダウンされます。詳細については、「AWS テクニカルガイド」の「[Encryption with AWS KMS](https://docs.aws.amazon.com/whitepapers/latest/build-secure-enterprise-ml-platform/encryption-with-kms.html)」を参照してください。**

## ステップ 2. ML アクティビティを設定する
<a name="role-manager-tutorial-configure-ml-activities"></a>

各 Amazon SageMaker Role Manager ML アクティビティには、関連する AWS リソースへのアクセスを提供するための推奨される IAM アクセス許可が含まれています。一部の ML アクティビティでは、設定を完了するためにサービスロール ARN を追加する必要があります。定義済みの ML アクティビティとそのアクセス許可については、「[ML アクティビティリファレンス](role-manager-ml-activities.md)」を参照してください。サービスロールの追加については、「[サービスロール](#role-manager-tutorial-configure-ml-activities-service-roles)」を参照してください。

選択したペルソナに基づいて、特定の ML アクティビティが既に選択されています。推奨される ML アクティビティをすべて選択解除するか、追加のアクティビティを選択して独自のロールを作成できます。カスタムロール設定ペルソナを選択した場合、このステップでは ML アクティビティは事前に選択されません。

でロールに追加 AWS またはカスタマー管理の IAM ポリシーを追加できます[ステップ 3: ポリシーとタグを追加する](#role-manager-tutorial-add-policies-and-tags)。

### サービスロール
<a name="role-manager-tutorial-configure-ml-activities-service-roles"></a>

一部の AWS サービスでは、ユーザーに代わってアクションを実行するためにサービスロールが必要です。選択した ML アクティビティでサービスロールを渡す必要がある場合は、そのサービスロールの ARN を指定する必要があります。

新しいサービスロールを作成することも、SageMaker AI コンピューティングロールペルソナで作成されたサービスロールなどの既存のサービスロールを使用することもできます。[IAM コンソール](https://console.aws.amazon.com/iamv2/)の [ロール] セクションでロール名を選択すると、既存のロールの ARN を確認できます。サービスロールの詳細については、[「 AWS サービスのロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)」を参照してください。

## ステップ 3: ポリシーとタグを追加する
<a name="role-manager-tutorial-add-policies-and-tags"></a>

既存の IAM ポリシー AWS またはカスタマー管理の IAM ポリシーを新しいロールに追加できます。既存の SageMaker AI ポリシーの詳細については、「[ Amazon SageMaker AI 向けのAWS マネージドポリシー](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol.html)」を参照してください。[IAM コンソール](https://console.aws.amazon.com/iamv2/)の **[ロール]** セクションで既存のポリシーを確認することもできます。

必要に応じて、タグベースのポリシー条件を使用してメタデータ情報を割り当て、 AWS リソースを分類および管理します。各タグはキーと値のペアで表されます。詳細については、「[タグを使用した AWS リソースへのアクセスの制御](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)」を参照してください。

## レビューロール
<a name="role-manager-tutorial-review-role"></a>

時間をとって、新しいロールに関連するすべての情報を確認します。戻って情報を編集するには、**[戻る]** を選択します。ロールを作成する準備ができたら、**[作成]** を選択します。これにより、選択した ML アクティビティのアクセス許可を持つロールが生成されます。新しいロールは [IAM コンソール](https://console.aws.amazon.com/iamv2/)の **[ロール]** セクションで確認できます。

# ロールマネージャー (AWS CDK) の使用
<a name="role-manager-tutorial-cdk"></a>

Amazon SageMaker Role Manager AWS Cloud Development Kit (AWS CDK) で を使用して、プログラムでロールを作成し、アクセス許可を設定します。を使用して、 を使用して実行できるタスク AWS CDK をすべて実行できます AWS マネジメントコンソール。CDK へのプログラムによる アクセスによって、特定のリソースへのアクセスを許可するアクセス許可をユーザーに付与しやすくなります。の詳細については AWS CDK、[「 とは」を参照してください AWS CDK。](https://docs.aws.amazon.com/cdk/v2/guide/home.html)

**重要**  
SageMaker AI コンピューティングロールを作成するには、SageMaker AI コンピューティングロールペルソナを使用する必要があります。コンピューティングペルソナの詳細については、「[SageMaker AI コンピューティングペルソナ](role-manager-personas.md#role-manager-personas-compute)」を参照してください。内でコンピューティングロールを作成するために使用できるコードについては AWS CDK、「」を参照してください[コンピューティングペルソナにアクセス許可を付与する](#role-manager-cdk-compute-persona)。

 AWS CDKで実行できるタスクの例を以下に示します。
+ データサイエンティストや MLOps エンジニアなどの機械学習 (ML) ペルソナ向けに、きめ細かいアクセス許可を持つ IAM ロールを作成します。
+ ML ペルソナや ML アクティビティから CDK コンストラクトにアクセス許可を付与します。
+ ML アクティビティの条件パラメータを設定します。
+ グローバル Amazon VPC と AWS Key Management Service 条件を有効にし、それらの値を設定します。
+ アクセスを中断することなく、ユーザー向けの ML アクティビティのすべてのバージョンから選択できます。

特定の IAM アクセス許可を必要とする SageMaker AI を使用した機械学習 (ML) に関連する一般的な AWS タスクがあります。タスクを実行するためのアクセス許可は、Amazon SageMaker Role Manager で ML アクティビティとして定義されます。ML アクティビティは IAM ロールにリンクされた一連のアクセス許可を指定します。例えば、Amazon SageMaker Studio Classic の ML アクティビティには、ユーザーが Studio にアクセスするために必要なすべてのアクセス許可が提供されています。ML アクティビティの詳細については、「[ML アクティビティリファレンス](role-manager-ml-activities.md)」を参照してください。

ロールを作成するときは、まず ML ペルソナまたは ML アクティビティのコンストラクトを定義します。コンストラクトはスタック内のリソースです AWS CDK 。例えば、コンストラクトとして Amazon S3 バケット、Amazon VPC サブネット、または IAM ロールが考えられます。

ペルソナまたはアクティビティを作成するときに、そのペルソナまたはアクティビティに関連するアクセス許可を特定のリソースに制限できます。例えば、Amazon VPC 内の特定のサブネットのみにアクセス許可を付与するようにアクティビティをカスタマイズできます。

アクセス許可を定義したら、ロールを作成し、そのロールを渡して SageMaker ノートブック インスタンスなどの他のリソースを作成できます。



以下は CDK を使用して実行できるタスクの Typescript のコード例です。アクティビティを作成するときは、アクティビティのコンストラクトの ID とオプションを指定します。オプションは、Amazon S3 などのアクティビティに必須のパラメータを指定するディクショナリです。必須パラメータがないアクティビティには空のディクショナリを渡します。

## コンピューティングペルソナにアクセス許可を付与する
<a name="role-manager-cdk-compute-persona"></a>

次のコードは、ペルソナに固有の一連の ML アクティビティを含むデータサイエンティスト ML ペルソナを作成します。ML アクティビティからのアクセス許可は、ペルソナコンストラクトで指定された Amazon VPC と AWS KMS 設定にのみ適用されます。次のコードは、データサイエンティストペルソナのクラスを作成します。ML アクティビティはアクティビティリストで定義されます。VPC アクセス許可と KMS アクセス許可は、アクティビティリスト外のオプションパラメータとして定義されます。

クラスを定義したら、 AWS CDK スタック内のコンストラクトとしてロールを作成できます。ノートブックインスタンスを作成することもできます。次のコードで作成した IAM ロールを使用しているユーザーは、 AWS アカウントにログインするときにノートブックインスタンスにアクセスできます。

```
export class myCDKStack extends cdk.Stack {
  constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    const persona = new Persona(this, 'example-persona-id', {
        activities: [
            Activity.accessAwsServices(this, 'example-id1', {})
        ]
    });

    const role = persona.createRole(this, 'example-IAM-role-id', 'example-IAM-role-name');
    
    }
}
```

## データサイエンティストペルソナにアクセス許可を付与する
<a name="role-manager-cdk-data-scientist"></a>

次のコードは、ペルソナに固有の一連の ML アクティビティを含むデータサイエンティスト ML ペルソナを作成します。ML アクティビティからのアクセス許可は、ペルソナコンストラクトで指定された VPC と KMS 設定にのみ適用されます。次のコードは、データサイエンティストペルソナのクラスを作成します。ML アクティビティはアクティビティリストで定義されます。Amazon VPC のアクセス許可と AWS KMS アクセス許可は、アクティビティリスト外のオプションパラメータとして定義されます。

クラスを定義したら、 AWS CDK スタック内のコンストラクトとしてロールを作成できます。ノートブックインスタンスを作成することもできます。次のコードで作成した IAM ロールを使用しているユーザーは、 AWS アカウントにログインするときにノートブックインスタンスにアクセスできます。

```
export class myCDKStack extends cdk.Stack {
  constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    const persona = new Persona(this, 'example-persona-id', {
        activities: [
            Activity.runStudioAppsV2(this, 'example-id1', {}),
            Activity.manageJobs(this, 'example-id2', {rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name')]}),
            Activity.manageModels(this, 'example-id3', {rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name')]}),
            Activity.manageExperiments(this, 'example-id4', {}),
            Activity.visualizeExperiments(this, 'example-id5', {}),
            Activity.accessS3Buckets(this, 'example-id6', {s3buckets: [s3.S3Bucket.fromBucketName('amzn-s3-demo-bucket')]})
        ],
        // optional: to configure VPC permissions
        subnets: [ec2.Subnet.fromSubnetId('example-VPC-subnet-id')],
        securityGroups: [ec2.SecurityGroup.fromSecurityGroupId('example-VPC-security-group-id')],
        // optional: to configure KMS permissions
        dataKeys: [kms.Key.fromKeyArn('example-KMS-key-ARN')],
        volumeKeys: [kms.Key.fromKeyArn('example-KMS-key-ARN')],
    });

    const role = persona.createRole(this, 'example-IAM-role-id', 'example-IAM-role-name');
    
    const notebookInstance = new CfnNotebookInstance(this, 'example-notebook-instance-name', { RoleArn: role.RoleArn, ...});
    }
}
```

## MLOps ペルソナにアクセス許可を付与する
<a name="role-manager-cdk-ml-ops-persona"></a>

次のコードは、ペルソナに固有の一連の ML アクティビティを含む MLOps ペルソナを作成します。ML アクティビティからのアクセス許可は、ペルソナコンストラクトで指定された Amazon VPC と AWS KMS 設定にのみ適用されます。次のコードは、MLOps ペルソナのクラスを作成します。ML アクティビティはアクティビティリストで定義されます。VPC アクセス許可と KMS アクセス許可は、アクティビティリスト外のオプションパラメータとして定義されます。

クラスを定義したら、 AWS CDK スタック内のコンストラクトとしてロールを作成できます。Amazon SageMaker Studio のユーザープロファイルを作成することもできます。次のコードで作成した IAM ロールを使用しているユーザーは、 AWS アカウントにログインするときに SageMaker Studio Classic を開くことができます。

```
export class myCDKStack extends cdk.Stack {
  constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    const persona = new Persona(this, 'example-persona-id', {
        activities: [
            Activity.runStudioAppsV2(this, 'example-id1', {}),
            Activity.manageModels(this, 'example-id2', {rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name')]}),
            Activity.manageEndpoints(this, 'example-id3',{rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name')]}),
            Activity.managePipelines(this, 'example-id4', {rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name')]}),
            Activity.visualizeExperiments(this, 'example-id5', {})
        ],
        subnets: [ec2.Subnet.fromSubnetId('example-VPC-subnet-id')],
        securityGroups: [ec2.SecurityGroup.fromSecurityGroupId('example-VPC-security-group-id')],
        dataKeys: [kms.Key.fromKeyArn('example-KMS-key-ARN')],
        volumeKeys: [kms.Key.fromKeyArn('example-KMS-key-ARN')],
    });

    const role = persona.createRole(this, 'example-IAM-role-id', 'example-IAM-role-name');
    
    let userProfile = new CfnNUserProfile(this, 'example-Studio Classic-profile-name', { RoleName: role.RoleName, ... });  
    }
}
```

## コンストラクトにアクセス許可を付与する
<a name="role-manager-cdk-ml-ops"></a>

次のコードは、ペルソナに固有の一連の ML アクティビティを含む MLOps ペルソナを作成します。次のコードは、MLOps ペルソナのクラスを作成します。ML アクティビティはアクティビティリストで定義されます。

クラスを定義したら、 AWS CDK スタック内のコンストラクトとしてロールを作成できます。ノートブックインスタンスを作成することもできます。このコードは、ML アクティビティからのアクセス許可を Lambda 関数の IAM ロールに付与します。

```
export class myCDKStack extends cdk.Stack {
  constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    const persona = new Persona(this, 'example-persona-id', {
        activities: [
            Activity.runStudioAppsV2(this, 'example-id1', {}),
            Activity.manageModels(this, 'example-id2', {rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name')]}),
            Activity.manageEndpoints(this, 'example-id3',{rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name')]}),
            Activity.managePipelines(this, 'example-id4', {rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name')]}),
            Activity.visualizeExperiments(this, 'example-id5', {})
        ],
    });

    const lambdaFn = lambda.Function.fromFunctionName('example-lambda-function-name');
    persona.grantPermissionsTo(lambdaFn);
    }
}
```

## 1 つの ML アクティビティにアクセス許可を付与する
<a name="role-manager-cdk-single-ml-activity"></a>

次のコードは ML アクティビティを作成し、そのアクティビティからロールを作成します。アクティビティからのアクセス許可は、ユーザーに指定した VPC と KMS の設定にのみ適用されます。

```
export class myCDKStack extends cdk.Stack {
  constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    const activity = Activity.manageJobs(this, 'example-activity-id', {
        rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name')],
        subnets: [ec2.Subnet.fromSubnetId('example-VPC-subnet-id')],
        securityGroups: [ec2.SecurityGroup.fromSecurityGroupId('example-VPC-security-group-id')],
        dataKeys: [kms.Key.fromKeyArn('example-KMS-key-ARN')],
        volumeKeys: [kms.Key.fromKeyArn('example-KMS-key-ARN')],
    });

    const role = activity.createRole(this, 'example-IAM-role-id', 'example-IAM-role-name');
    }
}
```

## ロールを作成して 1 つのアクティビティに対するアクセス許可を付与する
<a name="role-manager-cdk-permissions"></a>

次のコードは、1 つの ML アクティビティの IAM ロールを作成します。

```
export class myCDKStack extends cdk.Stack {
  constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    const activity = Activity.manageJobs(this, 'example-activity-id', {
        rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name')],
    });
        

    activity.create_role(this, 'example-IAM-role-id', 'example-IAM-role-name') 
    }
}
```

# ペルソナリファレンス
<a name="role-manager-personas"></a>

Amazon SageMaker Role Manager がさまざまな ML ペルソナに推奨アクセス許可を付与します。これには、一般的な ML 実務者の責任に対するユーザー実行ロールや、SageMaker AI の操作に必要な一般的なサービスインタラクションに対する AWS サービス実行ロールが含まれます。

各ペルソナには、選択した ML アクティビティの形式の推奨されるアクセス許可があります。定義済みの ML アクティビティとそのアクセス許可については、「[ML アクティビティリファレンス](role-manager-ml-activities.md)」を参照してください。

## データサイエンティストペルソナ
<a name="role-manager-personas-data-scientist"></a>

このペルソナを使用して、SageMaker AI 環境で一般的な機械学習の開発と実験を行うためのアクセス許可を設定します。このペルソナには、あらかじめ選択されている以下の ML アクティビティが含まれます。
+ Studio Classic アプリケーションの実行
+ ML ジョブの管理
+ モデルの管理
+  AWS Glue テーブルの管理
+ Canvas AI サービス
+ Canvas MLOps
+ Canvas Kendra へのアクセス
+ MLflow の使用
+ MLflow AWS のサービスに必要なアクセス
+ Studio EMR Serverless アプリケーションの実行

## MLOps ペルソナ
<a name="role-manager-personas-mlops"></a>

このペルソナを選択して、運用アクティビティのアクセス許可を設定します。このペルソナには、あらかじめ選択されている以下の ML アクティビティが含まれます。
+ Studio Classic アプリケーションの実行
+ モデルの管理
+ パイプラインの管理
+ 実験の検索と可視化
+ Amazon S3 へのフルアクセス

## SageMaker AI コンピューティングペルソナ
<a name="role-manager-personas-compute"></a>

**注記**  
SageMaker AI コンピューティングリソースがトレーニングや推論などのタスクを実行できるように、まずロールマネージャーを使用して SageMaker AI コンピューティングロールを作成することをお勧めします。SageMaker AI コンピューティングロールペルソナを使用して、ロールマネージャーでこのロールを作成します。SageMaker AI コンピューティングロールを作成したら、今後使用できるようにその ARN を書き留めておきます。

このペルソナには、事前に選択されている以下の ML アクティビティが含まれます。
+ 必要な AWS サービスへのアクセス

# ML アクティビティリファレンス
<a name="role-manager-ml-activities"></a>

ML アクティビティは、特定の IAM アクセス許可を必要とする SageMaker AI を使用した機械学習に関連する一般的な AWS タスクです。Amazon SageMaker Role Manager でロールを作成する際、各[ペルソナ](https://docs.aws.amazon.com/sagemaker/latest/dg/role-manager-personas.html)は関連する ML アクティビティを推奨します。追加のアクティビティを選択するか、推奨される ML アクティビティをすべて選択解除して、独自のビジネスニーズを満たすロールを作成できます。

Amazon SageMaker Role Manager には、以下の ML アクティビティに対する事前定義済みのアクセス許可があります。


****  

| **ML アクティビティ** | **説明** | 
| --- | --- | 
| 必要な AWS サービスへのアクセス | Amazon S3、Amazon ECR、Amazon CloudWatch、Amazon EC2 へのアクセス許可。ジョブとエンドポイントの実行ロールに必要。 | 
| Studio Classic アプリケーションの実行 | Studio 環境内でオペレーションを実行するするアクセス許可 ドメインとユーザープロファイルの実行ロールに必要。 | 
| ML ジョブの管理 | 実験を監査、リネージクエリ、視覚化するアクセス許可。 | 
| モデルの管理 | ライフサイクル全体で SageMaker AI ジョブを管理するアクセス許可。 | 
| パイプラインの管理 | SageMaker パイプラインとパイプライン実行を管理するアクセス許可。 | 
| 実験の検索と可視化 | SageMaker AI 実験の監査、リネージクエリ、可視化するためのアクセス許可 | 
| モデルモニタリングの管理 | SageMaker AI モデルモニターのモニタリングスケジュールを管理するアクセス許可。 | 
| Amazon S3 へのフルアクセス | Amazon S3 のすべての操作を実行するアクセス許可。 | 
| Amazon S3 バケットへのアクセス | 指定した S3 バケットでオペレーションを実行するためのアクセス許可 | 
| Athena ワークグループのクエリ | Amazon Athena クエリを実行および管理するアクセス許可。 | 
|  AWS Glue テーブルの管理 | SageMaker AI Feature Store と Data Wrangler の AWS Glue テーブルを作成および管理するためのアクセス許可。 | 
| SageMaker Canvas コアアクセス | SageMaker Canvas で実験を実行するアクセス許可 (基本的なデータ準備、モデル構築、検証) | 
| SageMaker Canvas Data Preparation (Data Wrangler 基盤) | SageMaker Canvas でエンドツーエンドのデータ準備を実行するアクセス許可 (データの集約、変換、分析、大規模なデータセットでのデータ準備ジョブの作成とスケジュール) | 
| SageMaker Canvas AI サービス | Amazon Bedrock、Amazon Textract、Amazon Rekognition、Amazon Comprehend から直ちに使用できるモデルを利用するためのアクセス許可。さらに、ユーザーは Amazon Bedrock と Amazon SageMaker JumpStart から基盤モデルをファインチューニングできます。 | 
| SageMaker Canvas MLOps | SageMaker Canvas ユーザーがモデルをエンドポイントに直接デプロイするためのアクセス許可 | 
| SageMaker Canvas Kendra のアクセス | SageMaker Canvas がエンタープライズドキュメント検索のために Amazon Kendra にアクセスするためのアクセス許可。このアクセス許可は、Amazon Kendra で選択したインデックス名にのみ付与されます。 | 
| MLflow の使用 | MLflow で実験、実行、モデルを管理するためのアクセス許可 | 
| MLflow Tracking Server の管理 | MLflow Tracking Server を管理、開始、停止するためのアクセス許可 | 
| MLflow AWS のサービスに必要なアクセス | MLflow Tracking Server が S3、Secrets Manager、Model Registry にアクセスするためのアクセス許可 | 
| Studio EMR Serverless アプリケーションの実行 | Amazon SageMaker Studio で EMR Serverless アプリケーションを作成して管理するためのアクセス許可 | 

# Studio Classic を起動する
<a name="role-manager-launch-notebook"></a>

ペルソナを中心としたロールを使用して、Studio を起動します。管理者の場合は、ユーザーに Studio Classic へのアクセスを許可し、 から直接、 AWS マネジメントコンソール または を通じてペルソナロールを引き受けさせることができます AWS IAM アイデンティティセンター。

## で Studio Classic を起動する AWS マネジメントコンソール
<a name="role-manager-launch-notebook-console"></a>

データサイエンティストや他のユーザーが AWS マネジメントコンソールから特定のペルソナを引き受けるには、Studio Classic 環境にアクセスするためのコンソールロールが必要です。

Amazon SageMaker Role Manager を使用して、 AWS マネジメントコンソールにアクセス許可を付与するロールを作成することはできません。ただし、ロールマネージャでサービスロールを作成したら、IAM コンソールに移動してロールを編集し、ユーザーアクセスロールを追加できます。以下は、 AWS マネジメントコンソールへのユーザアクセスを提供するロールの例です。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DescribeCurrentDomain",
            "Effect": "Allow",
            "Action": "sagemaker:DescribeDomain",
            "Resource": "arn:aws:sagemaker:us-east-1:111122223333:domain/<STUDIO-DOMAIN-ID>"
        },
        {
            "Sid": "RemoveErrorMessagesFromConsole",
            "Effect": "Allow",
            "Action": [
                "servicecatalog:ListAcceptedPortfolioShares",
                "sagemaker:GetSagemakerServicecatalogPortfolioStatus",
                "sagemaker:ListModels",
                "sagemaker:ListTrainingJobs",
                "servicecatalog:ListPrincipalsForPortfolio",
                "sagemaker:ListNotebookInstances",
                "sagemaker:ListEndpoints"
            ],
            "Resource": "*"
        },
        {
            "Sid": "RequiredForAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker:ListDomains",
                "sagemaker:ListUserProfiles"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CreatePresignedURLForAccessToDomain",
            "Effect": "Allow",
            "Action": "sagemaker:CreatePresignedDomainUrl",
            "Resource": "arn:aws:sagemaker:us-east-1:111122223333:user-profile/<STUDIO-DOMAIN-ID>/<PERSONA_NAME>"
        }
    ]
}
```

------

Studio Classic のコントロールパネルで、**[ユーザーを追加]** をクリックして新しいユーザーを作成します。**[全般設定]** セクションで、ユーザーに名前を付け、そのユーザーの**デフォルト実行ロール**を Amazon SageMaker Role Manager を使用して作成したロールに設定します。

次の画面で、適切な Jupyter Lab バージョンを選択し、SageMaker JumpStart テンプレートと SageMaker AI プロジェクトテンプレートを有効にするかどうかを選択します。次いで、**[次へ]** を選択します。SageMaker Canvas 設定ページで、SageMaker Canvas サポートを有効にするかどうか、また、SageMaker Canvas で時系列予測を許可するかどうかを選択します。次に、[**送信**] を選択します。

これで Studio Classic のコントロールパネルに新しいユーザーが表示されるはずです。このユーザーをテストするには、ユーザー名と同じ行にある **[アプリケーションを起動]** ドロップダウンリストから **[Studio]** を選択します。

## IAM アイデンティティセンターを使用して Studio Classic を起動する
<a name="role-manager-launch-notebook-iam-identity-center"></a>

IAM Identity Center のユーザーを実行ロールに割り当てるには、そのユーザーはまず IAM Identity Center のディレクトリに存在している必要があります。詳細については、AWS IAM アイデンティティセンターの「[Manage identities in IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-sso.html)」を参照してください。**

**注記**  
IAM アイデンティティセンターの認証ディレクトリと Studio Classic ドメインは同じ AWS リージョンに配置されている必要があります。

1. IAM アイデンティティセンターユーザーを Studio Classic ドメインに割り当てるには、Studio Classic コントロールパネルで **[ユーザーとグループの割り当て]** をクリックします。**[ユーザーとグループの割り当て]** 画面で、データサイエンティストユーザーを選択し、**[ユーザーとグループの割り当て]** を選択します。

1. Studio Classic のコントロールパネルにユーザーを追加したら、ユーザーを選択してユーザーの詳細画面を開きます。

1. **[ユーザーの詳細]** 画面で、**[編集]** を選択します。

1. **[ユーザープロファイルを編集]** 画面の **[全般設定]** で、データサイエンティスト用に作成したユーザー実行ロールと一致するように **[デフォルトの実行ロール]** を変更します。

1. 残りの設定ページで **[次へ]** を選択し、**[送信]** を選択して変更を保存します。

データサイエンティストや他のユーザーが IAM アイデンティティセンターポータルにログインすると、この Studio Classic ドメインのタイルが表示されます。そのタイルを選択したら、割り当てられたユーザー実行ロールで Studio Classic にログインします。

# ロールマネージャーのよくある質問
<a name="role-manager-faqs"></a>

Amazon SageMaker Role Manager についてのよくある質問と回答については、次のよくある質問の項目を参照してください。

## Q: Amazon SageMaker Role Manager にはアクセスするにはどうしたらよいですか?
<a name="role-manager-faqs-access"></a>

A: Amazon SageMaker AI コンソールの複数の場所から Amazon SageMaker Role Manager にアクセスできます。ロール マネージャーにアクセスし、それを使用してロールを作成する方法については、「[ロールマネージャ (コンソール) を使用する](role-manager-tutorial.md)」を参照してください。

## Q: ペルソナとはどういうものですか?
<a name="role-manager-faqs-personas"></a>

A: ペルソナは、一般的な機械学習 (ML) の責任に基づいて事前に設定されたアクセス許可のグループです。例えば、データサイエンスのペルソナは SageMaker AI 環境での一般的な機械学習の開発と実験に対するアクセス許可を推奨し、MLOps ペルソナはオペレーションに関連する ML アクティビティに対するアクセス許可を提案します。

## Q: ML アクティビティとはどういうものですか?
<a name="role-manager-faqs-ml-activities"></a>

A: ML アクティビティは、特定の IAM アクセス許可を必要とする SageMaker AI を使用した機械学習に関連する一般的な AWS タスクです。Amazon SageMaker Role Manager でロールを作成する際、各ペルソナは関連する ML アクティビティを推奨します。ML アクティビティには、Amazon S3 フルアクセスや実験の検索と視覚化などのタスクがあります。詳細については、「[ML アクティビティリファレンス](role-manager-ml-activities.md)」を参照してください。

## Q. 作成したロールはロールマネージャー AWS Identity and Access Management (IAM) ロールですか?
<a name="role-manager-faqs-iam"></a>

A: はい。Amazon SageMaker Role Manager を使用して作成されたロールは、カスタマイズされたアクセスポリシーを持つ IAM ロールです。作成されたロールは [IAM コンソール](https://console.aws.amazon.com/iamv2/)の **[ロール]** セクションで確認できます。

## Q: Amazon SageMaker Role Manager を使用して作成したロールを表示する方法を教えてください。
<a name="role-manager-faqs-view-roles"></a>

A: 作成されたロールは [IAM コンソール](https://console.aws.amazon.com/iamv2/)の **[ロール]** セクションで確認できます。デフォルトでは、IAM コンソールで検索しやすくなるように、すべてのロール名にプレフィックス `"sagemaker-"` が追加されます。例えば、ロールの作成時にロールに `test-123` と名前を付けたら、そのロールは IAM コンソールで `sagemaker-test-123` と表示されます。

## Q: Amazon SageMaker Role Manager で作成したロールは、作成後に変更できますか?
<a name="role-manager-faqs-modify-roles"></a>

A: はい。Amazon SageMaker Role Manager によって作成されたロールとポリシーは [IAM コンソール](https://console.aws.amazon.com/iamv2/)から変更できます。詳細については、「*AWS Identity and Access Management ユーザーガイド*」の「[IAM とは](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html)」を参照してください。

## Q: Amazon SageMaker Role Manager を使用して作成したロールに独自のポリシーをアタッチすることはできますか?
<a name="role-manager-faqs-attach-policies"></a>

A: はい。Amazon SageMaker Role Manager を使用して作成したロールに、アカウントから AWS またはカスタマー管理の IAM ポリシーをアタッチできます。

## Q: Amazon SageMaker Role Manager で作成したロールには、ポリシーをいくつ追加できますか?
<a name="role-manager-faqs-policy-limit"></a>

A: IAM ロールまたはユーザーにマネージドポリシーをアタッチできる上限は 20 です。マネージドポリシーの最大文字数制限は、6,144 文字です。詳細については、「[IAM オブジェクトクォータ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-entities)」と、「[IAM と AWS Security Token Service クォータ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html)」の「IAM 名前の要件」および「文字制限」を参照してください。

## Q: ML アクティビティに条件を追加できますか?
<a name="role-manager-faqs-conditions"></a>

A: サブネット、セキュリティグループ、KMS キーなど、Amazon SageMaker Role Manager の「[ステップ 1. ロール情報を入力する](role-manager-tutorial.md#role-manager-tutorial-enter-role-information)」で指定した条件は、「[ステップ 2. ML アクティビティを設定する](role-manager-tutorial.md#role-manager-tutorial-configure-ml-activities)」で選択した ML アクティビティに自動的に渡されます。必要に応じて、ML アクティビティに条件を追加することもできます。例えば、トレーニングジョブの管理アクティビティに `InstanceTypes` または `IntercontainerTrafficEncryption` の条件を追加することもできます。

## Q. タグ付けを使用して任意の AWS リソースへのアクセスを管理できますか?
<a name="role-manager-faqs-tagging"></a>

A: ****Amazon SageMaker Role Manager の「[ステップ 3: ポリシーとタグを追加する](role-manager-tutorial.md#role-manager-tutorial-add-policies-and-tags)」でロールにタグを追加できます。タグを使用して AWS リソースを正常に管理するには、ロールと関連するポリシーの両方に同じタグを追加する必要があります。例えば、ロールと Amazon S3 バケットにタグを追加できます。次に、ロールが SageMaker AI セッションにタグを渡すため、そのロールを持つユーザーだけが S3 バケットにアクセスできます。[IAM コンソール](https://console.aws.amazon.com/iamv2/)からポリシーにタグを追加できます。詳細については、「*AWS Identity and Access Management ユーザーガイド*」で「[IAM ロールのタグ付け](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags_roles.html)」を参照してください。

## Q: Amazon SageMaker Role Manager を使用して、 AWS マネジメントコンソールにアクセスするためのロールを作成できますか?
<a name="role-manager-faqs-console-access"></a>

Q. いいえ、できません。ただし、ロールマネージャでサービスロールを作成したら、IAM コンソールに移動して、IAM コンソールでロールを編集し、ユーザーアクセスロールを追加できます。

## Q: ユーザーフェデレーションロールと SageMaker AI 実行ロールの違いは何ですか。
<a name="role-manager-faqs-role-types"></a>

A: ユーザーフェデレーションロールは、 AWS マネジメントコンソールへのアクセスなどの AWS リソースにアクセスする際にユーザーが直接引き受けます。SageMaker AI 実行ロールは、ユーザーや自動化ツールに代わって機能を実行するために、SageMaker AI サービスが引き受けます。例えば、ユーザーが Studio Classic インスタンスを開くと、Studio Classic はユーザープロファイルに関連付けられた実行ロールを引き受け、ユーザーに代わって AWS リソースにアクセスします。ユーザープロファイルで実行ロールが指定されていない場合は、Amazon SageMaker AI ドメインレベルで実行ロールが指定されます。

## Q. 署名済み URL を介して Studio Classic にアクセスするカスタムウェブアプリケーションを利用している場合に使用されのはどのロールですか。
<a name="role-manager-faqs-studio-presigned-url"></a>

A: カスタムウェブアプリケーションを使用して Studio Classic にアクセスする場合、ハイブリッドユーザーフェデレーションロールと SageMaker AI 実行ロールが付与されています。このロールには、ユーザーが実行できる内容と、関連付けられたユーザーに代わって Studio Classic が実行できる内容の両方に対する最小特権のアクセス許可が付与されていることを確認してください。

## Q: Studio Classic ドメインの IAM アイデンティティセンター認証で Amazon SageMaker Role Manager AWS を使用できますか?
<a name="role-manager-faqs-iam-identity-center"></a>

A: AWS IAM アイデンティティセンター Studio Classic クラウドアプリケーションは、Studio Classic 実行ロールを使用して、フェデレーティッドユーザーにアクセス許可を付与します。この実行ロールは、Studio IAM アイデンティティセンターのユーザープロファイルレベルまたはデフォルトのドメインレベルで指定できます。ユーザー ID とグループは IAM アイデンティティセンターと同期する必要があり、Studio Classic ユーザープロファイルは [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) を使用して IAM アイデンティティセンターのユーザー割り当てで作成する必要があります。詳細については、「[IAM アイデンティティセンターを使用して Studio Classic を起動する](role-manager-launch-notebook.md#role-manager-launch-notebook-iam-identity-center)」を参照してください。

# ノートブックのアクセスコントロール
<a name="security-access-control"></a>

Amazon SageMaker Studio Classic ノートブックと SageMaker ノートブックインスタンスは、ランタイム環境が異なるため、アクセスを制御するには異なる手順を使用する必要があります。Studio Classic は、ファイルシステムのアクセス許可とコンテナを使用して、Studio Classic ノートブックへのアクセスとユーザーの分離を制御します。SageMaker ノートブックインスタンスは、ノートブックインスタンスにログインするユーザーにデフォルトのルートアクセスを付与します。次のトピックでは、両方のタイプのノートブックのアクセス許可を変更する方法について説明します。

**Topics**
+ [SageMaker Studio ノートブックのアクセスコントロールとアクセス許可の設定](security-access-control-studio-nb.md)
+ [SageMaker ノートブックインスタンスへのルートアクセスを制御する](nbi-root-access.md)

# SageMaker Studio ノートブックのアクセスコントロールとアクセス許可の設定
<a name="security-access-control-studio-nb"></a>

Amazon SageMaker Studio では、Studio ユーザーとノートブックのアクセスコントロールと分離に、ファイルシステムおよびコンテナのアクセス許可が使用されます。これは、Studio ノートブックと SageMaker ノートブックインスタンスの大きな違いの 1 つです。このトピックでは、セキュリティの脅威を回避するためのアクセス許可の設定方法、SageMaker AI のデフォルトの動作、アクセス許可のカスタマイズ方法を説明します。Studio ノートブックとそのランタイム環境の詳細については、「[Amazon SageMaker Studio Classic ノートブックを使用する](notebooks.md)」を参照してください。

**SageMaker AI アプリケーションのアクセス許可**

run-as ユーザーは、コンテナ内で JupyterServer アプリケーションと KernelGateway アプリケーションを実行するために使用される POSIX ユーザー/グループです。**

JupyterServer アプリケーションの run-as ユーザーは、デフォルトで sagemaker-user (1000) です。このユーザーは、yum パッケージなどの依存関係のインストールを可能にする sudo アクセス許可を持ちます。

KernelGateway アプリケーションの run-as ユーザーは、デフォルトでルート (0) です。このユーザーは pip/apt-get/conda を使用して依存関係をインストールできます。

ユーザーの再マッピングにより、ユーザーはリソースにアクセスできず、ホストインスタンスを変更することもできません。

**ユーザーの再マッピング**

SageMaker AI はユーザー再マッピングを実行して、コンテナ内のユーザーをコンテナ外のホストインスタンスのユーザーにマッピングします。コンテナ内のユーザー ID の範囲 (0～65535) は、インスタンスの 65535 を超える非特権ユーザー ID にマッピングされます。例えば、コンテナ内の sagemaker-user (1000) は、インスタンス上のユーザー (200001) にマップされます。ここで、括弧内の数字はユーザー ID です。ユーザーがコンテナ内に新しいユーザー/グループを作成する場合は、ユーザー/グループ ID に関係なく、ホストインスタンスに対する特権は付与されません。コンテナのルートユーザーも、インスタンスの非特権ユーザーにマッピングされます。詳細については、「[ユーザーの名前空間を持つコンテナを分離する](https://docs.docker.com/engine/security/userns-remap/)」を参照してください。

**注記**  
sagemaker-user というユーザーによって作成されたファイルは、そのファイルが sagemaker-studio (uid 65534) によって所有されているように見える場合があります。これは、SageMaker AI コンテナイメージが事前にプルされる高速アプリケーション作成モードの副次的影響であり、これによりアプリケーションを 1 分以内に起動できます。アプリケーションでファイル所有者 UID とプロセス所有者 UID を一致させる必要がある場合は、カスタマーサービスにイメージの事前プル機能からアカウント番号を削除するよう依頼してください。

**カスタムイメージのアクセス許可**

顧客は独自のカスタム SageMaker イメージを取り込むことができます。これらのイメージでは、KernelGateway アプリケーションを起動するための別の run-as ユーザー/グループを指定できます。顧客は、ルートアクセスを無効にしたり、その他のアクションを実行したりするなど、イメージ内にきめ細かいアクセス許可コントロールを実装できます。この場合も、同じユーザーの再マッピングが適用されます。詳細については、「[Amazon SageMaker Studio Classic でのカスタムイメージ](studio-byoi.md)」を参照してください。

**コンテナの分離**

Docker には、コンテナが使用できるデフォルト機能のリストが保持されます。SageMaker AI によって機能が追加されることはありません。SageMaker AI は、コンテナから Amazon EFS および[インスタンスメタデータサービス](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service) (IMDS)へのリクエストをブロックする特定のルートルールを追加します。顧客がコンテナからこれらのルートルールを変更することはできません。詳細については、Docker Docs ウェブサイトの「[ランタイム特権と Linux 機能](https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities)」を参照してください。

**アプリケーションのメタデータへのアクセス**

実行中のアプリケーションで使用されるメタデータは、読み取り専用アクセス許可でコンテナにマウントされます。顧客がコンテナからこのメタデータを変更することはできません。使用可能なメタデータについては、「[Amazon SageMaker Studio Classic ノートブックとアプリケーションメタデータを取得する](notebooks-run-and-manage-metadata.md)」を参照してください。

**EFS でのユーザーの分離**

Studio にオンボードすると、SageMaker AI によって、ドメイン内のすべての Studio ユーザーが共有するドメインに Amazon Elastic File System (EFS) ボリュームが作成されます。各ユーザーは、EFS ボリューム上に自分用のプライベートホームディレクトリを取得します。このホームディレクトリは、ユーザーのノートブック、Git リポジトリ、その他のデータを保存するために使用されます。ドメイン内の他のユーザーがユーザーのデータにアクセスできないようにするために、SageMaker AI ではユーザーのプロファイルにグローバルに固有のユーザー ID が作成され、ユーザーのホームディレクトリの POSIX ユーザー/グループ ID として適用されます。

**EBS へのアクセス**

ホストインスタンスには Amazon Elastic Block Store (Amazon EBS) ボリュームがアタッチされ、すべてのイメージで共有されます。このボリュームはノートブックのルートボリュームに使用され、コンテナ内で生成された一時データが格納されます。ノートブックを実行するインスタンスが削除されると、ストレージは保持されません。コンテナのルートユーザーは EBS ボリュームにアクセスできません。

**IMDS へのアクセス**

セキュリティ上の問題により、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスメタデータサービス (IMDS) へのアクセスは、SageMaker Studio では使用できません。IMDS の詳細については、「[インスタンスメタデータとユーザーデータ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)」を参照してください。

# SageMaker ノートブックインスタンスへのルートアクセスを制御する
<a name="nbi-root-access"></a>

デフォルトでは、ノートブックインスタンスを作成すると、そのノートブックインスタンスにログインするユーザーにルートアクセス権が付与されます。データサイエンスは、データサイエンティストがさまざまなソフトウェアツールやパッケージをテストして使用する必要がある反復プロセスであるため、これらのツールやパッケージをインストールするには、多くのノートブックインスタンスユーザーにルートアクセス権限が必要です。ルートアクセス権を持つユーザーには管理者権限が付与されているため、ユーザーはルートアクセス権限を有効にして、ノートブックインスタンス上のすべてのファイルにアクセスして編集できます。

ノートブックインスタンスへのルートアクセス権をユーザーに付与しないようにするには、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html) または [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html) オペレーションを呼び出す際に、`RootAccess` フィールドを `Disabled` に設定します。ノートブックインスタンスを Amazon SageMaker AI コンソールで作成または更新する際、ユーザーのルートアクセス権を無効にすることもできます。詳細については、「[チュートリアル用 Amazon SageMaker ノートブックインスタンスを作成する](gs-setup-working-env.md)」を参照してください。

**注記**  
ノートブックインスタンスを設定できるようにするには、ライフサイクル構成にルートアクセス権限が必要です。そのため、ユーザーがルートアクセスを無効にしても、ノートブックインスタンスに関連付けられたライフサイクル構成は常にルートアクセスで実行されます。

**注記**  
セキュリティ上の理由から、Rootless Docker は、通常の Docker ではなく、ルートが無効になっているノートブックインスタンスにインストールされます。詳細については、「[Docker デーモンを root 以外のユーザーとして実行する (ルートレスモード)](https://docs.docker.com/engine/security/rootless/)」を参照してください。

## セキュリティに関する考慮事項
<a name="nbi-root-access-security-considerations"></a>

ライフサイクル設定スクリプトはルートアクセスで実行され、ノートブックインスタンスの IAM 実行ロールの完全な権限を継承します。ライフサイクル設定を作成または変更し、ノートブックインスタンスを管理する権限を持つユーザー (管理者を含む) は、実行ロールの認証情報を使用してコードを実行できます。したがって、以下のベストプラクティスに従ってください。

ベストプラクティス:
+ 管理アクセスの制限: セキュリティへの影響を理解している信頼できる管理者にのみライフサイクル設定のアクセス許可を付与します。
+ 最小特権の原則を適用する: 正当なワークロードに必要な最小限のアクセス許可のみを持つノートブックインスタンスの実行ロールを定義します。
+ モニタリングを有効にする: CloudWatch Logs でロググループのライフサイクル設定の実行を定期的に確認`/aws/sagemaker/NotebookInstances`して、予期しないアクティビティを検出します。
+ 変更管理の実装: 本番環境でのライフサイクル設定変更の承認プロセスを確立します。

# Amazon SageMaker AI API アクセス許可: アクション、アクセス許可、リソースの参照
<a name="api-permissions-reference"></a>

アクセス制御をセットアップし、IAM ID (ID ベースのポリシー) にアタッチできるアクセス許可ポリシーを作成する場合は、次の表をリファレンスとして使用します。この表は、各 Amazon SageMaker AI API オペレーション、アクションを実行するためのアクセス許可を付与できる対応するアクション、およびアクセス許可を付与できる AWS リソースを示しています。ポリシーの `Action` フィールドでアクションを指定し、ポリシーの `Resource` フィールドでリソースの値を指定します。

**注記**  
`ListTags` API を除いて、リソースレベルの制限は `List-` 呼び出しでは利用できません。`List-`API を呼び出すすべてのユーザーに、アカウント内のその種類のすべてのリソースが表示されます。

Amazon SageMaker AI ポリシーの条件を表すには、 AWS全体の条件キーを使用できます。 AWS全体のキーの完全なリストについては、*「サービス認可リファレンス*」の[「使用可能なキー](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_elements.html#AvailableKeys)」を参照してください。

**警告**  
一部の SageMaker API アクションには、引き続き `[Search API](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Search.html)` からアクセスできる場合があります。例えば、特定の SageMaker AI リソースの`Describe` コールに対するアクセス許可を拒否する IAM ポリシーをユーザーが持っている場合でも、そのユーザーは検索 API を使用して説明情報にアクセスできます。`Describe` コールへのユーザーアクセスを完全に制限するには、検索 API へのアクセスも制限する必要があります。検索 API を介してアクセスできる SageMaker AI リソースのリストについては、「[SageMaker AI Search AWS CLI コマンドリファレンス](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/search.html#options)」を参照してください。

スクロールバーを使用して、テーブルの残りの部分を確認します。

Amazon SageMaker AI API オペレーションおよびアクションで必要なアクセス許可


****  

| Amazon SageMaker AI API オペレーション | 必要な許可 (API アクション) | リソース | 
| --- | --- | --- | 
|  `[ DeleteEarthObservationJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_DeleteEarthObservationJob.html)`  |  `sagemaker-geospatial:DeleteEarthObservationJob`  |  `arn:aws:sagemaker-geospatial:region:account-id:earth-observation-job/id`  | 
|  `[ DeleteVectorEnrichmentJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_DeleteVectorEnrichmentJob.html)`  |  `sagemaker-geospatial:DeleteVectorEnrichmentJob`  |  `arn:aws:sagemaker-geospatial:region:account-id:vector-enrichment-job/id`  | 
|  `[ ExportEarthObservationJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ExportEarthObservationJob.html)`  |  `sagemaker-geospatial:ExportEarthObservationJob`  |  `arn:aws:sagemaker-geospatial:region:account-id:earth-observation-job/id`  | 
|  `[ ExportVectorEnrichmentJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ExportVectorEnrichmentJob.html)`  |  `sagemaker-geospatial:ExportVectorEnrichmentJob`  |  `arn:aws:sagemaker-geospatial:region:account-id:vector-enrichment-job/id`  | 
|  `[ GetEarthObservationJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_GetEarthObservationJob.html)`  |  `sagemaker-geospatial:GetEarthObservationJob`  |  `arn:aws:sagemaker-geospatial:region:account-id:earth-observation-job/id`  | 
|  `[ GetRasterDataCollection](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_DeleteEarthObservationJob.html)`  |  `sagemaker-geospatial:GetRasterDataCollection`  |  `arn:aws:sagemaker-geospatial:region:account-id:raster-data-collection/public/id`  | 
|  `[ GetTile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_GetTile.html)`  |  `sagemaker-geospatial:GetTile`  |  `arn:aws:sagemaker-geospatial:region:account-id:earth-observation-job/id`  | 
|  `[ GetVectorEnrichmentJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_GetVectorEnrichmentJob.html)`  |  `sagemaker-geospatial:GetVectorEnrichmentJob`  |  `arn:aws:sagemaker-geospatial:region:account-id:vector-enrichment-job/id`  | 
|  `[ ListEarthObservationJobs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ListEarthObservationJobs.html)`  |  `sagemaker-geospatial:ListEarthObservationJobs`  |  `*`  | 
|  `[ ListRasterDataCollections](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ListRasterDataCollections.html)`  |  `sagemaker-geospatial:ListRasterDataCollections`  |  `*`  | 
|  `[ ListTagsForResource](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ListTagsForResource.html)`  |  `sagemaker-geospatial:ListTagsForResource`  |  `arn:aws:sagemaker-geospatial:region:account-id:earth-observation-job/id` `arn:aws:sagemaker-geospatial:region:account-id:vector-enrichment-job/id`  | 
|  `[ ListVectorEnrichmentJobs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ListVectorEnrichmentJobs.html)`  |  `sagemaker-geospatial:ListVectorEnrichmentJobs`  |  `*`  | 
|  `[ SearchRasterDataCollection](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_SearchRasterDataCollection.html)`  |  `sagemaker-geospatial:SearchRasterDataCollection`  |  `arn:aws:sagemaker-geospatial:region:account-id:raster-data-collection/public/id`  | 
|  `[ StartEarthObservationJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_StartEarthObservationJob.html)`  |  `sagemaker-geospatial:StartEarthObservationJob`  |  `arn:aws:sagemaker-geospatial:region:account-id:earth-observation-job/id`  | 
|  `[ StartVectorEnrichmentJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_StartVectorEnrichmentJob.html)`  |  `sagemaker-geospatial:StartVectorEnrichmentJob`  |  `arn:aws:sagemaker-geospatial:region:account-id:vector-enrichment-job/id`  | 
|  `[ StopEarthObservationJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_StopEarthObservationJob.html)`  |  `sagemaker-geospatial:StopEarthObservationJob`  |  `arn:aws:sagemaker-geospatial:region:account-id:earth-observation-job/id`  | 
|  `[ StopVectorEnrichmentJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_StopVectorEnrichmentJob.html)`  |  `sagemaker-geospatial:StopVectorEnrichmentJob`  |  `arn:aws:sagemaker-geospatial:region:account-id:vector-enrichment-job/id`  | 
|  `[ TagResource](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_TagResource.html)`  |  `sagemaker-geospatial:TagResource`  |  `arn:aws:sagemaker-geospatial:region:account-id:earth-observation-job/id` `arn:aws:sagemaker-geospatial:region:account-id:vector-enrichment-job/id`  | 
|  `[ UntagResource](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_UntagResource.html)`  |  `sagemaker-geospatial:UntagResource`  |  `arn:aws:sagemaker-geospatial:region:account-id:earth-observation-job/id` `arn:aws:sagemaker-geospatial:region:account-id:vector-enrichment-job/id`  | 
|  `[ AddTags](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html)`  |  `sagemaker:AddTags`  |  `arn:aws:sagemaker:region:account-id:*`  | 
|  `[ CreateApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateApp.html)`  |  `sagemaker:CreateApp`  |  `arn:aws:sagemaker:region:account-id:app/domain-id/user-profile-name/app-type/appName`  | 
|  `[ CreateAppImageConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAppImageConfig.html)`  |  `sagemaker:CreateAppImageConfig`  |  `arn:aws:sagemaker:region:account-id:app-image-config/appImageConfigName`  | 
|  `[ CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)`  |  `sagemaker:CreateAutoMLJob` `iam:PassRole` 以下のアクセス許可は、関連付けられた `ResourceConfig` のいずれかに指定された `VolumeKmsKeyId ` があり、関連付けられたロールにこのアクションを許可するポリシーがない場合にのみ必要です。 `kms:CreateGrant`   | arn:aws:sagemaker:region:account-id:automl-job/autoMLJobName | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)  |  `sagemaker:CreateAutoMLJobV2` `iam:PassRole` 以下のアクセス許可は、関連付けられた `ResourceConfig` のいずれかに指定された `VolumeKmsKeyId ` があり、関連付けられたロールにこのアクションを許可するポリシーがない場合にのみ必要です。 `kms:CreateGrant`   | arn:aws:sagemaker:region:account-id:automl-job/autoMLJobName | 
|  `[ CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html)`  |  `sagemaker:CreateDomain` `iam:CreateServiceLinkedRole` `iam:PassRole` `KmsKeyId` に KMS カスタマーマネージドキーが指定されている場合に必要です。 `elasticfilesystem:CreateFileSystem` `kms:CreateGrant` `kms:Decrypt` `kms:DescribeKey` `kms:GenerateDataKeyWithoutPlainText` RStudio をサポートするドメインの作成に必要です。 `sagemaker:CreateApp`  |  `arn:aws:sagemaker:region:account-id:domain/domain-id`  | 
|  `[ CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html)`  |  `sagemaker:CreateEndpoint` `kms:CreateGrant`(関連付けられている `EndPointConfig` に `KmsKeyId` が指定されている場合にのみ必須)  |  `arn:aws:sagemaker:region:account-id:endpoint/endpointName` `arn:aws:sagemaker:region:account-id:endpoint-config/endpointConfigName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)  |  `sagemaker:CreateEndpointConfig`  |  `arn:aws:sagemaker:region:account-id:endpoint-config/endpointConfigName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html)  |  `sagemaker:CreateFlowDefinition` `iam:PassRole`  |  `arn:aws:sagemaker:region:account-id:flow-definition/flowDefinitionName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html)  |  `sagemaker:CreateHumanTaskUi`  |  `arn:aws:sagemaker:region:account-id:human-task-ui/humanTaskUiName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateInferenceRecommendationsJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateInferenceRecommendationsJob.html)  |  `sagemaker:CreateInferenceRecommendationsJob` `iam:PassRole` 次のアクセス許可は、暗号化キーを指定する場合にのみ必要です。 `kms:CreateGrant` `kms:Decrypt` `kms:DescribeKey` `kms:GenerateDataKey`  |  `arn:aws:sagemaker:region:account-id:inference-recommendations-job/inferenceRecommendationsJobName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html)  |  `sagemaker:CreateHyperParameterTuningJob` `iam:PassRole` 以下のアクセス許可は、関連付けられた `ResourceConfig` のいずれかに指定された `VolumeKmsKeyId ` があり、関連付けられたロールにこのアクションを許可するポリシーがない場合にのみ必要です。 `kms:CreateGrant`  |  `arn:aws:sagemaker:region:account-id:hyper-parameter-tuning-job/hyperParameterTuningJobName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateImage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateImage.html)  |  `sagemaker:CreateImage` `iam:PassRole`  |  `arn:aws:sagemaker:region:account-id:image/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateImageVersion.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateImageVersion.html)  |  `sagemaker:CreateImageVersion`  |  `arn:aws:sagemaker:region:account-id:image-version/imageName/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)  |  sagemaker:CreateLabelingJob iam:PassRole  |  `arn:aws:sagemaker:region:account-id:labeling-job/labelingJobName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)  |  `sagemaker:CreateModel` `iam:PassRole`  |  `arn:aws:sagemaker:region:account-id:model/modelName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackage.html)  |  `sagemaker:CreateModelPackage`  |  `arn:aws:sagemaker:region:account-id:model-package/modelPackageName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackageGroup.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackageGroup.html)  |  `sagemaker:CreateModelPackageGroup`  |  `arn:aws:sagemaker:region:account-id:model-package-group/modelPackageGroupName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html)  |  `sagemaker:CreateNotebookInstance` `iam:PassRole` 次のアクセス許可は、ノートブックインスタンスに VPC を指定する場合にのみ必要です。 `ec2:CreateNetworkInterface` `ec2:DescribeSecurityGroups` `ec2:DescribeSubnets` `ec2:DescribeVpcs` 次のアクセス許可は、暗号化キーを指定する場合にのみ必要です。 `kms:DescribeKey` `kms:CreateGrant` 次のアクセス許可は、プライベートの Git リポジトリにアクセスするために AWS Secrets Manager のシークレットを指定する場合にのみ必要です。 `secretsmanager:GetSecretValue`  |  `arn:aws:sagemaker:region:account-id:notebook-instance/notebookInstanceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePipeline.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePipeline.html)  |  `sagemaker:CreatePipeline` `iam:PassRole`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name` `arn:aws-partition:iam::account-id:role/role-name`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedDomainUrl.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedDomainUrl.html)  |  `sagemaker:CreatePresignedDomainUrl`  |  `arn:aws:sagemaker:region:account-id:app/domain-id/userProfileName`/\$1  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html)  |  `sagemaker:CreatePresignedNotebookInstanceUrl`  |  `arn:aws:sagemaker:region:account-id:notebook-instance/notebookInstanceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html)  |  `sagemaker:CreateProcessingJob` `iam:PassRole` `kms:CreateGrant` (関連付けられた `ProcessingResources` に指定された `VolumeKmsKeyId` があり、関連付けられたロールにこのアクションを許可するポリシーがない場合にのみ必要) `ec2:CreateNetworkInterface` (VPC を指定する場合にのみ必須)  |  `arn:aws:sagemaker:region:account-id:processing-job/processingJobName`  | 
|  `[ CreateSpace](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateSpace.html)`  |  `sagemaker:CreateSpace`  |  `arn:aws:sagemaker:region:account-id:space/domain-id/spaceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateStudioLifecycleConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateStudioLifecycleConfig.html)  |  `sagemaker:CreateStudioLifecycleConfig`  |  `arn:aws:sagemaker:region:account-id:studio-lifecycle-config/.*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)  |  `sagemaker:CreateTrainingJob` `iam:PassRole` `kms:CreateGrant` (関連付けられた `ResourceConfig` に指定された `VolumeKmsKeyId` があり、関連付けられたロールにこのアクションを許可するポリシーがない場合にのみ必要)  |  `arn:aws:sagemaker:region:account-id:training-job/trainingJobName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html)  |  `sagemaker:CreateTrainingPlan` `sagemaker:CreateReservedCapacity` `sagemaker:AddTags`  |  `arn:aws:sagemaker:region:account-id:training-plan/*"` `arn:aws:sagemaker:region:account-id:reserved-capacity/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html)  |  `sagemaker:CreateTransformJob` `kms:CreateGrant` (関連付けられた `TransformResources` に指定された `VolumeKmsKeyId` があり、関連付けられたロールにこのアクションを許可するポリシーがない場合にのみ必要)  |  `arn:aws:sagemaker:region:account-id:transform-job/transformJobName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html)  |  `sagemaker:CreateUserProfile` `iam:PassRole`  |  `arn:aws:sagemaker:region:account-id:user-profile/domain-id/userProfileName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html)  |  `sagemaker:CreateWorkforce` `cognito-idp:DescribeUserPoolClient` `cognito-idp:UpdateUserPool` `cognito-idp:DescribeUserPool` `cognito-idp:UpdateUserPoolClient`  | arn:aws:sagemaker:region:account-id:workforce/\$1 | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkteam.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkteam.html)  |  `sagemaker:CreateWorkteam` `cognito-idp:DescribeUserPoolClient` `cognito-idp:UpdateUserPool` `cognito-idp:DescribeUserPool` `cognito-idp:UpdateUserPoolClient`  |  `arn:aws:sagemaker:region:account-id:workteam/private-crowd/work team name`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteApp.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteApp.html)  |  `sagemaker:DeleteApp`  |  `arn:aws:sagemaker:region:account-id:app/domain-id/user-profile-name/app-type/appName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteAppImageConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteAppImageConfig.html)  |  `sagemaker:DeleteAppImageConfig`  |  `arn:aws:sagemaker:region:account-id:app-image-config/appImageConfigName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteDomain.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteDomain.html)  |  `sagemaker:DeleteDomain`  |  `arn:aws:sagemaker:region:account-id:domain/domainId`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpoint.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpoint.html)  |  `sagemaker:DeleteEndpoint`  |  `arn:aws:sagemaker:region:account-id:endpoint/endpointName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpointConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpointConfig.html)  |  `sagemaker:DeleteEndpointConfig`  |  `arn:aws:sagemaker:region:account-id:endpoint-config/endpointConfigName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteFlowDefinition.html)  |  `sagemaker:DeleteFlowDefinition`  |  `arn:aws:sagemaker:region:account-id:flow-definition/flowDefinitionName`  | 
|  `[DeleteHumanLoop](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_DeleteHumanLoop.html)`  |  `sagemaker:DeleteHumanLoop`  |  `arn:aws:sagemaker:region:account-id:human-loop/humanLoopName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteImage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteImage.html)  |  `sagemaker:DeleteImage`  |  `arn:aws:sagemaker:region:account-id:image/imageName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteImageVersion.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteImageVersion.html)  |  `sagemaker:DeleteImageVersion`  |  `arn:aws:sagemaker:region:account-id:image-version/imageName/versionNumber`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteModel.html)  |  `sagemaker:DeleteModel`  |  `arn:aws:sagemaker:region:account-id:model/modelName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteModelPackage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteModelPackage.html)  |  `sagemaker:DeleteModelPackage`  |  `arn:aws:sagemaker:region:account-id:model-package/modelPackageName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteModelPackageGroup.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteModelPackageGroup.html)  |  `sagemaker:DeleteModelPackageGroup`  |  `arn:aws:sagemaker:region:account-id:model-package-group/modelPackageGroupName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteModelPackageGroupPolicy.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteModelPackageGroupPolicy.html)  |  `sagemaker:DeleteModelPackageGroupPolicy`  |  `arn:aws:sagemaker:region:account-id:model-package-group/modelPackageGroupName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteNotebookInstance.html)  |  `sagemaker:DeleteNotebookInstance` 次のアクセス許可は、ノートブックインスタンスに VPC を指定した場合にのみ必要です。 `ec2:DeleteNetworkInterface` 次のアクセス許可は、ノートブックインスタンスの作成時に暗号化キーを指定した場合にのみ必要です。 `kms:DescribeKey`  |  `arn:aws:sagemaker:region:account-id:notebook-instance/notebookInstanceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeletePipeline.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeletePipeline.html)  |  `sagemaker:DeletePipeline`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name`  | 
|  `[DeleteSpace](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteSpace.html)`  |  `sagemaker:DeleteSpace`  |  `arn:aws:sagemaker:region:account-id:space/domain-id/spaceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteTags.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteTags.html)  |  `sagemaker:DeleteTags`  |  `arn:aws:sagemaker:region:account-id:*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteUserProfile.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteUserProfile.html)  |  `sagemaker:DeleteUserProfile`  |  `arn:aws:sagemaker:region:account-id:user-profile/domain-id/userProfileName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkforce.html)  |  `sagemaker:DeleteWorkforce`  |  `arn:aws:sagemaker:region:account-id:workforce/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkteam.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkteam.html)  |  `sagemaker:DeleteWorkteam`  |  `arn:aws:sagemaker:region:account-id:workteam/private-crowd/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeApp.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeApp.html)  |  `sagemaker:DescribeApp`  |  `arn:aws:sagemaker:region:account-id:app/domain-id/user-profile-name/app-type/appName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAppImageConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAppImageConfig.html)  |  `sagemaker:DescribeAppImageConfig`  |  `arn:aws:sagemaker:region:account-id:app-image-config/appImageConfigName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)  |  `sagemaker:DescribeAutoMLJob`  | arn:aws:sagemaker:region:account-id:automl-job/autoMLJobName | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)  |  `sagemaker:DescribeAutoMLJobV2`  | arn:aws:sagemaker:region:account-id:automl-job/autoMLJobName | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeDomain.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeDomain.html)  |  `sagemaker:DescribeDomain`  |  `arn:aws:sagemaker:region:account-id:domain/domainId`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)  |  `sagemaker:DescribeEndpoint`  |  `arn:aws:sagemaker:region:account-id:endpoint/endpointName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpointConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpointConfig.html)  |  `sagemaker:DescribeEndpointConfig`  |  `arn:aws:sagemaker:region:account-id:endpoint-config/endpointConfigName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFlowDefinition.html)  |  `sagemaker:DescribeFlowDefinition`  |  `arn:aws:sagemaker:region:account-id:flow-definition/flowDefinitionName`  | 
|  `[DescribeHumanLoop](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_DescribeHumanLoop.html)`  |  `sagemaker:DescribeHumanLoop`  |  `arn:aws:sagemaker:region:account-id:human-loop/humanLoopName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeHumanTaskUi.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeHumanTaskUi.html)  |  `sagemaker:DescribeHumanTaskUi`  |  `arn:aws:sagemaker:region:account-id:human-task-ui/humanTaskUiName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeHyperParameterTuningJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeHyperParameterTuningJob.html)  |  `sagemaker:DescribeHyperParameterTuningJob`  |  `arn:aws:sagemaker:region:account-id:hyper-parameter-tuning-job/hyperParameterTuningJob`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeImage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeImage.html)  |  `sagemaker:DescribeImage`  |  `arn:aws:sagemaker:region:account-id:image/imageName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeImageVersion.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeImageVersion.html)  |  `sagemaker:DescribeImageVersion`  |  `arn:aws:sagemaker:region:account-id:image-version/imageName/versionNumber`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeLabelingJob.html)  |  `sagemaker:DescribeLabelingJob`  |  `arn:aws:sagemaker:region:account-id:labeling-job/labelingJobName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModel.html)  |  `sagemaker:DescribeModel`  |  `arn:aws:sagemaker:region:account-id:model/modelName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackage.html)  |  `sagemaker:DescribeModelPackage`  |  `arn:aws:sagemaker:region:account-id:model-package/modelPackageName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackageGroup.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackageGroup.html)  |  `sagemaker:DescribeModelPackageGroup`  |  `arn:aws:sagemaker:region:account-id:model-package-group/modelPackageGroupName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeNotebookInstance.html)  |  `sagemaker:DescribeNotebookInstance `  |  `arn:aws:sagemaker:region:account-id:notebook-instance/notebookInstanceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribePipeline.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribePipeline.html)  |  `sagemaker:DescribePipeline`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribePipelineDefinitionForExecution.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribePipelineDefinitionForExecution.html)  |  `sagemaker:DescribePipelineDefinitionForExecution`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name/execution/execution-id`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribePipelineExecution.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribePipelineExecution.html)  |  `sagemaker:DescribePipelineExecution`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name/execution/execution-id`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeProcessingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeProcessingJob.html)  |  `sagemaker:DescribeProcessingJob`  |  `arn:aws:sagemaker:region:account-id:processing-job/processingjobname`  | 
|  `[DescribeSpace](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeSpace.html)`  |  `sagemaker:DescribeSpace`  |  `arn:aws:sagemaker:region:account-id:space/domain-id/spaceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeSubscribedWorkteam.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeSubscribedWorkteam.html)  |  `sagemaker:DescribeSubscribedWorkteam` `aws-marketplace:ViewSubscriptions`  |  `arn:aws:sagemaker:region:account-id:workteam/vendor-crowd/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingJob.html)  |  `sagemaker:DescribeTrainingJob`  |  `arn:aws:sagemaker:region:account-id:training-job/trainingjobname`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTransformJob.html)  |  `sagemaker:DescribeTransformJob`  |  `arn:aws:sagemaker:region:account-id:transform-job/transformjobname`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeUserProfile.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeUserProfile.html)  |  `sagemaker:DescribeUserProfile`  |  `arn:aws:sagemaker:region:account-id:user-profile/domain-id/userProfileName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkforce.html)  |  `sagemaker:DescribeWorkforce`  |  `arn:aws:sagemaker:region:account-id:workforce/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkteam.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkteam.html)  |  `sagemaker:DescribeWorkteam`  |  `arn:aws:sagemaker:region:account-id:workteam/private-crowd/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_GetModelPackageGroupPolicy.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_GetModelPackageGroupPolicy.html)  |  `sagemaker:GetModelPackageGroupPolicy`  |  `arn:aws:sagemaker:region:account-id:model-package-group/modelPackageGroupName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html)  |  `sagemaker:InvokeEndpoint`  |  `arn:aws:sagemaker:region:account-id:endpoint/endpointName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListAppImageConfigs.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListAppImageConfigs.html)  |  `sagemaker:ListAppImageConfigs`  |  `arn:aws:sagemaker:region:account-id:app-image-config/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListApps.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListApps.html)  |  `sagemaker:ListApps`  |  `arn:aws:sagemaker:region:account-id:app/domain-id/user-profile-name/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListDomains.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListDomains.html)  |  `sagemaker:ListDomains`  |  `arn:aws:sagemaker:region:account-id:domain/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListEndpointConfigs.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListEndpointConfigs.html)  |  `sagemaker:ListEndpointConfigs`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListEndpoints.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListEndpoints.html)  |  `sagemaker:ListEndpoints`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListFlowDefinitions.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListFlowDefinitions.html)  |  `sagemaker:ListFlowDefinitions`  |  `*`  | 
|  `[ListHumanLoops](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_ListHumanLoops.html)`  |  `sagemaker:ListHumanLoops`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListHumanTaskUis.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListHumanTaskUis.html)  |  `sagemaker:ListHumanTaskUis`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListHyperParameterTuningJobs.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListHyperParameterTuningJobs.html)  |  `sagemaker:ListHyperParameterTuningJobs`  |  `arn:aws:sagemaker:region:account-id:hyper-parameter-tuning-job/hyperParameterTuningJob`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListImages.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListImages.html)  |  `sagemaker:ListImages`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListImageVersions.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListImageVersions.html)  |  `sagemaker:ListImageVersions`  |  `arn:aws:sagemaker:region:account-id:image/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListLabelingJobs.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListLabelingJobs.html)  |  `sagemaker:ListLabelingJobs`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListLabelingJobsForWorkteam.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListLabelingJobsForWorkteam.html)  |  `sagemaker:ListLabelingJobForWorkteam`  |  `*`  | 
|  `[ ListModelPackageGroups](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListModelPackageGroups.html)`  |  `sagemaker:ListModelPackageGroups`  |  `arn:aws:sagemaker:region:account-id :model-package-group/ModelPackageGroupName`  | 
|  `[ ListModelPackages](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListModelPackages.html)`  |  `sagemaker:ListModelPackages`  |  `arn:aws:sagemaker:region:account-id :model-package/ModelPackageName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListModels.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListModels.html)  |  `sagemaker:ListModels`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListNotebookInstances.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListNotebookInstances.html)  |  `sagemaker:ListNotebookInstances`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListPipelineExecutions.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListPipelineExecutions.html)  |  `sagemaker:ListPipelineExecutions`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListPipelineExecutionSteps.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListPipelineExecutionSteps.html)  |  `sagemaker:ListPipelineExecutionSteps`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name/execution/execution-id`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListPipelineParametersForExecution.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListPipelineParametersForExecution.html)  |  `sagemaker:ListPipelineParametersForExecution`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name/execution/execution-id`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListPipelines.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListPipelines.html)  |  `sagemaker:ListPipelines`  | \$1 | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListProcessingJobs.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListProcessingJobs.html)  |  `sagemaker:ListProcessingJobs`  |  `*`  | 
|  `[ListSpaces](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListSpaces.html)`  |  `sagemaker:ListSpaces`  |  `arn:aws:sagemaker:region:account-id:space/domain-id/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListSubscribedWorkteams.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListSubscribedWorkteams.html)  |  `sagemaker:ListSubscribedWorkteams` `aws-marketplace:ViewSubscriptions`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTags.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTags.html)  |  `sagemaker:ListTags`  |  `arn:aws:sagemaker:region:account-id:*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTrainingJobs.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTrainingJobs.html)  |  `sagemaker:ListTrainingJobs`  |  `*`  | 
|  `[ ListTrainingJobsForHyperParameterTuningJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTrainingJobsForHyperParameterTuningJob.html)`  |  `sagemaker:ListTrainingJobsForHyperParameterTuningJob`  |  `arn:aws:sagemaker:region:account-id:hyper-parameter-tuning-job/hyperParameterTuningJob`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTransformJobs.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTransformJobs.html)  |  `sagemaker:ListTransformJobs`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListUserProfiles.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListUserProfiles.html)  |  `sagemaker:ListUserProfiles`  |  `arn:aws:sagemaker:region:account-id:user-profile/domain-id/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListWorkforces.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListWorkforces.html)  |  `sagemaker:ListWorkforces`  | \$1 | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListWorkteams.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListWorkteams.html)  |  `sagemaker:ListWorkteams`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_PutModelPackageGroupPolicy.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_PutModelPackageGroupPolicy.html)  |  `sagemaker:PutModelPackageGroupPolicy`  |  `arn:aws:sagemaker:region:account-id:model-package-group/modelPackageGroupName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RetryPipelineExecution.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RetryPipelineExecution.html)  |  `sagemaker:RetryPipelineExecution`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name/execution/execution-id`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Search.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Search.html)  |  `sagemaker:Search`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SendPipelineExecutionStepFailure.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SendPipelineExecutionStepFailure.html)  |  `sagemaker:SendPipelineExecutionStepFailure`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SendPipelineExecutionStepSuccess.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SendPipelineExecutionStepSuccess.html)  |  `sagemaker:SendPipelineExecutionStepSuccess`  |  `*`  | 
|  `[StartHumanLoop](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_StartHumanLoop.html)`  |  `sagemaker:StartHumanLoop`  |  `arn:aws:sagemaker:region:account-id:human-loop/humanLoopName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartNotebookInstance.html)  |  `sagemaker:StartNotebookInstance` 次のアクセス許可は、ノートブックインスタンスの作成時に VPC を指定した場合にのみ必要です。 `ec2:CreateNetworkInterface` `ec2:DescribeNetworkInterfaces` `ec2:DescribeSecurityGroups` `ec2:DescribeSubnets` `ec2:DescribeVpcs` 次のアクセス許可は、ノートブックインスタンスの作成時に暗号化キーを指定した場合にのみ必要です。 `kms:DescribeKey` `kms:CreateGrant` 次のアクセス許可は、ノートブックインスタンスの作成時にプライベートの Git リポジトリにアクセスするために AWS Secrets Manager シークレットを指定した場合にのみ必要です。 `secretsmanager:GetSecretValue`  |  `arn:aws:sagemaker:region:account-id:notebook-instance/notebookInstanceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartPipelineExecution.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartPipelineExecution.html)  |  `sagemaker:StartPipelineExecution`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name`  | 
|  `[StopHumanLoop](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_StopHumanLoop.html)`  |  `sagemaker:StopHumanLoop`  |  `arn:aws:sagemaker:region:account-id:human-loop/humanLoopName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopHyperParameterTuningJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopHyperParameterTuningJob.html)  |  `sagemaker:StopHyperParameterTuningJob`  |  `arn:aws:sagemaker:region:account-id:hyper-parameter-tuning-job/hyperParameterTuningJob`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopLabelingJob.html)  |  `sagemaker:StopLabelingJob`  |  `arn:aws:sagemaker:region:account-id:labeling-job/labelingJobName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopNotebookInstance.html)  |  `sagemaker:StopNotebookInstance`  |  `arn:aws:sagemaker:region:account-id:notebook-instance/notebookInstanceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopPipelineExecution.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopPipelineExecution.html)  |  `sagemaker:StopPipelineExecution`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name/execution/execution-id`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopProcessingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopProcessingJob.html)  |  `sagemaker:StopProcessingJob`  |  `arn:aws:sagemaker:region:account-id:processing-job/processingJobName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopTrainingJob.html)  |  `sagemaker:StopTrainingJob`  |  `arn:aws:sagemaker:region:account-id:training-job/trainingJobName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopTransformJob.html)  |  `sagemaker:StopTransformJob`  |  `arn:aws:sagemaker:region:account-id:transform-job/transformJobName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateAppImageConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateAppImageConfig.html)  |  `sagemaker:UpdateAppImageConfig`  |  `arn:aws:sagemaker:region:account-id:app-image-config/appImageConfigName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html)  |  `sagemaker:UpdateDomain`  |  `arn:aws:sagemaker:region:account-id:domain/domainId`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)  |  `sagemaker:UpdateEndpoint`  |  `arn:aws:sagemaker:region:account-id:endpoint/endpointName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html)  |  `sagemaker:UpdateEndpointWeightsAndCapacities`  |  `arn:aws:sagemaker:region:account-id:endpoint/endpointName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateImage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateImage.html)  |  `sagemaker:UpdateImage` `iam:PassRole`  |  `arn:aws:sagemaker:region:account-id:image/imageName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateModelPackage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateModelPackage.html)  |  `sagemaker:UpdateModelPackage`  |  `arn:aws:sagemaker:region:account-id:model-package/modelPackageName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html)  |  `sagemaker:UpdateNotebookInstance` `iam:PassRole`  |  `arn:aws:sagemaker:region:account-id:notebook-instance/notebookInstanceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdatePipeline.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdatePipeline.html)  |  `sagemaker:UpdatePipeline` `iam:PassRole`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name` `arn:aws-partition:iam::account-id:role/role-name`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdatePipelineExecution.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdatePipelineExecution.html)  |  `sagemaker:UpdatePipelineExecution`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name/execution/execution-id`  | 
|  `[UpdateSpace](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateSpace.html)`  |  `sagemaker:UpdateSpace`  |  `arn:aws:sagemaker:region:account-id:space/domain-id/spaceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateUserProfile.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateUserProfile.html)  |  `sagemaker:UpdateUserProfile`  |  `arn:aws:sagemaker:region:account-id:user-profile/domain-id/userProfileName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkforce.html)  |  `sagemaker:UpdateWorkforce`  |  `arn:aws:sagemaker:region:account-id:workforce/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkteam.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkteam.html)  |  `sagemaker:UpdateWorkteam`  |  `arn:aws:sagemaker:region:account-id:workteam/private-crowd/*`  | 



# AWS Amazon SageMaker AI の マネージドポリシー
<a name="security-iam-awsmanpol"></a>

ユーザー、グループ、ロールにアクセス許可を追加するには、自分でポリシーを記述するよりも AWS 管理ポリシーを使用する方が簡単です。チームに必要な権限のみを提供する [IAM カスタマーマネージドポリシーを作成する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)には時間と専門知識が必要です。すぐに開始するには、 AWS マネージドポリシーを使用できます。これらのポリシーは一般的なユースケースを対象としており、 AWS アカウントで利用できます。 AWS 管理ポリシーの詳細については、*IAM ユーザーガイド*の「 [AWS 管理ポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)」を参照してください。

AWS サービスは、 AWS 管理ポリシーを維持および更新します。 AWS 管理ポリシーのアクセス許可は変更できません。サービスでは新しい機能を利用できるようにするために、 AWS マネージドポリシーに権限が追加されることがあります。このタイプの更新は、ポリシーがアタッチされているすべてのアイデンティティ (ユーザー、グループ、ロール) に影響します。新しい機能が立ち上げられた場合や、新しいオペレーションが使用可能になった場合に、各サービスが AWS マネージドポリシーを更新する可能性が最も高くなります。サービスは AWS マネージドポリシーからアクセス許可を削除しないため、ポリシーの更新によって既存のアクセス許可が損なわれることはありません。

さらに、 は、複数の サービスにまたがるジョブ関数の 管理ポリシー AWS をサポートしています。たとえば、 `ReadOnlyAccess` AWS マネージドポリシーは、すべての AWS サービスとリソースへの読み取り専用アクセスを提供します。サービスが新機能を起動すると、 は新しいオペレーションとリソースの読み取り専用アクセス許可 AWS を追加します。ジョブ機能のポリシーの一覧および詳細については、「*IAM ユーザーガイド*」の「[AWS のジョブ機能のマネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)」を参照してください。

**重要**  
ユースケースを実行できる、最も制限されたポリシーを使用することをお勧めします。

アカウントのユーザーにアタッチできる以下の AWS 管理ポリシーは、Amazon SageMaker AI に固有のものです。
+ **`AmazonSageMakerFullAccess`** - Amazon SageMaker AI と SageMaker AI 地理空間リソースおよびサポートされている操作にフルアクセスできます。これは Amazon S3 の無制限アクセスを提供していませんが、特定の `sagemaker` のタグ付きのバケット/オブジェクトをサポートしています。このポリシーでは、すべての IAM ロールを Amazon SageMaker AI に渡すことができますが、その中にAmazonSageMaker」を含む IAM ロールのみを AWS Glue、 AWS Step Functions、 AWS RoboMaker サービスに渡すことができます。
+ **`AmazonSageMakerReadOnly`** – Amazon SageMaker AI のリソースに読み取り専用アクセスを付与します。

以下の AWS 管理ポリシーは、アカウントのユーザーにアタッチできますが、お勧めしません。
+ [https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_administrator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_administrator) – アカウントのすべての AWS サービスおよびリソースに対するすべてのアクションを許可します。
+ [https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_data-scientist](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_data-scientist) – データサイエンティストが直面する大多数のユースケース (主に分析やビジネスインテリジェンス) に対応する、幅広いアクセス許可を付与します。

これらのアクセス許可ポリシーについては、IAM コンソールにサインインしてそれらを検索することで確認できます。

独自のカスタム IAM ポリシーを作成し、必要に応じて Amazon SageMaker AI のアクションとリソースのためのアクセスを許可することもできます。これらのカスタムポリシーは、それらを必要とする ユーザーにアタッチできます。

**Topics**
+ [AWS マネージドポリシー: AmazonSageMakerFullAccess](#security-iam-awsmanpol-AmazonSageMakerFullAccess)
+ [AWS マネージドポリシー: AmazonSageMakerReadOnly](#security-iam-awsmanpol-AmazonSageMakerReadOnly)
+ [AWS Amazon SageMaker Canvas の マネージドポリシー](security-iam-awsmanpol-canvas.md)
+ [AWS Amazon SageMaker Feature Store の マネージドポリシー](security-iam-awsmanpol-feature-store.md)
+ [AWS Amazon SageMaker 地理空間の マネージドポリシー](security-iam-awsmanpol-geospatial.md)
+ [AWS Amazon SageMaker Ground Truth の管理ポリシー](security-iam-awsmanpol-ground-truth.md)
+ [AWS Amazon SageMaker HyperPod の マネージドポリシー HyperPod](security-iam-awsmanpol-hyperpod.md)
+ [AWS SageMaker AI モデルガバナンスのマネージドポリシー](security-iam-awsmanpol-governance.md)
+ [AWS モデルレジストリの管理ポリシー](security-iam-awsmanpol-model-registry.md)
+ [AWS SageMaker ノートブックの マネージドポリシー](security-iam-awsmanpol-notebooks.md)
+ [AWS Amazon SageMaker パートナー AI アプリの マネージドポリシー](security-iam-awsmanpol-partner-apps.md)
+ [AWS SageMaker Pipelines の管理ポリシー](security-iam-awsmanpol-pipelines.md)
+ [AWS SageMaker トレーニングプランの マネージドポリシー](security-iam-awsmanpol-training-plan.md)
+ [AWS SageMaker プロジェクトと JumpStart の管理ポリシー](security-iam-awsmanpol-sc.md)
+ [AWS マネージドポリシーに対する SageMaker AI の更新](#security-iam-awsmanpol-updates)

## AWS マネージドポリシー: AmazonSageMakerFullAccess
<a name="security-iam-awsmanpol-AmazonSageMakerFullAccess"></a>

このポリシーにより、すべての Amazon SageMaker AI と SageMaker 地理空間のリソースとオペレーションへのフルアクセスをプリンシパルに許可する管理アクセス許可が付与されます。このポリシーは、関連サービスへの限定アクセスも提供します。このポリシーでは、すべての IAM ロールを Amazon SageMaker AI に渡すことができますが、その中にAmazonSageMaker」を含む IAM ロールのみを AWS Glue、 AWS Step Functions、 AWS RoboMaker サービスに渡すことができます。このポリシーには、Amazon SageMaker AI ドメインを作成するためのアクセス許可が含まれていません。ドメインの作成に必要なポリシーの詳細については、「[Amazon SageMaker AI の前提条件を満たす](gs-set-up.md)」を参照してください。

**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。
+ `application-autoscaling` - SageMaker AI のリアルタイム推論エンドポイントのオートスケーリングをプリンシパルに許可します。
+ `athena` – プリンシパルがデータカタログ、データベース、テーブルメタデータのリストをクエリできるようにします Amazon Athena。
+ `aws-marketplace` – プリンシパルに AWS AI Marketplace サブスクリプションの表示を許可します。 AWS Marketplaceでサブスクライブされている SageMaker AI ソフトウェアにアクセスする場合は、これが必要です。
+ `cloudformation` – プリンシパルが SageMaker AI JumpStart ソリューションとパイプラインを使用するための AWS CloudFormation テンプレートを取得できるようにします。SageMaker AI JumpStart では、SageMaker AI を他の AWS のサービスと結び付けるエンドツーエンドの機械学習ソリューションを実行するために必要なリソースが作成されます。SageMaker AI Pipelines では、Service Catalog にバックアップされた新しいプロジェクトが作成されます。
+ `cloudwatch` - CloudWatch メトリクスの投稿、アラームの操作、アカウントの CloudWatch Logs へのログのアップロードをプリンシパルに許可します。
+ `codebuild` – プリンシパルが SageMaker AI パイプラインとプロジェクトの AWS CodeBuild アーティファクトを保存できるようにします。
+ `codecommit` – SageMaker AI ノートブックインスタンスと AWS CodeCommit の統合に必要です。
+ `cognito-idp` - Amazon SageMaker Ground Truth で、プライベートワークフォースと作業チームを定義するために必要です。
+ `ec2` - SageMaker AI ジョブ、モデル、エンドポイント、ノートブックインスタンスに Amazon VPC を指定する際に、SageMaker AI が Amazon EC2 リソースとネットワークインターフェイスを管理するために必要です。
+ `ecr` - Amazon SageMaker Studio Classic (カスタムイメージ)、トレーニング、処理、バッチ推論、推論エンドポイントの Docker アーティファクトをプルして保存するために必要です。これは、SageMaker AI で独自のコンテナを使用する場合にも必要です。ユーザーに代わってカスタムイメージを作成および削除するには、SageMaker AI JumpStart ソリューションの追加のアクセス許可が必要です。
+ `elasticfilesystem` - Amazon Elastic File System へのアクセスをプリンシパルに許可します。これは、SageMaker AI が機械学習モデルのトレーニングに Amazon Elastic File System のデータソースを使用する場合に必要です。
+ `fsx` - Amazon FSx へのアクセスをプリンシパルに許可します。これは、SageMaker AI が機械学習モデルのトレーニングに Amazon FSx のデータソースを使用する場合に必要です。
+ `glue` - SageMaker AI ノートブックインスタンス内から推論パイプラインの前処理を行うために必要です。
+ `groundtruthlabeling` - Ground Truth のラベリングジョブに必要です。`groundtruthlabeling` エンドポイントは Ground Truth コンソールでアクセスします。
+ `iam` - 利用可能な IAM ロールへのアクセス権を SageMaker AI コンソールに付与し、サービスにリンクされたロールを作成するために必要です。
+ `kms` – SageMaker AI コンソールに使用可能な AWS KMS キーへのアクセスを許可し、ジョブとエンドポイントで指定された AWS KMS エイリアスに対してキーを取得する必要があります。
+ `lambda` - AWS Lambda 関数の呼び出しとリストの取得をプリンシパルに許可します。
+ `logs` - SageMaker AI のジョブとエンドポイントでログストリームを発行するために必要です。
+ `redshift` - Amazon Redshift クラスター認証情報へのアクセスをプリンシパルに許可します。
+ `redshift-data` - ステートメントの実行、説明、キャンセル、ステートメント結果の取得、スキーマとテーブルの一覧表示を実行するための Amazon Redshift のデータの使用をプリンシパルに許可します。
+ `robomaker` – プリンシパルが AWS RoboMaker シミュレーションアプリケーションとジョブを作成、説明の取得、削除するためのフルアクセスを許可。これは、ノートブックインスタンスで強化学習のサンプルを実行する場合にも必要です。
+ `s3, s3express` - プリンシパルに、SageMaker AI に関連する Amazon S3 リソースと Amazon S3 Express リソースへのフルアクセスを許可します。ただし、Amazon S3 または Amazon S3 Express のすべてにアクセスできるわけではありません。
+ `sagemaker` — プリンシパルが SageMaker AI ユーザープロファイルのタグを一覧表示し、SageMaker AI アプリケーションとスペースにタグを追加することを許可します。sagemaker:WorkteamType 「private-crowd」または 「vendor-crowd」の SageMaker AI フロー定義にのみアクセスを許可します。トレーニングプラン機能にアクセスできるすべての AWS リージョンで、SageMaker AI トレーニングプランと SageMaker トレーニングジョブの予約容量、および SageMaker HyperPod クラスターの使用と説明を許可します。
+ `sagemaker` と `sagemaker-geospatial` – プリンシパルに SageMaker AI ドメインとユーザープロファイルへの読み取り専用アクセスを許可します。
+ `secretsmanager` - AWS Secrets Managerへのフルアクセス権の取得をプリンシパルに許可します。プリンシパルは、データベースやその他のサービスの認証情報を安全に暗号化、保存、取得できます。これは GitHub を使用する SageMaker AI コードリポジトリを持つ SageMaker AI ノートブックインスタンスにも必要です。
+ `servicecatalog` — プリンシパルは、Service Catalog を使用できます。プリンシパルは、 AWS リソースを使用してデプロイされたサーバー、データベース、ウェブサイト、アプリケーションなど、プロビジョニングされた製品を作成、リストの取得、更新、終了できます。これは、SageMaker AI JumpStart とプロジェクトがサービスカタログの製品を探して読み取り、ユーザーの AWS リソースを起動するために必要です。
+ `sns` - Amazon SNS トピックのリストの取得をプリンシパルに許可します。これは、非同期推論が有効になっているエンドポイントで、推論が完了したことをユーザーに通知するために必要です。
+ `states` - SageMaker AI JumpStart とパイプラインがサービスカタログを使用してステップ関数リソースを作成するために必要です。
+ `tag` - SageMaker AI Pipelines が Studio Classic レンダリングするために必要です。Studio Classic には特定の `sagemaker:project-id` tag-key でタグ付けされたリソースが必要です。これには、`tag:GetResources` アクセス許可が必要です。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAllNonAdminSageMakerActions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:*",
        "sagemaker-geospatial:*"
      ],
      "NotResource": [
        "arn:aws:sagemaker:*:*:domain/*",
        "arn:aws:sagemaker:*:*:user-profile/*",
        "arn:aws:sagemaker:*:*:app/*",
        "arn:aws:sagemaker:*:*:space/*",
        "arn:aws:sagemaker:*:*:partner-app/*",
        "arn:aws:sagemaker:*:*:flow-definition/*",
        "arn:aws:sagemaker:*:*:training-plan/*",
        "arn:aws:sagemaker:*:*:reserved-capacity/*"
      ]
    },
    {
      "Sid": "AllowAddTagsForSpace",
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddTags"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:space/*"
      ],
      "Condition": {
        "StringEquals": {
          "sagemaker:TaggingAction": "CreateSpace"
        }
      }
    },
    {
      "Sid": "AllowAddTagsForApp",
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddTags"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:app/*"
      ]
    },
    {
      "Sid": "AllowUseOfTrainingPlanResources",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateTrainingJob",
        "sagemaker:CreateCluster",
        "sagemaker:UpdateCluster",
        "sagemaker:DescribeTrainingPlan"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:training-plan/*",
        "arn:aws:sagemaker:*:*:reserved-capacity/*"
      ]
    },
    {
      "Sid": "AllowStudioActions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreatePresignedDomainUrl",
        "sagemaker:DescribeDomain",
        "sagemaker:ListDomains",
        "sagemaker:DescribeUserProfile",
        "sagemaker:ListUserProfiles",
        "sagemaker:DescribeSpace",
        "sagemaker:ListSpaces",
        "sagemaker:DescribeApp",
        "sagemaker:ListApps"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowAppActionsForUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateApp",
        "sagemaker:DeleteApp"
      ],
      "Resource": "arn:aws:sagemaker:*:*:app/*/*/*/*",
      "Condition": {
        "Null": {
          "sagemaker:OwnerUserProfileArn": "true"
        }
      }
    },
    {
      "Sid": "AllowAppActionsForSharedSpaces",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateApp",
        "sagemaker:DeleteApp"
      ],
      "Resource": "arn:aws:sagemaker:*:*:app/${sagemaker:DomainId}/*/*/*",
      "Condition": {
        "StringEquals": {
          "sagemaker:SpaceSharingType": [
            "Shared"
          ]
        }
      }
    },
    {
      "Sid": "AllowMutatingActionsOnSharedSpacesWithoutOwner",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateSpace",
        "sagemaker:UpdateSpace",
        "sagemaker:DeleteSpace"
      ],
      "Resource": "arn:aws:sagemaker:*:*:space/${sagemaker:DomainId}/*",
      "Condition": {
        "Null": {
          "sagemaker:OwnerUserProfileArn": "true"
        }
      }
    },
    {
      "Sid": "RestrictMutatingActionsOnSpacesToOwnerUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateSpace",
        "sagemaker:UpdateSpace",
        "sagemaker:DeleteSpace"
      ],
      "Resource": "arn:aws:sagemaker:*:*:space/${sagemaker:DomainId}/*",
      "Condition": {
        "ArnLike": {
          "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:*:*:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}"
        },
        "StringEquals": {
          "sagemaker:SpaceSharingType": [
            "Private",
            "Shared"
          ]
        }
      }
    },
    {
      "Sid": "RestrictMutatingActionsOnPrivateSpaceAppsToOwnerUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateApp",
        "sagemaker:DeleteApp"
      ],
      "Resource": "arn:aws:sagemaker:*:*:app/${sagemaker:DomainId}/*/*/*",
      "Condition": {
        "ArnLike": {
          "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:*:*:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}"
        },
        "StringEquals": {
          "sagemaker:SpaceSharingType": [
            "Private"
          ]
        }
      }
    },
    {
      "Sid": "AllowFlowDefinitionActions",
      "Effect": "Allow",
      "Action": "sagemaker:*",
      "Resource": [
        "arn:aws:sagemaker:*:*:flow-definition/*"
      ],
      "Condition": {
        "StringEqualsIfExists": {
          "sagemaker:WorkteamType": [
            "private-crowd",
            "vendor-crowd"
          ]
        }
      }
    },
    {
      "Sid": "AllowAWSServiceActions",
      "Effect": "Allow",
      "Action": [
        "application-autoscaling:DeleteScalingPolicy",
        "application-autoscaling:DeleteScheduledAction",
        "application-autoscaling:DeregisterScalableTarget",
        "application-autoscaling:DescribeScalableTargets",
        "application-autoscaling:DescribeScalingActivities",
        "application-autoscaling:DescribeScalingPolicies",
        "application-autoscaling:DescribeScheduledActions",
        "application-autoscaling:PutScalingPolicy",
        "application-autoscaling:PutScheduledAction",
        "application-autoscaling:RegisterScalableTarget",
        "aws-marketplace:ViewSubscriptions",
        "cloudformation:GetTemplateSummary",
        "cloudwatch:DeleteAlarms",
        "cloudwatch:DescribeAlarms",
        "cloudwatch:GetMetricData",
        "cloudwatch:GetMetricStatistics",
        "cloudwatch:ListMetrics",
        "cloudwatch:PutMetricAlarm",
        "cloudwatch:PutMetricData",
        "codecommit:BatchGetRepositories",
        "codecommit:CreateRepository",
        "codecommit:GetRepository",
        "codecommit:List*",
        "cognito-idp:AdminAddUserToGroup",
        "cognito-idp:AdminCreateUser",
        "cognito-idp:AdminDeleteUser",
        "cognito-idp:AdminDisableUser",
        "cognito-idp:AdminEnableUser",
        "cognito-idp:AdminRemoveUserFromGroup",
        "cognito-idp:CreateGroup",
        "cognito-idp:CreateUserPool",
        "cognito-idp:CreateUserPoolClient",
        "cognito-idp:CreateUserPoolDomain",
        "cognito-idp:DescribeUserPool",
        "cognito-idp:DescribeUserPoolClient",
        "cognito-idp:List*",
        "cognito-idp:UpdateUserPool",
        "cognito-idp:UpdateUserPoolClient",
        "ec2:CreateNetworkInterface",
        "ec2:CreateNetworkInterfacePermission",
        "ec2:CreateVpcEndpoint",
        "ec2:DeleteNetworkInterface",
        "ec2:DeleteNetworkInterfacePermission",
        "ec2:DescribeDhcpOptions",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DescribeRouteTables",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeSubnets",
        "ec2:DescribeVpcEndpoints",
        "ec2:DescribeVpcs",
        "ecr:BatchCheckLayerAvailability",
        "ecr:BatchGetImage",
        "ecr:CreateRepository",
        "ecr:Describe*",
        "ecr:GetAuthorizationToken",
        "ecr:GetDownloadUrlForLayer",
        "ecr:StartImageScan",
        "elasticfilesystem:DescribeFileSystems",
        "elasticfilesystem:DescribeMountTargets",
        "fsx:DescribeFileSystems",
        "glue:CreateJob",
        "glue:DeleteJob",
        "glue:GetJob*",
        "glue:GetTable*",
        "glue:GetWorkflowRun",
        "glue:ResetJobBookmark",
        "glue:StartJobRun",
        "glue:StartWorkflowRun",
        "glue:UpdateJob",
        "groundtruthlabeling:*",
        "iam:ListRoles",
        "kms:DescribeKey",
        "kms:ListAliases",
        "lambda:ListFunctions",
        "logs:CreateLogDelivery",
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:DeleteLogDelivery",
        "logs:Describe*",
        "logs:GetLogDelivery",
        "logs:GetLogEvents",
        "logs:ListLogDeliveries",
        "logs:PutLogEvents",
        "logs:PutResourcePolicy",
        "logs:UpdateLogDelivery",
        "robomaker:CreateSimulationApplication",
        "robomaker:DescribeSimulationApplication",
        "robomaker:DeleteSimulationApplication",
        "robomaker:CreateSimulationJob",
        "robomaker:DescribeSimulationJob",
        "robomaker:CancelSimulationJob",
        "secretsmanager:ListSecrets",
        "servicecatalog:Describe*",
        "servicecatalog:List*",
        "servicecatalog:ScanProvisionedProducts",
        "servicecatalog:SearchProducts",
        "servicecatalog:SearchProvisionedProducts",
        "sns:ListTopics",
        "tag:GetResources"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowECRActions",
      "Effect": "Allow",
      "Action": [
        "ecr:SetRepositoryPolicy",
        "ecr:CompleteLayerUpload",
        "ecr:BatchDeleteImage",
        "ecr:UploadLayerPart",
        "ecr:DeleteRepositoryPolicy",
        "ecr:InitiateLayerUpload",
        "ecr:DeleteRepository",
        "ecr:PutImage"
      ],
      "Resource": [
        "arn:aws:ecr:*:*:repository/*sagemaker*"
      ]
    },
    {
      "Sid": "AllowCodeCommitActions",
      "Effect": "Allow",
      "Action": [
        "codecommit:GitPull",
        "codecommit:GitPush"
      ],
      "Resource": [
        "arn:aws:codecommit:*:*:*sagemaker*",
        "arn:aws:codecommit:*:*:*SageMaker*",
        "arn:aws:codecommit:*:*:*Sagemaker*"
      ]
    },
    {
      "Sid": "AllowCodeBuildActions",
      "Action": [
        "codebuild:BatchGetBuilds",
        "codebuild:StartBuild"
      ],
      "Resource": [
        "arn:aws:codebuild:*:*:project/sagemaker*",
        "arn:aws:codebuild:*:*:build/*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowStepFunctionsActions",
      "Action": [
        "states:DescribeExecution",
        "states:GetExecutionHistory",
        "states:StartExecution",
        "states:StopExecution",
        "states:UpdateStateMachine"
      ],
      "Resource": [
        "arn:aws:states:*:*:statemachine:*sagemaker*",
        "arn:aws:states:*:*:execution:*sagemaker*:*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowSecretManagerActions",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:DescribeSecret",
        "secretsmanager:GetSecretValue",
        "secretsmanager:CreateSecret"
      ],
      "Resource": [
        "arn:aws:secretsmanager:*:*:secret:AmazonSageMaker-*"
      ]
    },
    {
      "Sid": "AllowReadOnlySecretManagerActions",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:DescribeSecret",
        "secretsmanager:GetSecretValue"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "secretsmanager:ResourceTag/SageMaker": "true"
        }
      }
    },
    {
      "Sid": "AllowServiceCatalogProvisionProduct",
      "Effect": "Allow",
      "Action": [
        "servicecatalog:ProvisionProduct"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowServiceCatalogTerminateUpdateProvisionProduct",
      "Effect": "Allow",
      "Action": [
        "servicecatalog:TerminateProvisionedProduct",
        "servicecatalog:UpdateProvisionedProduct"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "servicecatalog:userLevel": "self"
        }
      }
    },
    {
      "Sid": "AllowS3ObjectActions",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject",
        "s3:AbortMultipartUpload"
      ],
      "Resource": [
        "arn:aws:s3:::*SageMaker*",
        "arn:aws:s3:::*Sagemaker*",
        "arn:aws:s3:::*sagemaker*",
        "arn:aws:s3:::*aws-glue*"
      ]
    },
    {
      "Sid": "AllowS3GetObjectWithSageMakerExistingObjectTag",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::*"
      ],
      "Condition": {
        "StringEqualsIgnoreCase": {
          "s3:ExistingObjectTag/SageMaker": "true"
        }
      }
    },
    {
      "Sid": "AllowS3GetObjectWithServiceCatalogProvisioningExistingObjectTag",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::*"
      ],
      "Condition": {
        "StringEquals": {
          "s3:ExistingObjectTag/servicecatalog:provisioning": "true"
        }
      }
    },
    {
      "Sid": "AllowS3BucketActions",
      "Effect": "Allow",
      "Action": [
        "s3:CreateBucket",
        "s3:GetBucketLocation",
        "s3:ListBucket",
        "s3:ListAllMyBuckets",
        "s3:GetBucketCors",
        "s3:PutBucketCors"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowS3BucketACL",
      "Effect": "Allow",
      "Action": [
        "s3:GetBucketAcl",
        "s3:PutObjectAcl"
      ],
      "Resource": [
        "arn:aws:s3:::*SageMaker*",
        "arn:aws:s3:::*Sagemaker*",
        "arn:aws:s3:::*sagemaker*"
      ]
    },
    {
      "Sid": "AllowLambdaInvokeFunction",
      "Effect": "Allow",
      "Action": [
        "lambda:InvokeFunction"
      ],
      "Resource": [
        "arn:aws:lambda:*:*:function:*SageMaker*",
        "arn:aws:lambda:*:*:function:*sagemaker*",
        "arn:aws:lambda:*:*:function:*Sagemaker*",
        "arn:aws:lambda:*:*:function:*LabelingFunction*"
      ]
    },
    {
      "Sid": "AllowCreateServiceLinkedRoleForSageMakerApplicationAutoscaling",
      "Action": "iam:CreateServiceLinkedRole",
      "Effect": "Allow",
      "Resource": "arn:aws:iam::*:role/aws-service-role/sagemaker.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_SageMakerEndpoint",
      "Condition": {
        "StringLike": {
          "iam:AWSServiceName": "sagemaker.application-autoscaling.amazonaws.com"
        }
      }
    },
    {
      "Sid": "AllowCreateServiceLinkedRoleForRobomaker",
      "Effect": "Allow",
      "Action": "iam:CreateServiceLinkedRole",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:AWSServiceName": "robomaker.amazonaws.com"
        }
      }
    },
    {
      "Sid": "AllowSNSActions",
      "Effect": "Allow",
      "Action": [
        "sns:Subscribe",
        "sns:CreateTopic",
        "sns:Publish"
      ],
      "Resource": [
        "arn:aws:sns:*:*:*SageMaker*",
        "arn:aws:sns:*:*:*Sagemaker*",
        "arn:aws:sns:*:*:*sagemaker*"
      ]
    },
    {
      "Sid": "AllowPassRoleForSageMakerRoles",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": "arn:aws:iam::*:role/*AmazonSageMaker*",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": [
            "glue.amazonaws.com",
            "robomaker.amazonaws.com",
            "states.amazonaws.com"
          ]
        }
      }
    },
    {
      "Sid": "AllowPassRoleToSageMaker",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": "arn:aws:iam::*:role/*",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": "sagemaker.amazonaws.com"
        }
      }
    },
    {
      "Sid": "AllowAthenaActions",
      "Effect": "Allow",
      "Action": [
        "athena:ListDataCatalogs",
        "athena:ListDatabases",
        "athena:ListTableMetadata",
        "athena:GetQueryExecution",
        "athena:GetQueryResults",
        "athena:StartQueryExecution",
        "athena:StopQueryExecution"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "AllowGlueCreateTable",
      "Effect": "Allow",
      "Action": [
        "glue:CreateTable"
      ],
      "Resource": [
        "arn:aws:glue:*:*:table/*/sagemaker_tmp_*",
        "arn:aws:glue:*:*:table/sagemaker_featurestore/*",
        "arn:aws:glue:*:*:catalog",
        "arn:aws:glue:*:*:database/*"
      ]
    },
    {
      "Sid": "AllowGlueUpdateTable",
      "Effect": "Allow",
      "Action": [
        "glue:UpdateTable"
      ],
      "Resource": [
        "arn:aws:glue:*:*:table/sagemaker_featurestore/*",
        "arn:aws:glue:*:*:catalog",
        "arn:aws:glue:*:*:database/sagemaker_featurestore"
      ]
    },
    {
      "Sid": "AllowGlueDeleteTable",
      "Effect": "Allow",
      "Action": [
        "glue:DeleteTable"
      ],
      "Resource": [
        "arn:aws:glue:*:*:table/*/sagemaker_tmp_*",
        "arn:aws:glue:*:*:catalog",
        "arn:aws:glue:*:*:database/*"
      ]
    },
    {
      "Sid": "AllowGlueGetTablesAndDatabases",
      "Effect": "Allow",
      "Action": [
        "glue:GetDatabases",
        "glue:GetTable",
        "glue:GetTables"
      ],
      "Resource": [
        "arn:aws:glue:*:*:table/*",
        "arn:aws:glue:*:*:catalog",
        "arn:aws:glue:*:*:database/*"
      ]
    },
    {
      "Sid": "AllowGlueGetAndCreateDatabase",
      "Effect": "Allow",
      "Action": [
        "glue:CreateDatabase",
        "glue:GetDatabase"
      ],
      "Resource": [
        "arn:aws:glue:*:*:catalog",
        "arn:aws:glue:*:*:database/sagemaker_featurestore",
        "arn:aws:glue:*:*:database/sagemaker_processing",
        "arn:aws:glue:*:*:database/default",
        "arn:aws:glue:*:*:database/sagemaker_data_wrangler"
      ]
    },
    {
      "Sid": "AllowRedshiftDataActions",
      "Effect": "Allow",
      "Action": [
        "redshift-data:ExecuteStatement",
        "redshift-data:DescribeStatement",
        "redshift-data:CancelStatement",
        "redshift-data:GetStatementResult",
        "redshift-data:ListSchemas",
        "redshift-data:ListTables"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "AllowRedshiftGetClusterCredentials",
      "Effect": "Allow",
      "Action": [
        "redshift:GetClusterCredentials"
      ],
      "Resource": [
        "arn:aws:redshift:*:*:dbuser:*/sagemaker_access*",
        "arn:aws:redshift:*:*:dbname:*"
      ]
    },
    {
      "Sid": "AllowListTagsForUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:ListTags"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:user-profile/*"
      ]
    },
    {
      "Sid": "AllowCloudformationListStackResources",
      "Effect": "Allow",
      "Action": [
        "cloudformation:ListStackResources"
      ],
      "Resource": "arn:aws:cloudformation:*:*:stack/SC-*"
    },
    {
      "Sid": "AllowS3ExpressObjectActions",
      "Effect": "Allow",
      "Action": [
        "s3express:CreateSession"
      ],
      "Resource": [
        "arn:aws:s3express:*:*:bucket/*SageMaker*",
        "arn:aws:s3express:*:*:bucket/*Sagemaker*",
        "arn:aws:s3express:*:*:bucket/*sagemaker*",
        "arn:aws:s3express:*:*:bucket/*aws-glue*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "AllowS3ExpressCreateBucketActions",
      "Effect": "Allow",
      "Action": [
        "s3express:CreateBucket"
      ],
      "Resource": [
        "arn:aws:s3express:*:*:bucket/*SageMaker*",
        "arn:aws:s3express:*:*:bucket/*Sagemaker*",
        "arn:aws:s3express:*:*:bucket/*sagemaker*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "AllowS3ExpressListBucketActions",
      "Effect": "Allow",
      "Action": [
        "s3express:ListAllMyDirectoryBuckets"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## AWS マネージドポリシー: AmazonSageMakerReadOnly
<a name="security-iam-awsmanpol-AmazonSageMakerReadOnly"></a>

このポリシーは、 AWS マネジメントコンソール および SDK を通じて Amazon SageMaker AI への読み取り専用アクセスを許可します。

**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。
+ `application-autoscaling` - スケーラブルな SageMaker AI のリアルタイム推論エンドポイントの説明の参照をユーザーに許可します。
+ `aws-marketplace` – ユーザーに AWS AI Marketplace サブスクリプションの表示を許可します。
+ `cloudwatch` - CloudWatch アラームの受信をユーザーに許可します。
+ `cognito-idp` - Amazon SageMaker Ground Truth で、プライベートワークフォースと作業チームの説明とリストを参照するために必要です。
+ `ecr` - トレーニングと推論用に Docker アーティファクトを読み取るために必要です。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:Describe*",
                "sagemaker:List*",
                "sagemaker:BatchGetMetrics",
                "sagemaker:GetDeviceRegistration",
                "sagemaker:GetDeviceFleetReport",
                "sagemaker:GetSearchSuggestions",
                "sagemaker:BatchGetRecord",
                "sagemaker:GetRecord",
                "sagemaker:Search",
                "sagemaker:QueryLineage",
                "sagemaker:GetLineageGroupPolicy",
                "sagemaker:BatchDescribeModelPackage",
                "sagemaker:GetModelPackageGroupPolicy"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "application-autoscaling:DescribeScalableTargets",
                "application-autoscaling:DescribeScalingActivities",
                "application-autoscaling:DescribeScalingPolicies",
                "application-autoscaling:DescribeScheduledActions",
                "aws-marketplace:ViewSubscriptions",
                "cloudwatch:DescribeAlarms",
                "cognito-idp:DescribeUserPool",
                "cognito-idp:DescribeUserPoolClient",
                "cognito-idp:ListGroups",
                "cognito-idp:ListIdentityProviders",
                "cognito-idp:ListUserPoolClients",
                "cognito-idp:ListUserPools",
                "cognito-idp:ListUsers",
                "cognito-idp:ListUsersInGroup",
                "ecr:Describe*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# AWS Amazon SageMaker Canvas の マネージドポリシー
<a name="security-iam-awsmanpol-canvas"></a>

これらの AWS 管理ポリシーは、Amazon SageMaker Canvas を使用するために必要なアクセス許可を追加します。ポリシーは AWS アカウントで使用でき、SageMaker AI コンソールから作成された実行ロールによって使用されます。

**Topics**
+ [AWS マネージドポリシー: AmazonSageMakerCanvasFullAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess)
+ [AWS マネージドポリシー: AmazonSageMakerCanvasDataPrepFullAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasDataPrepFullAccess)
+ [AWS マネージドポリシー: AmazonSageMakerCanvasDirectDeployAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasDirectDeployAccess)
+ [AWS マネージドポリシー: AmazonSageMakerCanvasAIServicesAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess)
+ [AWS マネージドポリシー: AmazonSageMakerCanvasBedrockAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasBedrockAccess)
+ [AWS マネージドポリシー: AmazonSageMakerCanvasForecastAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasForecastAccess)
+ [AWS マネージドポリシー: AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy](#security-iam-awsmanpol-AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy)
+ [AWS マネージドポリシー: AmazonSageMakerCanvasSMDataScienceAssistantAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasSMDataScienceAssistantAccess)
+ [Amazon SageMaker AI による Amazon SageMaker Canvas マネージドポリシーの更新](#security-iam-awsmanpol-canvas-updates)

## AWS マネージドポリシー: AmazonSageMakerCanvasFullAccess
<a name="security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess"></a>

このポリシーは、 AWS マネジメントコンソール と SDK 経由で Amazon SageMaker Canvas にフルアクセスできるようにするアクセス許可を付与します。このポリシーは、関連サービス [Amazon Simple Storage Service (Amazon S3)、 AWS Identity and Access Management (IAM)、Amazon Virtual Private Cloud (Amazon VPC)、Amazon Elastic Container Registry (Amazon ECR)、Amazon CloudWatch Logs、Amazon Redshift AWS Secrets Manager、Amazon SageMaker Autopilot、SageMaker Model Registry、Amazon Forecast など] への選択アクセスも提供します。

このポリシーは、お客様が SageMaker Canvas のすべての機能を試して使い始めるのを支援することを目的としています。よりきめ細かい制御を行うには、お客様が本番環境のワークロードに移行する際に、範囲を絞った独自のバージョンを構築することをお勧めします。詳細については、「[IAM policy types: How and when to use them](https://aws.amazon.com/blogs/security/iam-policy-types-how-and-when-to-use-them/)」を参照してください。

**アクセス許可の詳細**

この AWS 管理ポリシーには、次のアクセス許可が含まれます。
+ `sagemaker` — ARN に「Canvas」、「canvas」、または「model-compilation-」が含まれるリソースで SageMaker AI モデルを作成し、ホストすることをプリンシパルに許可します。さらに、ユーザーは同じ AWS アカウントの SageMaker Canvas モデルを SageMaker AI Model Registry に登録できます。プリンシパルが SageMaker トレーニング、変換、AutoML ジョブを作成して管理することも許可します。
+ `application-autoscaling` - SageMaker AI の推論エンドポイントのオートスケーリングをプリンシパルに許可します。
+ `athena` – プリンシパルが Amazon Athena からデータカタログ、データベース、テーブルメタデータのリストをクエリし、カタログ内のテーブルにアクセスすることを許可します。
+ `cloudwatch` — プリンシパルが Amazon CloudWatch アラームを作成して管理することを許可します。
+ `ec2` — Amazon VPC エンドポイントを作成することをプリンシパルに許可します。
+ `ecr` — コンテナイメージに関する情報を取得することをプリンシパルに許可します。
+ `emr-serverless` – プリンシパルが Amazon EMR Serverless アプリケーションとジョブ実行を作成して管理することを許可します。プリンシパルが SageMaker Canvas リソースにタグを付けることも許可します。
+ `forecast` — Amazon Forecast を使用することをプリンシパルに許可します。
+ `glue` – プリンシパルが AWS Glue カタログ内のテーブル、データベース、パーティションを取得できるようにします。
+ `iam` – プリンシパルが IAM ロールを Amazon SageMaker AI、Amazon Forecast、Amazon EMR Serverless に渡すことを許可します。プリンシパルがサービスにリンクされたロールを作成することも許可します。
+ `kms` – プリンシパルが でタグ付けされた AWS KMS キーを読み取ることを許可します`Source:SageMakerCanvas`。
+ `logs` — トレーニングジョブとエンドポイントのログを公開することをプリンシパルに許可します。
+ `quicksight` – プリンシパルがクイックアカウントの名前空間を一覧表示できるようにします。
+ `rds` - プロビジョニングされた Amazon RDS インスタンスに関する情報を返すことをプリンシパルに許可します。
+ `redshift` — 任意の Amazon Redshift クラスターで "sagemaker\$1access\$1" DBUser の認証情報を取得することをプリンシパルに許可します（そのユーザーが存在する場合）。
+ `redshift-data` — Amazon Redshift Data API を使って Amazon Redshift でクエリを実行することをプリンシパルに許可します。これにより、Redshift データ API 自体へのアクセスのみが提供され、Amazon Redshift クラスターへの直接アクセスは提供されません。詳細については、「[Using the Amazon Redshift Data API](https://docs.aws.amazon.com/redshift/latest/mgmt/data-api.html)」 (Amazon Redshift Data API の使用) を参照してください。
+ `s3` — Amazon S3 バケットに対するオブジェクトの追加と取得をプリンシパルに許可します。これは、名前に "SageMaker"、"Sagemaker" または "sagemaker" が含まれるオブジェクトに限定されます。また、特定のリージョンの ARN が "jumpstart-cache-prod-" で始まる Amazon S3 バケットからオブジェクトを取得することをプリンシパルに許可します。
+ `secretsmanager` — Secrets Manager を使用して Snowflake データベースに接続するための顧客認証情報を保存することをプリンシパルに許可します。

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SageMakerUserDetailsAndPackageOperations",
            "Effect": "Allow",
            "Action": [
                "sagemaker:DescribeDomain",
                "sagemaker:DescribeUserProfile",
                "sagemaker:ListTags",
                "sagemaker:ListModelPackages",
                "sagemaker:ListModelPackageGroups",
                "sagemaker:ListEndpoints"
            ],
            "Resource": "*"
        },
        {
            "Sid": "SageMakerPackageGroupOperations",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateModelPackageGroup",
                "sagemaker:CreateModelPackage",
                "sagemaker:DescribeModelPackageGroup",
                "sagemaker:DescribeModelPackage"
            ],
            "Resource": [
                "arn:aws:sagemaker:*:*:model-package/*",
                "arn:aws:sagemaker:*:*:model-package-group/*"
            ]
        },
        {
            "Sid": "SageMakerTrainingOperations",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateCompilationJob",
                "sagemaker:CreateEndpoint",
                "sagemaker:CreateEndpointConfig",
                "sagemaker:CreateModel",
                "sagemaker:CreateProcessingJob",
                "sagemaker:CreateAutoMLJob",
                "sagemaker:CreateAutoMLJobV2",
                "sagemaker:CreateTrainingJob",
                "sagemaker:CreateTransformJob",
                "sagemaker:DeleteEndpoint",
                "sagemaker:DescribeCompilationJob",
                "sagemaker:DescribeEndpoint",
                "sagemaker:DescribeEndpointConfig",
                "sagemaker:DescribeModel",
                "sagemaker:DescribeProcessingJob",
                "sagemaker:DescribeAutoMLJob",
                "sagemaker:DescribeAutoMLJobV2",
                "sagemaker:DescribeTrainingJob",
                "sagemaker:DescribeTransformJob",
                "sagemaker:ListCandidatesForAutoMLJob",
                "sagemaker:StopAutoMLJob",
                "sagemaker:StopTrainingJob",
                "sagemaker:StopTransformJob",
                "sagemaker:AddTags",
                "sagemaker:DeleteApp"
            ],
            "Resource": [
                "arn:aws:sagemaker:*:*:*Canvas*",
                "arn:aws:sagemaker:*:*:*canvas*",
                "arn:aws:sagemaker:*:*:*model-compilation-*"
            ]
        },
        {
            "Sid": "SageMakerHostingOperations",
            "Effect": "Allow",
            "Action": [
                "sagemaker:DeleteEndpointConfig",
                "sagemaker:DeleteModel",
                "sagemaker:InvokeEndpoint",
                "sagemaker:UpdateEndpointWeightsAndCapacities",
                "sagemaker:InvokeEndpointAsync"
            ],
            "Resource": [
                "arn:aws:sagemaker:*:*:*Canvas*",
                "arn:aws:sagemaker:*:*:*canvas*"
            ]
        },
        {
            "Sid": "EC2VPCOperation",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateVpcEndpoint",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcs",
                "ec2:DescribeVpcEndpoints",
                "ec2:DescribeVpcEndpointServices"
            ],
            "Resource": "*"
        },
        {
            "Sid": "ECROperations",
            "Effect": "Allow",
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer",
                "ecr:GetAuthorizationToken"
            ],
            "Resource": "*"
        },
        {
            "Sid": "IAMGetOperations",
            "Effect": "Allow",
            "Action": [
                "iam:GetRole"
            ],
            "Resource": "arn:aws:iam::*:role/*"
        },
        {
            "Sid": "IAMPassOperation",
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::*:role/*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "sagemaker.amazonaws.com"
                }
            }
        },
        {
            "Sid": "LoggingOperation",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "arn:aws:logs:*:*:log-group:/aws/sagemaker/*"
        },
        {
            "Sid": "S3Operations",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:CreateBucket",
                "s3:GetBucketCors",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
            "Sid": "ReadSageMakerJumpstartArtifacts",
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": [
                "arn:aws:s3:::jumpstart-cache-prod-us-west-2/*",
                "arn:aws:s3:::jumpstart-cache-prod-us-east-1/*",
                "arn:aws:s3:::jumpstart-cache-prod-us-east-2/*",
                "arn:aws:s3:::jumpstart-cache-prod-eu-west-1/*",
                "arn:aws:s3:::jumpstart-cache-prod-eu-central-1/*",
                "arn:aws:s3:::jumpstart-cache-prod-ap-south-1/*",
                "arn:aws:s3:::jumpstart-cache-prod-ap-northeast-2/*",
                "arn:aws:s3:::jumpstart-cache-prod-ap-northeast-1/*",
                "arn:aws:s3:::jumpstart-cache-prod-ap-southeast-1/*",
                "arn:aws:s3:::jumpstart-cache-prod-ap-southeast-2/*"
            ]
        },
        {
            "Sid": "S3ListOperations",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "GlueOperations",
            "Effect": "Allow",
            "Action": "glue:SearchTables",
            "Resource": [
                "arn:aws:glue:*:*:table/*/*",
                "arn:aws:glue:*:*:database/*",
                "arn:aws:glue:*:*:catalog"
            ]
        },
        {
            "Sid": "SecretsManagerARNBasedOperation",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:DescribeSecret",
                "secretsmanager:GetSecretValue",
                "secretsmanager:CreateSecret",
                "secretsmanager:PutResourcePolicy"
            ],
            "Resource": [
                "arn:aws:secretsmanager:*:*:secret:AmazonSageMaker-*"
            ]
        },
        {
            "Sid": "SecretManagerTagBasedOperation",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:DescribeSecret",
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "secretsmanager:ResourceTag/SageMaker": "true"
                }
            }
        },
        {
            "Sid": "RedshiftOperations",
            "Effect": "Allow",
            "Action": [
                "redshift-data:ExecuteStatement",
                "redshift-data:DescribeStatement",
                "redshift-data:CancelStatement",
                "redshift-data:GetStatementResult",
                "redshift-data:ListSchemas",
                "redshift-data:ListTables",
                "redshift-data:DescribeTable"
            ],
            "Resource": "*"
        },
        {
            "Sid": "RedshiftGetCredentialsOperation",
            "Effect": "Allow",
            "Action": [
                "redshift:GetClusterCredentials"
            ],
            "Resource": [
                "arn:aws:redshift:*:*:dbuser:*/sagemaker_access*",
                "arn:aws:redshift:*:*:dbname:*"
            ]
        },
        {
            "Sid": "ForecastOperations",
            "Effect": "Allow",
            "Action": [
                "forecast:CreateExplainabilityExport",
                "forecast:CreateExplainability",
                "forecast:CreateForecastEndpoint",
                "forecast:CreateAutoPredictor",
                "forecast:CreateDatasetImportJob",
                "forecast:CreateDatasetGroup",
                "forecast:CreateDataset",
                "forecast:CreateForecast",
                "forecast:CreateForecastExportJob",
                "forecast:CreatePredictorBacktestExportJob",
                "forecast:CreatePredictor",
                "forecast:DescribeExplainabilityExport",
                "forecast:DescribeExplainability",
                "forecast:DescribeAutoPredictor",
                "forecast:DescribeForecastEndpoint",
                "forecast:DescribeDatasetImportJob",
                "forecast:DescribeDataset",
                "forecast:DescribeForecast",
                "forecast:DescribeForecastExportJob",
                "forecast:DescribePredictorBacktestExportJob",
                "forecast:GetAccuracyMetrics",
                "forecast:InvokeForecastEndpoint",
                "forecast:GetRecentForecastContext",
                "forecast:DescribePredictor",
                "forecast:TagResource",
                "forecast:DeleteResourceTree"
            ],
            "Resource": [
                "arn:aws:forecast:*:*:*Canvas*"
            ]
        },
        {
            "Sid": "RDSOperation",
            "Effect": "Allow",
            "Action": "rds:DescribeDBInstances",
            "Resource": "*"
        },
        {
            "Sid": "IAMPassOperationForForecast",
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::*:role/*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "forecast.amazonaws.com"
                }
            }
        },
        {
            "Sid": "AutoscalingOperations",
            "Effect": "Allow",
            "Action": [
                "application-autoscaling:PutScalingPolicy",
                "application-autoscaling:RegisterScalableTarget"
            ],
            "Resource": "arn:aws:application-autoscaling:*:*:scalable-target/*",
            "Condition": {
                "StringEquals": {
                    "application-autoscaling:service-namespace": "sagemaker",
                    "application-autoscaling:scalable-dimension": "sagemaker:variant:DesiredInstanceCount"
                }
            }
        },
        {
            "Sid": "AsyncEndpointOperations",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:DescribeAlarms",
                "sagemaker:DescribeEndpointConfig"
            ],
            "Resource": "*"
        },
        {
            "Sid": "DescribeScalingOperations",
            "Effect": "Allow",
            "Action": [
                "application-autoscaling:DescribeScalingActivities"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "SageMakerCloudWatchUpdate",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricAlarm",
                "cloudwatch:DeleteAlarms"
            ],
            "Resource": [
                "arn:aws:cloudwatch:*:*:alarm:TargetTracking*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:CalledViaLast": "application-autoscaling.amazonaws.com"
                }
            }
        },
        {
            "Sid": "AutoscalingSageMakerEndpointOperation",
            "Action": "iam:CreateServiceLinkedRole",
            "Effect": "Allow",
            "Resource": "arn:aws:iam::*:role/aws-service-role/sagemaker.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_SageMakerEndpoint",
            "Condition": {
                "StringLike": {
                    "iam:AWSServiceName": "sagemaker.application-autoscaling.amazonaws.com"
                }
            }
        },
        {
            "Sid": "AthenaOperation",
            "Action": [
                "athena:ListTableMetadata",
                "athena:ListDataCatalogs",
                "athena:ListDatabases"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "GlueOperation",
            "Action": [
                "glue:GetDatabases",
                "glue:GetPartitions",
                "glue:GetTables"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:glue:*:*:table/*",
                "arn:aws:glue:*:*:catalog",
                "arn:aws:glue:*:*:database/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "QuicksightOperation",
            "Action": [
                "quicksight:ListNamespaces"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "AllowUseOfKeyInAccount",
            "Effect": "Allow",
            "Action": [
                "kms:DescribeKey"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/Source": "SageMakerCanvas",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessCreateApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:CreateApplication",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListApplications",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessApplicationOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:UpdateApplication",
                "emr-serverless:StopApplication",
                "emr-serverless:GetApplication",
                "emr-serverless:StartApplication"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessStartJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:StartJobRun",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListJobRuns",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessJobRunOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetJobRun",
                "emr-serverless:CancelJobRun"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*/jobruns/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessTagResourceOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:TagResource",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "IAMPassOperationForEMRServerless",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::*:role/service-role/AmazonSageMakerCanvasEMRSExecutionAccess-*",
                "arn:aws:iam::*:role/AmazonSageMakerCanvasEMRSExecutionAccess-*"
            ],            
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        }
    ]
}
```

## AWS マネージドポリシー: AmazonSageMakerCanvasDataPrepFullAccess
<a name="security-iam-awsmanpol-AmazonSageMakerCanvasDataPrepFullAccess"></a>

このポリシーは、Amazon SageMaker Canvas データ準備機能へのフルアクセスできるようにするアクセス許可を付与します。また、このポリシーは、データ準備機能 [Amazon Simple Storage Service (Amazon S3)、 AWS Identity and Access Management (IAM)、Amazon EMR、Amazon EventBridge、Amazon Redshift AWS Key Management Service 、(AWS KMS)、] と統合するサービスの最小特権のアクセス許可も提供します AWS Secrets Manager。

**アクセス許可の詳細**

この AWS 管理ポリシーには、次のアクセス許可が含まれます。
+ `sagemaker` – プリンシパルが処理ジョブ、トレーニングジョブ、推論パイプライン、AutoML ジョブ、特徴量グループにアクセスすることを許可します。
+ `athena` – プリンシパルが Amazon Athena からデータカタログ、データベース、テーブルメタデータのリストをクエリすることを許可します。
+ `elasticmapreduce` – プリンシパルが Amazon EMR クラスターを読み取って一覧表示することを許可します。
+ `emr-serverless` – プリンシパルが Amazon EMR Serverless アプリケーションとジョブ実行を作成して管理することを許可します。プリンシパルが SageMaker Canvas リソースにタグを付けることも許可します。
+ `events` – プリンシパルがスケジュールされたジョブの Amazon EventBridge ルールにターゲットを作成、読み取り、更新、追加することを許可します。
+ `glue` – プリンシパルが AWS Glue カタログ内のデータベースからテーブルを取得および検索できるようにします。
+ `iam` – プリンシパルが IAM ロールを Amazon SageMaker AI、EventBridge、Amazon EMR Serverless に渡すことを許可します。プリンシパルがサービスにリンクされたロールを作成することも許可します。
+ `kms` – プリンシパルがジョブとエンドポイントに保存されている AWS KMS エイリアスを取得し、関連付けられた KMS キーにアクセスできるようにします。
+ `logs` — トレーニングジョブとエンドポイントのログを公開することをプリンシパルに許可します。
+ `redshift` - プリンシパルが Amazon Redshift データベースにアクセスするための認証情報を取得することを許可します。
+ `redshift-data` – プリンシパルが Amazon Redshift クエリを実行、キャンセル、説明、一覧表示、結果の取得を行うことを許可します。プリンシパルが Amazon Redshift スキーマとテーブルを一覧表示することも許可します。
+ `s3` — Amazon S3 バケットに対するオブジェクトの追加と取得をプリンシパルに許可します。これらのオブジェクトは、大文字と小文字を区別せずに、名前に「SageMaker」、「Sagemaker」、または「sagemaker」が含まれるオブジェクト、または「SageMaker」でタグ付けされているオブジェクトに限定されます。
+ `secretsmanager` – プリンシパルが Secrets Manager を使用して顧客データベース認証情報を保存および取得することを許可します。

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SageMakerListFeatureGroupOperation",
            "Effect": "Allow",
            "Action": "sagemaker:ListFeatureGroups",
            "Resource": "*"
        },
        {
            "Sid": "SageMakerFeatureGroupOperations",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateFeatureGroup",
                "sagemaker:DescribeFeatureGroup"
            ],
            "Resource": "arn:aws:sagemaker:*:*:feature-group/*"
        },
        {
            "Sid": "SageMakerProcessingJobOperations",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateProcessingJob",
                "sagemaker:DescribeProcessingJob",
                "sagemaker:AddTags"
            ],
            "Resource": "arn:aws:sagemaker:*:*:processing-job/*canvas-data-prep*"
        },
        {
            "Sid": "SageMakerProcessingJobListOperation",
            "Effect": "Allow",
            "Action": "sagemaker:ListProcessingJobs",
            "Resource": "*"
        },
        {
            "Sid": "SageMakerPipelineOperations",
            "Effect": "Allow",
            "Action": [
                "sagemaker:DescribePipeline",
                "sagemaker:CreatePipeline",
                "sagemaker:UpdatePipeline",
                "sagemaker:DeletePipeline",
                "sagemaker:StartPipelineExecution",
                "sagemaker:ListPipelineExecutionSteps",
                "sagemaker:DescribePipelineExecution"
            ],
            "Resource": "arn:aws:sagemaker:*:*:pipeline/*canvas-data-prep*"
        },
        {
            "Sid": "KMSListOperations",
            "Effect": "Allow",
            "Action": "kms:ListAliases",
            "Resource": "*"
        },
        {
            "Sid": "KMSOperations",
            "Effect": "Allow",
            "Action": "kms:DescribeKey",
            "Resource": "arn:aws:kms:*:*:key/*"
        },
        {
            "Sid": "S3Operations",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:GetBucketCors",
                "s3:GetBucketLocation",
                "s3:AbortMultipartUpload"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "S3GetObjectOperation",
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "s3:ExistingObjectTag/SageMaker": "true"
                },
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "S3ListOperations",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "IAMListOperations",
            "Effect": "Allow",
            "Action": "iam:ListRoles",
            "Resource": "*"
        },
        {
            "Sid": "IAMGetOperations",
            "Effect": "Allow",
            "Action": "iam:GetRole",
            "Resource": "arn:aws:iam::*:role/*"
        },
        {
            "Sid": "IAMPassOperation",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "sagemaker.amazonaws.com",
                        "events.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Sid": "EventBridgePutOperation",
            "Effect": "Allow",
            "Action": [
                "events:PutRule"
            ],
            "Resource": "arn:aws:events:*:*:rule/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-data-prep-job": "true"
                }
            }
        },
        {
            "Sid": "EventBridgeOperations",
            "Effect": "Allow",
            "Action": [
                "events:DescribeRule",
                "events:PutTargets"
            ],
            "Resource": "arn:aws:events:*:*:rule/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-data-prep-job": "true"
                }
            }
        },
        {
            "Sid": "EventBridgeTagBasedOperations",
            "Effect": "Allow",
            "Action": [
                "events:TagResource"
            ],
            "Resource": "arn:aws:events:*:*:rule/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-data-prep-job": "true",
                    "aws:ResourceTag/sagemaker:is-canvas-data-prep-job": "true"
                }
            }
        },
        {
            "Sid": "EventBridgeListTagOperation",
            "Effect": "Allow",
            "Action": "events:ListTagsForResource",
            "Resource": "*"
        },
        {
            "Sid": "GlueOperations",
            "Effect": "Allow",
            "Action": [
                "glue:GetDatabases",
                "glue:GetTable",
                "glue:GetTables",
                "glue:SearchTables"
            ],
            "Resource": [
                "arn:aws:glue:*:*:table/*",
                "arn:aws:glue:*:*:catalog",
                "arn:aws:glue:*:*:database/*"
            ]
        },
        {
            "Sid": "EMROperations",
            "Effect": "Allow",
            "Action": [
                "elasticmapreduce:DescribeCluster",
                "elasticmapreduce:ListInstanceGroups"
            ],
            "Resource": "arn:aws:elasticmapreduce:*:*:cluster/*"
        },
        {
            "Sid": "EMRListOperation",
            "Effect": "Allow",
            "Action": "elasticmapreduce:ListClusters",
            "Resource": "*"
        },
        {
            "Sid": "AthenaListDataCatalogOperation",
            "Effect": "Allow",
            "Action": "athena:ListDataCatalogs",
            "Resource": "*"
        },
        {
            "Sid": "AthenaQueryExecutionOperations",
            "Effect": "Allow",
            "Action": [
                "athena:GetQueryExecution",
                "athena:GetQueryResults",
                "athena:StartQueryExecution",
                "athena:StopQueryExecution"
            ],
            "Resource": "arn:aws:athena:*:*:workgroup/*"
        },
        {
            "Sid": "AthenaDataCatalogOperations",
            "Effect": "Allow",
            "Action": [
                "athena:ListDatabases",
                "athena:ListTableMetadata"
            ],
            "Resource": "arn:aws:athena:*:*:datacatalog/*"
        },
        {
            "Sid": "RedshiftOperations",
            "Effect": "Allow",
            "Action": [
                "redshift-data:DescribeStatement",
                "redshift-data:CancelStatement",
                "redshift-data:GetStatementResult"
            ],
            "Resource": "*"
        },
        {
            "Sid": "RedshiftArnBasedOperations",
            "Effect": "Allow",
            "Action": [
                "redshift-data:ExecuteStatement",
                "redshift-data:ListSchemas",
                "redshift-data:ListTables"
            ],
            "Resource": "arn:aws:redshift:*:*:cluster:*"
        },
        {
            "Sid": "RedshiftGetCredentialsOperation",
            "Effect": "Allow",
            "Action": "redshift:GetClusterCredentials",
            "Resource": [
                "arn:aws:redshift:*:*:dbuser:*/sagemaker_access*",
                "arn:aws:redshift:*:*:dbname:*"
            ]
        },
        {
            "Sid": "SecretsManagerARNBasedOperation",
            "Effect": "Allow",
            "Action": "secretsmanager:CreateSecret",
            "Resource": "arn:aws:secretsmanager:*:*:secret:AmazonSageMaker-*"
        },
        {
            "Sid": "SecretManagerTagBasedOperation",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:DescribeSecret",
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "arn:aws:secretsmanager:*:*:secret:AmazonSageMaker-*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/SageMaker": "true",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "RDSOperation",
            "Effect": "Allow",
            "Action": "rds:DescribeDBInstances",
            "Resource": "*"
        },
        {
            "Sid": "LoggingOperation",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "arn:aws:logs:*:*:log-group:/aws/sagemaker/studio:*"
        },
        {
            "Sid": "EMRServerlessCreateApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:CreateApplication",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListApplications",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessApplicationOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:UpdateApplication",
                "emr-serverless:GetApplication"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessStartJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:StartJobRun",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListJobRuns",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessJobRunOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetJobRun",
                "emr-serverless:CancelJobRun"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*/jobruns/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessTagResourceOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:TagResource",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "IAMPassOperationForEMRServerless",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::*:role/service-role/AmazonSageMakerCanvasEMRSExecutionAccess-*",
                "arn:aws:iam::*:role/AmazonSageMakerCanvasEMRSExecutionAccess-*"
            ],            
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        }
    ]
}
```

## AWS マネージドポリシー: AmazonSageMakerCanvasDirectDeployAccess
<a name="security-iam-awsmanpol-AmazonSageMakerCanvasDirectDeployAccess"></a>

このポリシーは、Amazon SageMaker Canvas が Amazon SageMaker AI エンドポイントを作成して管理するために必要なアクセス許可を付与します。

**アクセス許可の詳細**

この AWS 管理ポリシーには、次のアクセス許可が含まれます。
+ `sagemaker` – プリンシパルが、ARN リソース名が「Canvas」または「canvas」で始まる SageMaker AI エンドポイントを作成して管理することを許可します。
+ `cloudwatch` – プリンシパルが Amazon CloudWatch メトリクスデータを取得することを許可します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SageMakerEndpointPerms",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateEndpoint",
                "sagemaker:CreateEndpointConfig",
                "sagemaker:DeleteEndpoint",
                "sagemaker:DescribeEndpoint",
                "sagemaker:DescribeEndpointConfig",
                "sagemaker:InvokeEndpoint",
                "sagemaker:UpdateEndpoint"
            ],
            "Resource": [
                "arn:aws:sagemaker:*:*:Canvas*",
                "arn:aws:sagemaker:*:*:canvas*"
            ]
        },
        {
            "Sid": "ReadCWInvocationMetrics",
            "Effect": "Allow",
            "Action": "cloudwatch:GetMetricData",
            "Resource": "*"
        }
    ]
}
```

------

## AWS マネージドポリシー: AmazonSageMakerCanvasAIServicesAccess
<a name="security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess"></a>

このポリシーは、Amazon SageMaker Canvas が Amazon Textract、Amazon Rekognition、Amazon Comprehend、Amazon Bedrock を使用するアクセス許可を付与します。

**アクセス許可の詳細**

この AWS 管理ポリシーには、次のアクセス許可が含まれます。
+ `textract`— Amazon Textract を使用して、画像内の文書、経費、ID を検出することをプリンシパルに許可します。
+ `rekognition` — Amazon Rekognition を使用して画像内のラベルとテキストを検出することをプリンシパルに許可します。
+ `comprehend` — Amazon Comprehend を使用して、テキストドキュメント内の感情や主要言語、名前付きエンティティと個人を特定できる情報 (PII) エンティティを検出することをプリンシパルに許可します。
+ `bedrock` — Amazon Bedrock を使用して基盤モデルを一覧表示したり呼び出したりすることをプリンシパルに許可します。
+ `iam` – プリンシパルが IAM ロールを Amazon Bedrock に渡すことを許可します。

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Textract",
            "Effect": "Allow",
            "Action": [
                "textract:AnalyzeDocument",
                "textract:AnalyzeExpense",
                "textract:AnalyzeID",
                "textract:StartDocumentAnalysis",
                "textract:StartExpenseAnalysis",
                "textract:GetDocumentAnalysis",
                "textract:GetExpenseAnalysis"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Rekognition",
            "Effect": "Allow",
            "Action": [
                "rekognition:DetectLabels",
                "rekognition:DetectText"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Comprehend",
            "Effect": "Allow",
            "Action": [
                "comprehend:BatchDetectDominantLanguage",
                "comprehend:BatchDetectEntities",
                "comprehend:BatchDetectSentiment",
                "comprehend:DetectPiiEntities",
                "comprehend:DetectEntities",
                "comprehend:DetectSentiment",
                "comprehend:DetectDominantLanguage"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Bedrock",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:ListFoundationModels",
                "bedrock:InvokeModelWithResponseStream"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CreateBedrockResourcesPermission",
            "Effect": "Allow",
            "Action": [
                "bedrock:CreateModelCustomizationJob",
                "bedrock:CreateProvisionedModelThroughput",
                "bedrock:TagResource"
            ],
            "Resource": [
                "arn:aws:bedrock:*:*:model-customization-job/*",
                "arn:aws:bedrock:*:*:custom-model/*",
                "arn:aws:bedrock:*:*:provisioned-model/*"
            ],
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:TagKeys": [
                        "SageMaker",
                        "Canvas"
                    ]
                },
                "StringEquals": {
                    "aws:RequestTag/SageMaker": "true",
                    "aws:RequestTag/Canvas": "true",
                    "aws:ResourceTag/SageMaker": "true",
                    "aws:ResourceTag/Canvas": "true"
                }
            }
        },
        {
            "Sid": "GetStopAndDeleteBedrockResourcesPermission",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetModelCustomizationJob",
                "bedrock:GetCustomModel",
                "bedrock:GetProvisionedModelThroughput",
                "bedrock:StopModelCustomizationJob",
                "bedrock:DeleteProvisionedModelThroughput"
            ],
            "Resource": [
                "arn:aws:bedrock:*:*:model-customization-job/*",
                "arn:aws:bedrock:*:*:custom-model/*",
                "arn:aws:bedrock:*:*:provisioned-model/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/SageMaker": "true",
                    "aws:ResourceTag/Canvas": "true"
                }
            }
        },
        {
            "Sid": "FoundationModelPermission",
            "Effect": "Allow",
            "Action": [
                "bedrock:CreateModelCustomizationJob"
            ],
            "Resource": [
                "arn:aws:bedrock:*::foundation-model/*"
            ]
        },
        {
            "Sid": "BedrockFineTuningPassRole",
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": [
                "arn:aws:iam::*:role/*"
            ],
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "bedrock.amazonaws.com"
                }
            }
        }
    ]
}
```

## AWS マネージドポリシー: AmazonSageMakerCanvasBedrockAccess
<a name="security-iam-awsmanpol-AmazonSageMakerCanvasBedrockAccess"></a>

このポリシーは、Amazon Bedrock で Amazon SageMaker Canvas を使用するために一般的に必要となるアクセス許可を付与します。

**アクセス許可の詳細**

この AWS 管理ポリシーには、次のアクセス許可が含まれます。
+ `s3` — プリンシパルが「sagemaker-\$1/Canvas」ディレクトリの Amazon S3 バケットにオブジェクトを追加したり取得したりすることを許可します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3CanvasAccess",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::sagemaker-*/Canvas",
                "arn:aws:s3:::sagemaker-*/Canvas/*"
            ]
        },
        {
            "Sid": "S3BucketAccess",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::sagemaker-*"
            ]
        }
    ]
}
```

------

## AWS マネージドポリシー: AmazonSageMakerCanvasForecastAccess
<a name="security-iam-awsmanpol-AmazonSageMakerCanvasForecastAccess"></a>

このポリシーは、Amazon Forecast で Amazon SageMaker Canvas を使用するために一般的に必要となるアクセス許可を付与します。

**アクセス許可の詳細**

この AWS 管理ポリシーには、次のアクセス許可が含まれます。
+ `s3` — Amazon S3 バケットに対するオブジェクトの追加と取得をプリンシパルに許可します。これらのオブジェクトは、名前が「sagemaker-」で始まるものに限定されます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::sagemaker-*/Canvas",
                "arn:aws:s3:::sagemaker-*/canvas"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::sagemaker-*"
            ]
        }
    ]
}
```

------

## AWS マネージドポリシー: AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy"></a>

このポリシーは、Amazon SageMaker Canvas が大規模なデータ処理に使用する Amazon S3 などの AWS サービスに対するアクセス許可を Amazon EMR Serverless に付与します。 Amazon SageMaker 

**アクセス許可の詳細**

この AWS 管理ポリシーには、次のアクセス許可が含まれます。
+ `s3` — Amazon S3 バケットに対するオブジェクトの追加と取得をプリンシパルに許可します。これらのオブジェクトは、大文字と小文字を区別せずに、名前に「SageMaker」または「sagemaker」が含まれるもの、または「SageMaker」でタグ付けされたものに限定されます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3Operations",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:GetBucketCors",
                "s3:GetBucketLocation",
                "s3:AbortMultipartUpload"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*sagemaker*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "S3GetObjectOperation",
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "s3:ExistingObjectTag/SageMaker": "true"
                },
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "S3ListOperations",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        }
    ]
}
```

------

## AWS マネージドポリシー: AmazonSageMakerCanvasSMDataScienceAssistantAccess
<a name="security-iam-awsmanpol-AmazonSageMakerCanvasSMDataScienceAssistantAccess"></a>

このポリシーは、Amazon SageMaker Canvas のユーザーが Amazon Q Developer との会話を開始するためのアクセス許可を付与します。この機能には、Amazon Q Developer と SageMaker AI Data Science Assistant サービスの両方に対するアクセス許可が必要です。

**アクセス許可の詳細**

この AWS 管理ポリシーには、次のアクセス許可が含まれます。
+ `q` – プリンシパルが Amazon Q Developer にプロンプトを送信できるようにします。
+ `sagemaker-data-science-assistant` – プリンシパルが SageMaker Canvas Data Science Assistant サービスにプロンプトを送信できるようにします。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SageMakerDataScienceAssistantAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker-data-science-assistant:SendConversation"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "AmazonQDeveloperAccess",
            "Effect": "Allow",
            "Action": [
                "q:SendMessage",
                "q:StartConversation"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        }
    ]
}
```

------

## Amazon SageMaker AI による Amazon SageMaker Canvas マネージドポリシーの更新
<a name="security-iam-awsmanpol-canvas-updates"></a>

このサービスがこれらの変更の追跡を開始してからの SageMaker Canvas の AWS マネージドポリシーの更新に関する詳細を表示します。


| ポリシー | バージョン | 変更 | 日付 | 
| --- | --- | --- | --- | 
|  [AmazonSageMakerCanvasSMDataScienceAssistantAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasSMDataScienceAssistantAccess) – 既存ポリシーへの更新  | 2 |  `q:StartConversation` アクセス許可を追加します。  | 2025 年 1 月 14 日 | 
|  [AmazonSageMakerCanvasSMDataScienceAssistantAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasSMDataScienceAssistantAccess) – 新しいポリシー  | 1 |  初期ポリシー  | 2024/12/04 | 
|  [AmazonSageMakerCanvasDataPrepFullAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasDataPrepFullAccess) – 既存ポリシーへの更新  | 4 |  `IAMPassOperationForEMRServerless` アクセス許可にリソースを追加します。  | 2024年8月16日 | 
|  [AmazonSageMakerCanvasFullAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess) – 既存ポリシーへの更新  | 11 |  `IAMPassOperationForEMRServerless` アクセス許可にリソースを追加します。  | 2024 年 8 月 15 日 | 
|  [AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy](#security-iam-awsmanpol-AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy) – 新しいポリシー  | 1 |  初期ポリシー  | 2024 年 7 月 26 日 | 
|  AmazonSageMakerCanvasDataPrepFullAccess - 既存のポリシーの更新  | 3 |  `emr-serverless:CreateApplication`、`emr-serverless:ListApplications`、`emr-serverless:UpdateApplication`、`emr-serverless:GetApplication`、`emr-serverless:StartJobRun`、`emr-serverless:ListJobRuns`、`emr-serverless:GetJobRun`、`emr-serverless:CancelJobRun`、`emr-serverless:TagResource` のアクセス許可を追加します。  | 2024 年 7 月 18 日 | 
| AmazonSageMakerCanvasFullAccess - 既存ポリシーの更新 | 10 |  `application-autoscaling:DescribeScalingActivities`、`iam:PassRole`、`kms:DescribeKey`、`quicksight:ListNamespaces` のアクセス許可を追加します。 `sagemaker:CreateTrainingJob`、`sagemaker:CreateTransformJob`、`sagemaker:DescribeTrainingJob`、`sagemaker:DescribeTransformJob`、`sagemaker:StopAutoMLJob`、`sagemaker:StopTrainingJob`、`sagemaker:StopTransformJob` のアクセス許可を追加します。 `athena:ListTableMetadata`、`athena:ListDataCatalogs`、および `athena:ListDatabases` アクセス許可を追加します。 `glue:GetDatabases`、`glue:GetPartitions`、および `glue:GetTables` アクセス許可を追加します。 `emr-serverless:CreateApplication`、`emr-serverless:ListApplications`、`emr-serverless:UpdateApplication`、`emr-serverless:StopApplication`、`emr-serverless:GetApplication`、`emr-serverless:StartApplication`、`emr-serverless:StartJobRun`、`emr-serverless:ListJobRuns`、`emr-serverless:GetJobRun`、`emr-serverless:CancelJobRun`、`emr-serverless:TagResource` のアクセス許可を追加します。  | 2024 年 7 月 9 日 | 
|  [AmazonSageMakerCanvasBedrockAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasBedrockAccess) – 新しいポリシー  | 1 |  初期ポリシー  | 2024 年 2 月 2 日 | 
| AmazonSageMakerCanvasFullAccess - 既存ポリシーの更新 | 9 |  `sagemaker:ListEndpoints` アクセス許可を追加します。  | 2024 年 1 月 24 日 | 
| AmazonSageMakerCanvasFullAccess - 既存ポリシーの更新 | 8 |  `sagemaker:UpdateEndpointWeightsAndCapacities`、`sagemaker:DescribeEndpointConfig`、`sagemaker:InvokeEndpointAsync`、`athena:ListDataCatalogs`、`athena:GetQueryExecution`、`athena:GetQueryResults`、`athena:StartQueryExecution`、`athena:StopQueryExecution`、`athena:ListDatabases`、`cloudwatch:DescribeAlarms`、`cloudwatch:PutMetricAlarm`、`cloudwatch:DeleteAlarms`、`iam:CreateServiceLinkedRole` のアクセス許可を追加します。  | 2023 年 12 月 8 日 | 
|  AmazonSageMakerCanvasDataPrepFullAccess - 既存のポリシーの更新  | 2 |  以前のポリシーバージョン 1 の意図を強化するための小規模な更新です。アクセス許可の追加や削除はありません。  | 2023 年 12 月 7 日 | 
|  [AmazonSageMakerCanvasAIServicesAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess) – 既存ポリシーへの更新  | 3 |  `bedrock:InvokeModelWithResponseStream`、`bedrock:GetModelCustomizationJob`、`bedrock:StopModelCustomizationJob`、`bedrock:GetCustomModel`、`bedrock:GetProvisionedModelThroughput`、`bedrock:DeleteProvisionedModelThroughput`、`bedrock:TagResource`、`bedrock:CreateModelCustomizationJob`、`bedrock:CreateProvisionedModelThroughput`、`iam:PassRole` のアクセス許可を追加します。  | 2023 年 11 月 29 日 | 
|  AmazonSageMakerCanvasDataPrepFullAccess - 新しいポリシー  | 1 |  初期ポリシー  | 2023 年 10 月 26 日 | 
|  [AmazonSageMakerCanvasDirectDeployAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasDirectDeployAccess) – 新しいポリシー  | 1 |  初期ポリシー  | 2023 年 10 月 6 日 | 
| AmazonSageMakerCanvasFullAccess - 既存ポリシーの更新 | 7 |  `sagemaker:DeleteEndpointConfig`、`sagemaker:DeleteModel`、および `sagemaker:InvokeEndpoint` アクセス許可を追加します。また、特定のリージョンの JumpStart リソースに対する `s3:GetObject` アクセス許可も追加します。  | 2023 年 9 月 29 日 | 
|  AmazonSageMakerCanvasAIServicesAccess - 既存のポリシーの更新  | 2 |  `bedrock:InvokeModel` と `bedrock:ListFoundationModels` のアクセス許可を追加します。  | 2023 年 9 月 29 日 | 
| AmazonSageMakerCanvasFullAccess - 既存ポリシーの更新 | 6 |  `rds:DescribeDBInstances` アクセス許可を追加します。  | 2023 年 8 月 29 日 | 
| AmazonSageMakerCanvasFullAccess - 既存ポリシーの更新 | 5 |  `application-autoscaling:PutScalingPolicy` と `application-autoscaling:RegisterScalableTarget` のアクセス許可を追加します。  | 2023 年 7 月 24 日 | 
| AmazonSageMakerCanvasFullAccess - 既存ポリシーの更新 | 4 |  `sagemaker:CreateModelPackage`、`sagemaker:CreateModelPackageGroup`、`sagemaker:DescribeModelPackage`、`sagemaker:DescribeModelPackageGroup`、`sagemaker:ListModelPackages`、`sagemaker:ListModelPackageGroups` のアクセス許可を追加します。  | 2023 年 5 月 4 日 | 
| AmazonSageMakerCanvasFullAccess - 既存ポリシーの更新  | 3 |  `sagemaker:CreateAutoMLJobV2`、`sagemaker:DescribeAutoMLJobV2`、および `glue:SearchTables` アクセス許可を追加します。  | 2023 年 3 月 24 日 | 
|  AmazonSageMakerCanvasAIServicesAccess - 新規ポリシー  | 1 |  初期ポリシー  | 2023 年 3 月 23 日 | 
| AmazonSageMakerCanvasFullAccess - 既存ポリシーの更新 | 2 |  `forecast:DeleteResourceTree` アクセス許可を追加します。  | 2022 年 12 月 6 日 | 
| AmazonSageMakerCanvasFullAccess - 新規ポリシー | 1 |  初期ポリシー  | 2022 年 9 月 8 日 | 
|  [AmazonSageMakerCanvasForecastAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasForecastAccess) – 新しいポリシー  | 1 |  初期ポリシー  | 2022 年 8 月 24 日 | 

# AWS Amazon SageMaker Feature Store の マネージドポリシー
<a name="security-iam-awsmanpol-feature-store"></a>

これらの AWS 管理ポリシーは、Feature Store を使用するために必要なアクセス許可を追加します。ポリシーは AWS アカウントで使用でき、SageMaker AI コンソールから作成された実行ロールによって使用されます。

**Topics**
+ [AWS マネージドポリシー: AmazonSageMakerFeatureStoreAccess](#security-iam-awsmanpol-AmazonSageMakerFeatureStoreAccess)
+ [Amazon SageMaker AI による Amazon SageMaker Feature Store マネージドポリシーの更新](#security-iam-awsmanpol-feature-store-updates)

## AWS マネージドポリシー: AmazonSageMakerFeatureStoreAccess
<a name="security-iam-awsmanpol-AmazonSageMakerFeatureStoreAccess"></a>

このポリシーは、Amazon SageMaker Feature Store 特徴量グループのオフラインストアを有効にするために必要なアクセス許可を付与します。

**アクセス許可の詳細**

この AWS 管理ポリシーには、次のアクセス許可が含まれます。
+ `s3` - オフラインストアの Amazon S3 バケットにデータを書き込むことをプリンシパルに許可します。このバケットは、名前に「SageMaker」、「Sagemaker」または「sagemaker」が含まれるものに限定されます。
+ `s3` — オフラインストア S3 バケットの `metadata` フォルダに保存されている既存のマニフェストファイルを読み取ることをプリンシパルに許可します。
+ `glue` – プリンシパルが Glue AWS テーブルを読み取って更新できるようにします。これらのアクセス許可は `sagemaker_featurestore` フォルダ内のテーブルに限定されます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetBucketAcl",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*/metadata/*",
                "arn:aws:s3:::*Sagemaker*/metadata/*",
                "arn:aws:s3:::*sagemaker*/metadata/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "glue:GetTable",
                "glue:UpdateTable"
            ],
            "Resource": [
                "arn:aws:glue:*:*:catalog",
                "arn:aws:glue:*:*:database/sagemaker_featurestore",
                "arn:aws:glue:*:*:table/sagemaker_featurestore/*"
            ]
        }
    ]
}
```

------

## Amazon SageMaker AI による Amazon SageMaker Feature Store マネージドポリシーの更新
<a name="security-iam-awsmanpol-feature-store-updates"></a>

このサービスがこれらの変更の追跡を開始してからの Feature Store の AWS マネージドポリシーの更新に関する詳細を表示します。このページの変更に関する自動通知については、「SageMaker AI [ドキュメント履歴](doc-history.md)」ページの RSS フィードをサブスクライブしてください。


| ポリシー | バージョン | 変更 | 日付 | 
| --- | --- | --- | --- | 
|  [AmazonSageMakerFeatureStoreAccess](#security-iam-awsmanpol-AmazonSageMakerFeatureStoreAccess) – 既存ポリシーへの更新  | 3 |  `s3:GetObject`、`glue:GetTable`、および `glue:UpdateTable` アクセス許可を追加します。  | 2022 年 12 月 5 日 | 
| AmazonSageMakerFeatureStoreAccess - 既存ポリシーの更新 | 2 |  `s3:PutObjectAcl` アクセス許可を追加します。  | 2021 年 2 月 23 日 | 
| AmazonSageMakerFeatureStoreAccess - 新規ポリシー | 1 |  初期ポリシー  | 2020 年 12 月 1 日 | 

# AWS Amazon SageMaker 地理空間の マネージドポリシー
<a name="security-iam-awsmanpol-geospatial"></a>

これらの AWS 管理ポリシーは、SageMaker 地理空間を使用するために必要なアクセス許可を追加します。ポリシーは AWS アカウントで使用でき、SageMaker AI コンソールから作成された実行ロールによって使用されます。

**Topics**
+ [AWS マネージドポリシー: AmazonSageMakerGeospatialFullAccess](#security-iam-awsmanpol-AmazonSageMakerGeospatialFullAccess)
+ [AWS マネージドポリシー: AmazonSageMakerGeospatialExecutionRole](#security-iam-awsmanpol-AmazonSageMakerGeospatialExecutionRole)
+ [Amazon SageMaker AI による Amazon SageMaker 地理空間マネージドポリシーの更新](#security-iam-awsmanpol-geospatial-updates)

## AWS マネージドポリシー: AmazonSageMakerGeospatialFullAccess
<a name="security-iam-awsmanpol-AmazonSageMakerGeospatialFullAccess"></a>

このポリシーは、 AWS マネジメントコンソール と SDK 経由で Amazon SageMaker 地理空間にフルアクセスできるようにするアクセス許可を付与します。

**アクセス許可の詳細**

この AWS 管理ポリシーには、次のアクセス許可が含まれます。
+ `sagemaker-geospatial` – SageMaker の地理空間リソースへのフルアクセスをプリンシパルに許可します。
+ `iam` — IAM ロールを SageMaker 地理空間に渡すことをプリンシパルに許可します。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "sagemaker-geospatial:*",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": ["iam:PassRole"],
      "Resource": "arn:aws:iam::*:role/*",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": [
            "sagemaker-geospatial.amazonaws.com"
           ]
        }
      }
    }
  ]
}
```

------

## AWS マネージドポリシー: AmazonSageMakerGeospatialExecutionRole
<a name="security-iam-awsmanpol-AmazonSageMakerGeospatialExecutionRole"></a>

このポリシーは、SageMaker 地理空間を使用するために一般的に必要とされるアクセス許可を付与します。

**アクセス許可の詳細**

この AWS 管理ポリシーには、次のアクセス許可が含まれます。
+ `s3` — Amazon S3 バケットに対するオブジェクトの追加と取得をプリンシパルに許可します。これは、名前に「SageMaker」、「Sagemaker」または「sagemaker」が含まれるオブジェクトに限定されます。
+ `sagemaker-geospatial` — `GetEarthObservationJob` API を通じて地球観測ジョブにアクセスすることをプリンシパルに許可します。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
          "s3:AbortMultipartUpload",
          "s3:PutObject",
          "s3:GetObject",
          "s3:ListBucketMultipartUploads"
      ],
      "Resource": [
        "arn:aws:s3:::*SageMaker*",
        "arn:aws:s3:::*Sagemaker*",
        "arn:aws:s3:::*sagemaker*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "sagemaker-geospatial:GetEarthObservationJob",
      "Resource": "arn:aws:sagemaker-geospatial:*:*:earth-observation-job/*"
    },
    {
      "Effect": "Allow",
      "Action": "sagemaker-geospatial:GetRasterDataCollection",
      "Resource": "arn:aws:sagemaker-geospatial:*:*:raster-data-collection/*"
    }
  ]
}
```

------

## Amazon SageMaker AI による Amazon SageMaker 地理空間マネージドポリシーの更新
<a name="security-iam-awsmanpol-geospatial-updates"></a>

このサービスがこれらの変更の追跡を開始してからの SageMaker 地理空間の AWS マネージドポリシーの更新に関する詳細を表示します。


| ポリシー | バージョン | 変更 | 日付 | 
| --- | --- | --- | --- | 
|  [AmazonSageMakerGeospatialExecutionRole](#security-iam-awsmanpol-AmazonSageMakerGeospatialExecutionRole) – ポリシーを更新  | 2 |  `sagemaker-geospatial:GetRasterDataCollection` アクセス許可を追加します。  | 2023 年 5 月 10 日 | 
|  [AmazonSageMakerGeospatialFullAccess](#security-iam-awsmanpol-AmazonSageMakerGeospatialFullAccess) – 新しいポリシー  | 1 |  初期ポリシー  | 2022 年 11 月 30 日 | 
| AmazonSageMakerGeospatialExecutionRole - 新規ポリシー | 1 |  初期ポリシー  | 2022 年 11 月 30 日 | 

# AWS Amazon SageMaker Ground Truth の管理ポリシー
<a name="security-iam-awsmanpol-ground-truth"></a>

これらの AWS 管理ポリシーは、SageMaker AI Ground Truth を使用するために必要なアクセス許可を追加します。ポリシーは AWS アカウントで使用でき、SageMaker AI コンソールから作成された実行ロールによって使用されます。

**Topics**
+ [AWS マネージドポリシー: AmazonSageMakerGroundTruthExecution](#security-iam-awsmanpol-gt-AmazonSageMakerGroundTruthExecution)
+ [Amazon SageMaker AI による SageMaker Ground Truth マネージドポリシーの更新](#security-iam-awsmanpol-groundtruth-updates)

## AWS マネージドポリシー: AmazonSageMakerGroundTruthExecution
<a name="security-iam-awsmanpol-gt-AmazonSageMakerGroundTruthExecution"></a>

この AWS 管理ポリシーは、SageMaker AI Ground Truth を使用するのに一般的に必要なアクセス許可を付与します。

**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。
+ `lambda` — 名前に「sagemaker」 (大文字と小文字を区別しない)、「gtRecipe」、または「LabelingFunction」を含む Lambda 関数を呼び出すことをプリンシパルに許可します。
+ `s3` — Amazon S3 バケットに対するオブジェクトの追加と取得をプリンシパルに許可します。これらのオブジェクトは、名前に「groundtruth」または「sagemaker」 (大文字と小文字を区別しない) が含まれているか、「SageMaker」のタグが付いたものに限定されます。
+ `cloudwatch` — Cloud Watch メトリクスの投稿をプリンシパルに許可します。
+ `logs` – ログストリームの作成とアクセス、ログイベントの投稿をプリンシパルに許可します。
+ `sqs` — Amazon SQS キューの作成と Amazon SQS メッセージの送受信をプリンシパルに許可します。これらのアクセス許可は、名前に「GroundTruth」が含まれているキューに限定されます。
+ `sns` — 名前に「groundtruth」または「sagemaker」 (大文字と小文字を区別しない) が含まれている Amazon SNS トピックに対するサブスクリプションとメッセージの発行をプリンシパルに許可します。
+ `ec2` — VPC エンドポイントサービス名に「sagemaker-task-resources」または「labeling」が含まれている Amazon VPC エンドポイントを作成、説明、削除することをプリンシパルに許可します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CustomLabelingJobs",
            "Effect": "Allow",
            "Action": [
                "lambda:InvokeFunction"
            ],
            "Resource": [
                "arn:aws:lambda:*:*:function:*GtRecipe*",
                "arn:aws:lambda:*:*:function:*LabelingFunction*",
                "arn:aws:lambda:*:*:function:*SageMaker*",
                "arn:aws:lambda:*:*:function:*sagemaker*",
                "arn:aws:lambda:*:*:function:*Sagemaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::*GroundTruth*",
                "arn:aws:s3:::*Groundtruth*",
                "arn:aws:s3:::*groundtruth*",
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "s3:ExistingObjectTag/SageMaker": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:ListBucket"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CloudWatch",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        },
        {
            "Sid": "StreamingQueue",
            "Effect": "Allow",
            "Action": [
                "sqs:CreateQueue",
                "sqs:DeleteMessage",
                "sqs:GetQueueAttributes",
                "sqs:GetQueueUrl",
                "sqs:ReceiveMessage",
                "sqs:SendMessage",
                "sqs:SetQueueAttributes"
            ],
            "Resource": "arn:aws:sqs:*:*:*GroundTruth*"
        },
        {
            "Sid": "StreamingTopicSubscribe",
            "Effect": "Allow",
            "Action": "sns:Subscribe",
            "Resource": [
                "arn:aws:sns:*:*:*GroundTruth*",
                "arn:aws:sns:*:*:*Groundtruth*",
                "arn:aws:sns:*:*:*groundTruth*",
                "arn:aws:sns:*:*:*groundtruth*",
                "arn:aws:sns:*:*:*SageMaker*",
                "arn:aws:sns:*:*:*Sagemaker*",
                "arn:aws:sns:*:*:*sageMaker*",
                "arn:aws:sns:*:*:*sagemaker*"
            ],
            "Condition": {
                "StringEquals": {
                    "sns:Protocol": "sqs"
                },
                "StringLike": {
                    "sns:Endpoint": "arn:aws:sqs:*:*:*GroundTruth*"
                }
            }
        },
        {
            "Sid": "StreamingTopic",
            "Effect": "Allow",
            "Action": [
                "sns:Publish"
            ],
            "Resource": [
                "arn:aws:sns:*:*:*GroundTruth*",
                "arn:aws:sns:*:*:*Groundtruth*",
                "arn:aws:sns:*:*:*groundTruth*",
                "arn:aws:sns:*:*:*groundtruth*",
                "arn:aws:sns:*:*:*SageMaker*",
                "arn:aws:sns:*:*:*Sagemaker*",
                "arn:aws:sns:*:*:*sageMaker*",
                "arn:aws:sns:*:*:*sagemaker*"
            ]
        },
        {
            "Sid": "StreamingTopicUnsubscribe",
            "Effect": "Allow",
            "Action": [
                "sns:Unsubscribe"
            ],
            "Resource": "*"
        },
        {
            "Sid": "WorkforceVPC",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateVpcEndpoint",
                "ec2:DescribeVpcEndpoints",
                "ec2:DeleteVpcEndpoints"
            ],
            "Resource": "*",
            "Condition": {
                "StringLikeIfExists": {
                    "ec2:VpceServiceName": [
                        "*sagemaker-task-resources*",
                        "aws.sagemaker*labeling*"
                    ]
                }
            }
        }
    ]
}
```

------

## Amazon SageMaker AI による SageMaker Ground Truth マネージドポリシーの更新
<a name="security-iam-awsmanpol-groundtruth-updates"></a>

このサービスがこれらの変更の追跡を開始してからの Amazon SageMaker AI Ground Truth の AWS マネージドポリシーの更新に関する詳細を表示します。


| ポリシー | バージョン | 変更 | 日付 | 
| --- | --- | --- | --- | 
|  [AmazonSageMakerGroundTruthExecution](#security-iam-awsmanpol-gt-AmazonSageMakerGroundTruthExecution) – 既存ポリシーへの更新  | 3 |  `ec2:CreateVpcEndpoint`、`ec2:DescribeVpcEndpoints`、および `ec2:DeleteVpcEndpoints` アクセス許可を追加します。  | 2022 年 4 月 29 日 | 
| AmazonSageMakerGroundTruthExecution - 既存ポリシーの更新 | 2 |  `sqs:SendMessageBatch` アクセス許可を削除します。  | 2022 年 4 月 11 日 | 
| AmazonSageMakerGroundTruthExecution - 新規ポリシー | 1 |  初期ポリシー  | 2020 年 7 月 20 日 | 

# AWS Amazon SageMaker HyperPod の マネージドポリシー HyperPod
<a name="security-iam-awsmanpol-hyperpod"></a>

次の AWS 管理ポリシーは、Amazon SageMaker HyperPod を使用するために必要なアクセス許可を追加します。ポリシーは AWS アカウントで使用でき、SageMaker AI コンソールまたは HyperPod サービスにリンクされたロールから作成された実行ロールによって使用されます。

**Topics**
+ [AWS マネージドポリシー: AmazonSageMakerHyperPodTrainingOperatorAccess](security-iam-awsmanpol-AmazonSageMakerHyperPodTrainingOperatorAccess.md)
+ [AWS マネージドポリシー: AmazonSageMakerHyperPodObservabilityAdminAccess](security-iam-awsmanpol-AmazonSageMakerHyperPodObservabilityAdminAccess.md)
+ [AWS マネージドポリシー: AmazonSageMakerHyperPodServiceRolePolicy](security-iam-awsmanpol-AmazonSageMakerHyperPodServiceRolePolicy.md)
+ [AWS マネージドポリシー: AmazonSageMakerClusterInstanceRolePolicy](security-iam-awsmanpol-AmazonSageMakerClusterInstanceRolePolicy.md)
+ [Amazon SageMaker AI による SageMaker HyperPod マネージドポリシーの更新](#security-iam-awsmanpol-hyperpod-updates)

# AWS マネージドポリシー: AmazonSageMakerHyperPodTrainingOperatorAccess
<a name="security-iam-awsmanpol-AmazonSageMakerHyperPodTrainingOperatorAccess"></a>

このポリシーは、SageMaker HyperPod トレーニングオペレーターをセットアップするために必要な管理アクセス許可を提供します。これにより、SageMaker HyperPod アドオンと Amazon EKS アドオンにアクセスできます。このポリシーには、アカウントの SageMaker HyperPod リソースを記述するアクセス許可が含まれています。

**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。
+ `sagemaker:DescribeClusterNode` - HyperPod クラスターに関する情報を返すことをユーザーに許可します。

このポリシーのアクセス許可を確認するには、「 AWS マネージドポリシーリファレンス」の[AmazonSageMakerHyperPodTrainingOperatorAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerHyperPodTrainingOperatorAccess.html)」を参照してください。

# AWS マネージドポリシー: AmazonSageMakerHyperPodObservabilityAdminAccess
<a name="security-iam-awsmanpol-AmazonSageMakerHyperPodObservabilityAdminAccess"></a>

このポリシーは、Amazon SageMaker HyperPod オブザーバビリティの設定に必要な管理者権限を提供します。これにより、Amazon Managed Service for Prometheus、Amazon Managed Grafana、Amazon Elastic Kubernetes Service のアドオンにアクセスできます。このポリシーには、アカウント内のすべての Amazon Managed Grafana ワークスペースで ServiceAccountTokens を介した Grafana HTTP APIs への広範なアクセスも含まれています。

**アクセス許可の詳細**  
次のリストは、このポリシーに含まれるアクセス許可の概要を示しています。
+ `prometheus` – Amazon Managed Service for Prometheus ワークスペースとルールグループの作成と管理
+ `grafana` – Amazon Managed Grafana ワークスペースとサービスアカウントを作成および管理します。
+ `eks` – `amazon-sagemaker-hyperpod-observability` Amazon EKS アドオンを作成および管理します。
+ `iam` – 特定の IAM サービスロールを Amazon Managed Grafana と Amazon EKS に渡します
+ `sagemaker` – SageMaker HyperPod クラスターを一覧表示して説明します。
+ `sso` – Amazon Managed Grafana セットアップ用の IAM アイデンティティセンターアプリケーションインスタンスを作成および管理します。
+ `tag` – Amazon Managed Service for Prometheus、Amazon Managed Grafana、Amazon EKS のアドオンリソースにタグを付けます。

このポリシーのアクセス許可については、「[AmazonSageMakerHyperPodObservabilityAdminAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerHyperPodObservabilityAdminAccess.html)」を参照してください。

# AWS マネージドポリシー: AmazonSageMakerHyperPodServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerHyperPodServiceRolePolicy"></a>

SageMaker HyperPod は、`AmazonSageMakerHyperPodServiceRolePolicy` がアタッチされた `AWSServiceRoleForSageMakerHyperPod` というサービスにリンクされたロールを作成して使用します。このポリシーは、Amazon EKS や Amazon CloudWatch などの関連サービスに対するアクセス許可を Amazon SageMaker HyperPod に付与します。 AWS Amazon CloudWatch

このサービスにリンクされたロールを使用すると、必要なアクセス許可を手動で追加する必要がないため、SageMaker HyperPod の設定が容易になります。SageMaker HyperPod はサービスにリンクされたロールのアクセス許可を定義し、特に定義されていない限り、SageMaker HyperPod のみがそのロールを引き受けることができます。定義される許可は信頼ポリシーと許可ポリシーに含まれており、その許可ポリシーを他の IAM エンティティにアタッチすることはできません。

サービスリンクロールを削除するには、最初に関連リソースを削除する必要があります。これにより、リソースへの意図しないアクセスによる許可の削除が防止され、SageMaker HyperPod リソースが保護されます。

サービスにリンクされたロールをサポートする他のサービスの詳細については、[AWS 「IAM と連携するサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照し、「サービス**にリンクされたロール**」列で**「はい**」を持つサービスを探します。サービスリンクロールに関するドキュメントをサービスで表示するには、リンクで **[はい]** を選択します。

`AmazonSageMakerHyperPodServiceRolePolicy` により、SageMaker HyperPod はユーザーに代わって指定されたリソースに対して次のアクションを実行できます。

**アクセス許可の詳細**

このサービスにリンクされたロールには、以下のアクセス許可が含まれます。
+ `eks` – プリンシパルが Amazon Elastic Kubernetes Service (EKS) クラスター情報を読み取ることを許可します。
+ `logs` – プリンシパルが Amazon CloudWatch ログストリームを `/aws/sagemaker/Clusters` に発行することを許可します。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "EKSClusterDescribePermissions",
      "Effect": "Allow",
      "Action": "eks:DescribeCluster",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "CloudWatchLogGroupPermissions",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup"
      ],
      "Resource": "arn:aws:logs:*:*:log-group:/aws/sagemaker/Clusters/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "CloudWatchLogStreamPermissions",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": "arn:aws:logs:*:*:log-group:/aws/sagemaker/Clusters/*:log-stream:*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    }
  ]
}
```

------

ユーザー、グループ、またはロールにサービスリンクロールの作成、編集、または削除を許可するには、アクセス許可を設定する必要があります。詳細については*IAM ユーザーガイド* の「[サービスにリンクされた役割のアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)」を参照してください。

## SageMaker HyperPod 向けのサービスにリンクされたロールの作成
<a name="create-slr"></a>

サービスリンクロールを手動で作成する必要はありません。SageMaker AI コンソール、、 AWS CLIまたは AWS SDKs を使用して SageMaker HyperPod クラスターを作成すると、SageMaker HyperPod によってサービスにリンクされたロールが作成されます。

このサービスにリンクされたロールを削除した後、再度作成する必要がある場合は、同じ (新しい SageMaker HyperPod クラスターの作成) プロセスを使用すると、アカウントでロールを再作成できます。

## SageMaker HyperPod 向けのサービスにリンクされたロールの編集
<a name="edit-slr"></a>

SageMaker HyperPod では、`AWSServiceRoleForSageMakerHyperPod` サービスにリンクされたロールは編集できません。サービスリンクロールの作成後は、さまざまなエンティティがロールを参照する可能性があるため、ロール名を変更することはできません。ただし、IAM を使用してロールの説明を編集することはできます。詳細については、「*IAM ユーザーガイド*」の「[サービスリンクロールの編集](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)」を参照してください。

## SageMaker HyperPod のサービスにリンクされたロールの削除
<a name="delete-slr"></a>

サービスリンクロールを必要とする機能やサービスが不要になった場合は、ロールを削除することをお勧めします。そうすることで、積極的にモニタリングまたは保守されていない未使用のエンティティを排除できます。ただし、手動で削除する前に、サービスリンクロールのリソースをクリーンアップする必要があります。

**サービスにリンクされたロールを使用して SageMaker HyperPod クラスターリソースを削除するには**

SageMaker HyperPod クラスターリソースを削除するには、次のいずれかのオプションを使用します。
+ SageMaker AI コンソールを使用して [SageMaker HyperPod クラスターを削除する](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-operate-slurm-console-ui.html#sagemaker-hyperpod-operate-slurm-console-ui-delete-cluster)
+ を使用して [SageMaker HyperPod クラスターを削除する](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-operate-slurm-cli-command.html#sagemaker-hyperpod-operate-slurm-cli-command-delete-cluster) AWS CLI

**注記**  
リソースの削除を試行する際に SageMaker HyperPod サービスがロールを使用している場合、削除が失敗する可能性があります。その場合は、数分待ってからオペレーションを再試行してください。

**IAM を使用してサービスリンクロールを手動で削除するには**

IAM コンソール、 AWS CLI、または AWS API を使用して、`AWSServiceRoleForSageMakerHyperPod`サービスにリンクされたロールを削除します。詳細については、「*IAM ユーザーガイド*」の「[サービスにリンクされたロールの削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)」を参照してください。

## SageMaker HyperPod のサービスにリンクされたロールでサポートされているリージョン
<a name="slr-regions"></a>

SageMaker HyperPod は、このサービスが利用可能なすべてのリージョンでサービスにリンクされたロールの使用をサポートしています。詳細については、「[Prerequisites for SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-prerequisites.html)」を参照してください。

# AWS マネージドポリシー: AmazonSageMakerClusterInstanceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerClusterInstanceRolePolicy"></a>

このポリシーは、Amazon SageMaker HyperPod の使用に一般的に必要となるアクセス許可を付与します。

**アクセス許可の詳細**

この AWS 管理ポリシーには、次のアクセス許可が含まれます。
+ `cloudwatch` – プリンシパルに Amazon CloudWatch メトリクスを投稿することを許可します。
+ `logs` – プリンシパルに CloudWatch ログ ストリームを公開することを許可します。
+ `s3` – プリンシパルがアカウントの Amazon S3 バケットからライフサイクルスクリプトファイルを一覧表示して取得することを許可します。これらのバケットは、名前が「sagemaker-」で始まるバケットに限定されます。
+ `ssmmessages` – プリンシパルが AWS Systems Managerへの接続を確率することを許可します。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Sid" : "CloudwatchLogStreamPublishPermissions",
      "Effect" : "Allow",
      "Action" : [
        "logs:PutLogEvents",
        "logs:CreateLogStream",
        "logs:DescribeLogStreams"
      ],
      "Resource" : [
        "arn:aws:logs:*:*:log-group:/aws/sagemaker/Clusters/*:log-stream:*"
      ]
    },
    {
      "Sid" : "CloudwatchLogGroupCreationPermissions",
      "Effect" : "Allow",
      "Action" : [
        "logs:CreateLogGroup"
      ],
      "Resource" : [
        "arn:aws:logs:*:*:log-group:/aws/sagemaker/Clusters/*"
      ]
    },
    {
      "Sid" : "CloudwatchPutMetricDataAccess",
      "Effect" : "Allow",
      "Action" : [
        "cloudwatch:PutMetricData"
      ],
      "Resource" : [
        "*"
      ],
      "Condition" : {
        "StringEquals" : {
          "cloudwatch:namespace" : "/aws/sagemaker/Clusters"
        }
      }
    },
    {
      "Sid" : "DataRetrievalFromS3BucketPermissions",
      "Effect" : "Allow",
      "Action" : [
        "s3:ListBucket",
        "s3:GetObject"
      ],
      "Resource" : [
        "arn:aws:s3:::sagemaker-*"
      ],
      "Condition" : {
        "StringEquals" : {
          "aws:ResourceAccount" : "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid" : "SSMConnectivityPermissions",
      "Effect" : "Allow",
      "Action" : [
        "ssmmessages:CreateControlChannel",
        "ssmmessages:CreateDataChannel",
        "ssmmessages:OpenControlChannel",
        "ssmmessages:OpenDataChannel"
      ],
      "Resource" : "*"
    }
  ]
}
```

------

## Amazon SageMaker AI による SageMaker HyperPod マネージドポリシーの更新
<a name="security-iam-awsmanpol-hyperpod-updates"></a>

このサービスがこれらの変更の追跡を開始してからの SageMaker HyperPod の AWS マネージドポリシーの更新に関する詳細を表示します。このページの変更に関する自動通知については、「SageMaker AI [ドキュメント履歴](doc-history.md)」ページの RSS フィードをサブスクライブしてください。


| ポリシー | バージョン | 変更 | 日付 | 
| --- | --- | --- | --- | 
|  [AmazonSageMakerHyperPodTrainingOperatorAccess](security-iam-awsmanpol-AmazonSageMakerHyperPodTrainingOperatorAccess.md) – 新しいポリシー  | 1 |  初期ポリシー  | 2025/08/22 | 
|  [AmazonSageMakerHyperPodObservabilityAdminAccess](security-iam-awsmanpol-AmazonSageMakerHyperPodObservabilityAdminAccess.md) – ポリシーを更新  | 2 |  `service-role` プレフィックスを含めるようにロールスコープダウンを修正するようにポリシーを更新しました。エンドツーエンドの管理アクションに必要な `eks:UpdatePodIdentityAssociation` と `eks:DeletePodIdentityAssociation` のアクセス許可も追加されました。  | 2025 年 8 月 19 日 | 
|  [AmazonSageMakerHyperPodObservabilityAdminAccess](security-iam-awsmanpol-AmazonSageMakerHyperPodObservabilityAdminAccess.md) – 新しいポリシー  | 1 |  初期ポリシー  | 2025 年 7 月 10 日 | 
|  [AmazonSageMakerHyperPodServiceRolePolicy](security-iam-awsmanpol-AmazonSageMakerHyperPodServiceRolePolicy.md) – 新しいポリシー  | 1 |  初期ポリシー  | 2024 年 9 月 9 日 | 
|  [AmazonSageMakerClusterInstanceRolePolicy](security-iam-awsmanpol-AmazonSageMakerClusterInstanceRolePolicy.md) – 新しいポリシー  | 1 |  初期ポリシー  | 2023 年 11 月 29 日 | 

# AWS SageMaker AI モデルガバナンスのマネージドポリシー
<a name="security-iam-awsmanpol-governance"></a>

この AWS 管理ポリシーは、SageMaker AI Model Governance を使用するために必要なアクセス許可を追加します。ポリシーは AWS アカウントで使用でき、SageMaker AI コンソールから作成された実行ロールによって使用されます。

**Topics**
+ [AWS マネージドポリシー: AmazonSageMakerModelGovernanceUseAccess](#security-iam-awsmanpol-governance-AmazonSageMakerModelGovernanceUseAccess)
+ [Amazon SageMaker AI での SageMaker AI Model Governance マネージドポリシーの更新](#security-iam-awsmanpol-governance-updates)

## AWS マネージドポリシー: AmazonSageMakerModelGovernanceUseAccess
<a name="security-iam-awsmanpol-governance-AmazonSageMakerModelGovernanceUseAccess"></a>

この AWS 管理ポリシーは、すべての Amazon SageMaker AI ガバナンス機能を使用するために必要なアクセス許可を付与します。ポリシーは AWS アカウントで使用できます。

このポリシーには、以下のアクセス許可が含まれています。
+ `s3` – オブジェクトを Amazon S3 バケットから取得します。取得可能なオブジェクトは、大文字と小文字を区別しない名前に `"sagemaker"` の文字列が含まれるオブジェクトに限定されます。
+ `kms` – コンテンツの暗号化に使用する AWS KMS キーを一覧表示します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowSMMonitoringModelCards",
            "Effect": "Allow",
            "Action": [
                "sagemaker:ListMonitoringAlerts",
                "sagemaker:ListMonitoringExecutions",
                "sagemaker:UpdateMonitoringAlert",
                "sagemaker:StartMonitoringSchedule",
                "sagemaker:StopMonitoringSchedule",
                "sagemaker:ListMonitoringAlertHistory",
                "sagemaker:DescribeModelPackage",
                "sagemaker:DescribeModelPackageGroup",
                "sagemaker:CreateModelCard",
                "sagemaker:DescribeModelCard",
                "sagemaker:UpdateModelCard",
                "sagemaker:DeleteModelCard",
                "sagemaker:ListModelCards",
                "sagemaker:ListModelCardVersions",
                "sagemaker:CreateModelCardExportJob",
                "sagemaker:DescribeModelCardExportJob",
                "sagemaker:ListModelCardExportJobs"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowSMTrainingModelsSearchTags",
            "Effect": "Allow",
            "Action": [
                "sagemaker:ListTrainingJobs",
                "sagemaker:DescribeTrainingJob",
                "sagemaker:ListModels",
                "sagemaker:DescribeModel",
                "sagemaker:Search",     
                "sagemaker:AddTags",
                "sagemaker:DeleteTags",
                "sagemaker:ListTags"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowKMSActions",
            "Effect": "Allow",
            "Action": [
                "kms:ListAliases"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowS3Actions",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:CreateBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
            "Sid": "AllowS3ListActions",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Amazon SageMaker AI での SageMaker AI Model Governance マネージドポリシーの更新
<a name="security-iam-awsmanpol-governance-updates"></a>

このサービスがこれらの変更の追跡を開始してからの SageMaker AI Model Governance の AWS マネージドポリシーの更新に関する詳細を表示します。このページの変更に関する自動通知については、「SageMaker AI [ドキュメント履歴](doc-history.md)」ページの RSS フィードをサブスクライブしてください。


| ポリシー | バージョン | 変更 | 日付 | 
| --- | --- | --- | --- | 
|  [AmazonSageMakerModelGovernanceUseAccess](#security-iam-awsmanpol-governance-AmazonSageMakerModelGovernanceUseAccess) – 既存ポリシーへの更新   | 3 |  ステートメント ID (`Sid`) の追加  | 2024 年 6 月 4 日 | 
| AmazonSageMakerModelGovernanceUseAccess - 既存のポリシーの更新 | 2 |  `sagemaker:DescribeModelPackage` と `DescribeModelPackageGroup` のアクセス許可を追加します。  | 2023 年 7 月 17 日 | 
| AmazonSageMakerModelGovernanceUseAccess - 新規ポリシー | 1 | 初期ポリシー | 2022 年 11 月 30 日 | 

# AWS モデルレジストリの管理ポリシー
<a name="security-iam-awsmanpol-model-registry"></a>

これらの AWS 管理ポリシーは、Model Registry を使用するために必要なアクセス許可を追加します。ポリシーは AWS アカウントで使用でき、Amazon SageMaker AI コンソールから作成された実行ロールによって使用されます。

**Topics**
+ [AWS マネージドポリシー: AmazonSageMakerModelRegistryFullAccess](#security-iam-awsmanpol-model-registry-AmazonSageMakerModelRegistryFullAccess)
+ [Amazon SageMaker でのモデルレジストリマネージドポリシーの更新](#security-iam-awsmanpol-model-registry-updates)

## AWS マネージドポリシー: AmazonSageMakerModelRegistryFullAccess
<a name="security-iam-awsmanpol-model-registry-AmazonSageMakerModelRegistryFullAccess"></a>

この AWS 管理ポリシーは、Amazon SageMaker AI ドメイン内のすべてのモデルレジストリ機能を使用するために必要なアクセス許可を付与します。このポリシーは、Model Registry 設定で Model Registry のアクセス許可を有効にする際に、実行ロールにアタッチされます。

このポリシーには、以下のアクセス許可が含まれています。
+ `ecr` — Amazon Elastic Container Registry (Amazon ECR) イメージに関する情報 (メタデータを含む) の取得をプリンシパルにを許可します。
+ `iam` — Amazon SageMaker AI サービスに実行ロールを渡すことをプリンシパルに許可します。
+ `resource-groups` – プリンシパルが作成、一覧表示、タグ付け、削除できるようにします AWS Resource Groups。
+ `s3` — モデルバージョンが保存されている Amazon Simple Storage Service (Amazon S3) バケットからオブジェクトを取得することをプリンシパルに許可します。取得可能なオブジェクトは、大文字と小文字を区別しない名前に `"sagemaker"` の文字列が含まれるオブジェクトに限定されます。
+ `sagemaker` — SageMaker モデルレジストリを使用してモデルをカタログ化、管理、デプロイすることをプリンシパルに許可します。
+ `kms` – SageMaker AI サービスプリンシパルのみが、権限の追加、データキーの生成、復号、読み取り AWS KMS キー、および「sagemaker」用にタグ付けされたキーのみを許可します。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AmazonSageMakerModelRegistrySageMakerReadPermission",
      "Effect": "Allow",
      "Action": [
        "sagemaker:DescribeAction",
        "sagemaker:DescribeInferenceRecommendationsJob",
        "sagemaker:DescribeModelPackage",
        "sagemaker:DescribeModelPackageGroup",
        "sagemaker:DescribePipeline",
        "sagemaker:DescribePipelineExecution",
        "sagemaker:ListAssociations",
        "sagemaker:ListArtifacts",
        "sagemaker:ListModelMetadata",
        "sagemaker:ListModelPackages",
        "sagemaker:Search",
        "sagemaker:GetSearchSuggestions"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmazonSageMakerModelRegistrySageMakerWritePermission",
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddTags",
        "sagemaker:CreateModel",
        "sagemaker:CreateModelPackage",
        "sagemaker:CreateModelPackageGroup",
        "sagemaker:CreateEndpoint",
        "sagemaker:CreateEndpointConfig",
        "sagemaker:CreateInferenceRecommendationsJob",
        "sagemaker:DeleteModelPackage",
        "sagemaker:DeleteModelPackageGroup",
        "sagemaker:DeleteTags",
        "sagemaker:UpdateModelPackage"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmazonSageMakerModelRegistryS3GetPermission",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::*SageMaker*",
        "arn:aws:s3:::*Sagemaker*",
        "arn:aws:s3:::*sagemaker*"
      ]
    },
    {
      "Sid": "AmazonSageMakerModelRegistryS3ListPermission",
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:ListAllMyBuckets"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmazonSageMakerModelRegistryECRReadPermission",
      "Effect": "Allow",
      "Action": [
        "ecr:BatchGetImage",
        "ecr:DescribeImages"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmazonSageMakerModelRegistryIAMPassRolePermission",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": "arn:aws:iam::*:role/*",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": "sagemaker.amazonaws.com"
        }
      }
    },
    {
      "Sid": "AmazonSageMakerModelRegistryTagReadPermission",
      "Effect": "Allow",
      "Action": [
        "tag:GetResources"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmazonSageMakerModelRegistryResourceGroupGetPermission",
      "Effect": "Allow",
      "Action": [
        "resource-groups:GetGroupQuery"
      ],
      "Resource": "arn:aws:resource-groups:*:*:group/*"
    },
    {
      "Sid": "AmazonSageMakerModelRegistryResourceGroupListPermission",
      "Effect": "Allow",
      "Action": [
        "resource-groups:ListGroupResources"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmazonSageMakerModelRegistryResourceGroupWritePermission",
      "Effect": "Allow",
      "Action": [
        "resource-groups:CreateGroup",
        "resource-groups:Tag"
      ],
      "Resource": "arn:aws:resource-groups:*:*:group/*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:TagKeys": "sagemaker:collection"
        }
      }
    },
    {
      "Sid": "AmazonSageMakerModelRegistryResourceGroupDeletePermission",
      "Effect": "Allow",
      "Action": "resource-groups:DeleteGroup",
      "Resource": "arn:aws:resource-groups:*:*:group/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/sagemaker:collection": "true"
        }
      }
    },
    {
      "Sid": "AmazonSageMakerModelRegistryResourceKMSPermission",
      "Effect": "Allow",
      "Action": [
        "kms:CreateGrant",
        "kms:DescribeKey",
        "kms:GenerateDataKey",
        "kms:Decrypt"
      ],
      "Resource": "arn:aws:kms:*:*:key/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/sagemaker" : "true"
        },
        "StringLike": {
          "kms:ViaService": "sagemaker.*.amazonaws.com"
        }
      }
    }
  ]
}
```

------

## Amazon SageMaker でのモデルレジストリマネージドポリシーの更新
<a name="security-iam-awsmanpol-model-registry-updates"></a>

このサービスがこれらの変更の追跡を開始してからの Model Registry の AWS マネージドポリシーの更新に関する詳細を表示します。このページの変更に関する自動通知については、「SageMaker AI [ドキュメント履歴](doc-history.md)」ページの RSS フィードをサブスクライブしてください。


| ポリシー | バージョン | 変更 | 日付 | 
| --- | --- | --- | --- | 
|  [AmazonSageMakerModelRegistryFullAccess](#security-iam-awsmanpol-model-registry-AmazonSageMakerModelRegistryFullAccess) – 既存ポリシーへの更新 | 2 |  `kms:CreateGrant`、`kms:DescribeKey`、`kms:GenerateDataKey`、`kms:Decrypt` のアクセス許可を追加します。  | 2024 年 6 月 6 日 | 
| AmazonSageMakerModelRegistryFullAccess - 新しいポリシー | 1 |  初期ポリシー  | 2023 年 4 月 12 日 | 

# AWS SageMaker ノートブックの マネージドポリシー
<a name="security-iam-awsmanpol-notebooks"></a>

これらの AWS 管理ポリシーは、SageMaker ノートブックを使用するために必要なアクセス許可を追加します。ポリシーは AWS アカウントで使用でき、SageMaker AI コンソールから作成された実行ロールによって使用されます。

**Topics**
+ [AWS マネージドポリシー: AmazonSageMakerNotebooksServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerNotebooksServiceRolePolicy)
+ [Amazon SageMaker AI での SageMaker AI Notebooks マネージドポリシーの更新](#security-iam-awsmanpol-notebooks-updates)

## AWS マネージドポリシー: AmazonSageMakerNotebooksServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerNotebooksServiceRolePolicy"></a>

この AWS 管理ポリシーは、Amazon SageMaker Notebooks を使用するのに一般的に必要なアクセス許可を付与します。このポリシーは、Amazon SageMaker Studio Classic にオンボードする際に作成される `AWSServiceRoleForAmazonSageMakerNotebooks` に追加されます。サービスにリンクしたロールの詳細については、「[サービスリンクロール](security_iam_service-with-iam.md#security_iam_service-with-iam-roles-service-linked)」を参照してください。詳細については、「[AmazonSageMakerNotebooksServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerNotebooksServiceRolePolicy.html)」を参照してください。

**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。
+ `elasticfilesystem` — Amazon Elastic File System (EFS) ファイルシステム、アクセスポイント、マウントターゲットの作成や削除をプリンシパルに許可します。これらは *ManagedByAmazonSageMakerResource* キーでタグ付けされたものに限られます。すべての EFS ファイルシステム、アクセスポイント、マウントターゲットを記述することをプリンシパルに許可します。EFS アクセスポイントとマウントターゲットのタグを作成または上書きすることをプリンシパルに許可します。
+ `ec2` — Amazon Elastic Compute Cloud (EC2) インスタンスのネットワークインターフェイスとセキュリティグループを作成することをプリンシパルに許可します。また、これらのリソースのタグを作成したり上書きしたりすることもプリンシパルに許可します。
+ `sso` — マネージドアプリケーションインスタンスの AWS IAM アイデンティティセンターに対する追加や削除をプリンシパルに許可します。
+ `sagemaker` – プリンシパルが SageMaker AI ユーザープロファイルと SageMaker AI スペースを作成して読み取り、SageMaker AI スペースと SageMaker AI アプリケーションを削除することを許可します。
+ `fsx` – プリンシパルが Amazon FSx for Lustre ファイルシステムを記述し、メタデータを使用してノートブックにマウントできるようにします。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {   
            "Sid": "AllowFSxDescribe",
            "Effect": "Allow",
            "Action": [
                "fsx:DescribeFileSystems"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "AllowSageMakerDeleteApp",
            "Effect": "Allow",
            "Action": [
                "sagemaker:DeleteApp"
            ],
            "Resource": "arn:aws:sagemaker:*:*:app/*"
        },
        {
            "Sid": "AllowEFSAccessPointCreation",
            "Effect": "Allow",
            "Action": "elasticfilesystem:CreateAccessPoint",
            "Resource": "arn:aws:elasticfilesystem:*:*:file-system/*",
            "Condition": {
                "StringLike": {
                    "aws:ResourceTag/ManagedByAmazonSageMakerResource": "*",
                    "aws:RequestTag/ManagedByAmazonSageMakerResource": "*"
                }
            }
        },
        {
            "Sid": "AllowEFSAccessPointDeletion",
            "Effect": "Allow",
            "Action": [
                "elasticfilesystem:DeleteAccessPoint"
            ],
            "Resource": "arn:aws:elasticfilesystem:*:*:access-point/*",
            "Condition": {
                "StringLike": {
                    "aws:ResourceTag/ManagedByAmazonSageMakerResource": "*"
                }
            }
        },
        {
            "Sid": "AllowEFSCreation",
            "Effect": "Allow",
            "Action": "elasticfilesystem:CreateFileSystem",
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "aws:RequestTag/ManagedByAmazonSageMakerResource": "*"
                }
            }
        },
        {
            "Sid": "AllowEFSMountWithDeletion",
            "Effect": "Allow",
            "Action": [
                "elasticfilesystem:CreateMountTarget",
                "elasticfilesystem:DeleteFileSystem",
                "elasticfilesystem:DeleteMountTarget"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "aws:ResourceTag/ManagedByAmazonSageMakerResource": "*"
                }
            }
        },
        {
            "Sid": "AllowEFSDescribe",
            "Effect": "Allow",
            "Action": [
                "elasticfilesystem:DescribeAccessPoints",
                "elasticfilesystem:DescribeFileSystems",
                "elasticfilesystem:DescribeMountTargets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowEFSTagging",
            "Effect": "Allow",
            "Action": "elasticfilesystem:TagResource",
            "Resource": [
                "arn:aws:elasticfilesystem:*:*:access-point/*",
                "arn:aws:elasticfilesystem:*:*:file-system/*"
            ],
            "Condition": {
                "StringLike": {
                    "aws:ResourceTag/ManagedByAmazonSageMakerResource": "*"
                }
            }
        },
        {
            "Sid": "AllowEC2Tagging",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": [
                "arn:aws:ec2:*:*:network-interface/*",
                "arn:aws:ec2:*:*:security-group/*"
            ]
        },
        {
            "Sid": "AllowEC2Operations",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:CreateSecurityGroup",
                "ec2:DeleteNetworkInterface",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcs",
                "ec2:ModifyNetworkInterfaceAttribute"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowEC2AuthZ",
            "Effect": "Allow",
            "Action": [
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateNetworkInterfacePermission",
                "ec2:DeleteNetworkInterfacePermission",
                "ec2:DeleteSecurityGroup",
                "ec2:RevokeSecurityGroupEgress",
                "ec2:RevokeSecurityGroupIngress"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "ec2:ResourceTag/ManagedByAmazonSageMakerResource": "*"
                }
            }
        },
        {
            "Sid": "AllowIdcOperations",
            "Effect": "Allow",
            "Action": [
                "sso:CreateManagedApplicationInstance",
                "sso:DeleteManagedApplicationInstance",
                "sso:GetManagedApplicationInstance"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowSagemakerProfileCreation",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateUserProfile",
                "sagemaker:DescribeUserProfile"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowSagemakerSpaceOperationsForCanvasManagedSpaces",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateSpace",
                "sagemaker:DescribeSpace",
                "sagemaker:DeleteSpace",
                "sagemaker:ListTags"
            ],
            "Resource": "arn:aws:sagemaker:*:*:space/*/CanvasManagedSpace-*"
        },
        {
            "Sid": "AllowSagemakerAddTagsForAppManagedSpaces",
            "Effect": "Allow",
            "Action": [
                "sagemaker:AddTags"
            ],
            "Resource": "arn:aws:sagemaker:*:*:space/*/CanvasManagedSpace-*",
            "Condition": {
                "StringEquals": {
                    "sagemaker:TaggingAction": "CreateSpace"
                }
            }
        }
    ]
}
```

------

## Amazon SageMaker AI での SageMaker AI Notebooks マネージドポリシーの更新
<a name="security-iam-awsmanpol-notebooks-updates"></a>

このサービスがこれらの変更の追跡を開始してからの Amazon SageMaker AI の AWS マネージドポリシーの更新に関する詳細を表示します。


| ポリシー | バージョン | 変更 | 日付 | 
| --- | --- | --- | --- | 
|  [AmazonSageMakerNotebooksServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerNotebooksServiceRolePolicy) – 既存ポリシーへの更新  | 10 |  `fsx:DescribeFileSystems` アクセス許可を追加します。  | 2024 年 11 月 14 日 | 
|  [AmazonSageMakerNotebooksServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerNotebooksServiceRolePolicy) – 既存ポリシーへの更新  | 9 |  `sagemaker:DeleteApp` アクセス許可を追加します。  | 2024 年 7 月 24 日 | 
| AmazonSageMakerNotebooksServiceRolePolicy - 既存のポリシーの更新 | 8 |  `sagemaker:CreateSpace`、`sagemaker:DescribeSpace`、`sagemaker:DeleteSpace`、`sagemaker:ListTags`、`sagemaker:AddTags` アクセス許可を追加します。  | 2024 年 5 月 22 日 | 
| AmazonSageMakerNotebooksServiceRolePolicy - 既存のポリシーの更新 | 7 |  `elasticfilesystem:TagResource` アクセス許可を追加します。  | 2023 年 3 月 9 日 | 
| AmazonSageMakerNotebooksServiceRolePolicy - 既存のポリシーの更新 | 6 |  `elasticfilesystem:CreateAccessPoint`、`elasticfilesystem:DeleteAccessPoint`、および `elasticfilesystem:DescribeAccessPoints` アクセス許可を追加します。  | 2023 年 1 月 12 日 | 
|  |  |  SageMaker AI は AWS 、管理ポリシーの変更の追跡を開始しました。  | 2021 年 6 月 1 日 | 

# AWS Amazon SageMaker パートナー AI アプリの マネージドポリシー
<a name="security-iam-awsmanpol-partner-apps"></a>

これらの AWS 管理ポリシーは、Amazon SageMaker パートナー AI アプリを使用するために必要なアクセス許可を追加します。ポリシーは AWS アカウントで使用でき、SageMaker AI コンソールから作成された実行ロールによって使用されます。

**Topics**
+ [AWS マネージドポリシー: AmazonSageMakerPartnerAppsFullAccess](#security-iam-awsmanpol-AmazonSageMakerPartnerAppsFullAccess)
+ [Amazon SageMaker AI での SageMaker パートナー AI アプリケーションマネージドポリシーの更新](#security-iam-awsmanpol-partner-apps-updates)

## AWS マネージドポリシー: AmazonSageMakerPartnerAppsFullAccess
<a name="security-iam-awsmanpol-AmazonSageMakerPartnerAppsFullAccess"></a>

Amazon SageMaker パートナー AI アプリケーションへのフル管理者アクセスを許可します。

**アクセス許可の詳細**

この AWS 管理ポリシーには、次のアクセス許可が含まれます。
+ `sagemaker` – Amazon SageMaker パートナー AI アプリケーションユーザーに、アプリケーション SDK を使用したアプリケーションへのアクセス、利用可能なアプリケーションの一覧表示、アプリケーションのウェブ UI の起動、接続のアクセス許可を付与します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AmazonSageMakerPartnerListAppsPermission",
            "Effect": "Allow",
            "Action": "sagemaker:ListPartnerApps",
            "Resource": "*"
        },
        {
            "Sid": "AmazonSageMakerPartnerAppsPermission",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreatePartnerAppPresignedUrl",
                "sagemaker:DescribePartnerApp",
                "sagemaker:CallPartnerAppApi"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            },
            "Resource": "arn:aws:sagemaker:*:*:partner-app/*"
        }
    ]
}
```

------

## Amazon SageMaker AI での SageMaker パートナー AI アプリケーションマネージドポリシーの更新
<a name="security-iam-awsmanpol-partner-apps-updates"></a>

このサービスがこれらの変更の追跡を開始してからの Partner AI Apps の AWS マネージドポリシーの更新に関する詳細を表示します。このページの変更に関する自動通知については、「SageMaker AI [ドキュメント履歴](doc-history.md)」ページの RSS フィードをサブスクライブしてください。


| ポリシー | バージョン | 変更 | 日付 | 
| --- | --- | --- | --- | 
| AmazonSageMakerPartnerAppsFullAccess - 新しいポリシー | 1 |  初期ポリシー  | 2025 年 1 月 17 日 | 

# AWS SageMaker Pipelines の管理ポリシー
<a name="security-iam-awsmanpol-pipelines"></a>

これらの AWS 管理ポリシーは、SageMaker Pipelines を使用するために必要なアクセス許可を追加します。ポリシーは AWS アカウントで使用でき、SageMaker AI コンソールから作成された実行ロールによって使用されます。

**Topics**
+ [AWS マネージドポリシー: AmazonSageMakerPipelinesIntegrations](#security-iam-awsmanpol-AmazonSageMakerPipelinesIntegrations)
+ [Amazon SageMaker AI での SageMaker AI Pipelines マネージドポリシーの更新](#security-iam-awsmanpol-pipelines-updates)

## AWS マネージドポリシー: AmazonSageMakerPipelinesIntegrations
<a name="security-iam-awsmanpol-AmazonSageMakerPipelinesIntegrations"></a>

この AWS 管理ポリシーは、SageMaker Pipelines でコールバックステップと Lambda ステップを使用するのに一般的に必要なアクセス許可を付与します。このポリシーは、Amazon SageMaker Studio Classic にオンボードする際に作成される `AmazonSageMaker-ExecutionRole` に追加されます。このポリシーは、パイプラインの作成や実行に使用されるロールにアタッチできます。

このポリシーは、 AWS Lambda 関数を呼び出すパイプラインを構築する場合や、手動の承認ステップやカスタムワークロードの実行に使用できるコールバックステップを含める場合に必要な、適切な Lambda、Amazon Simple Queue Service (Amazon SQS)、Amazon EventBridge、IAM アクセス許可を付与します。

Amazon SQS アクセス許可を使用すると、コールバックメッセージの受信に必要な Amazon SQS キューを作成し、そのキューにメッセージを送信できます。

Lambda アクセス許可を使用すると、パイプラインステップで使用される Lambda 関数を作成、更新、削除できます。また、これらの Lambda 関数を呼び出しこともできます。

このポリシーは、パイプラインの Amazon EMR ステップの実行に必要な Amazon EMR アクセス許可を付与します。

**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。
+ `elasticmapreduce` — 実行中の Amazon EMR クラスター内のステップの読み取り、追加、キャンセルを行います。新しい Amazon EMR クラスターの読み取り、作成、終了を行います。
+ `events` — `SageMakerPipelineExecutionEMRStepStatusUpdateRule` と `SageMakerPipelineExecutionEMRClusterStatusUpdateRule` という名前の EventBridge ルールに対するターゲットの読み取り、作成、更新、追加を行います。
+ `iam` – IAM ロールを AWS Lambda サービス、Amazon EMR、Amazon EC2 に渡します。
+ `lambda` - Lambda 関数の作成、読み取り、更新、削除、呼び出しを行います。これらのアクセス許可は、名前に「sagemaker」が含まれる関数に限定されます。
+ `sqs` - Amazon SQS キューを作成したり、Amazon SQS メッセージを送信したりします。これらのアクセス許可は、名前に「sagemaker」が含まれるキューに限定されます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "lambda:CreateFunction",
                "lambda:DeleteFunction",
                "lambda:GetFunction",
                "lambda:InvokeFunction",
                "lambda:UpdateFunctionCode"
            ],
            "Resource": [
                "arn:aws:lambda:*:*:function:*sagemaker*",
                "arn:aws:lambda:*:*:function:*sageMaker*",
                "arn:aws:lambda:*:*:function:*SageMaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "sqs:CreateQueue",
                "sqs:SendMessage"
            ],
            "Resource": [
                "arn:aws:sqs:*:*:*sagemaker*",
                "arn:aws:sqs:*:*:*sageMaker*",
                "arn:aws:sqs:*:*:*SageMaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::*:role/*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "lambda.amazonaws.com",
                        "elasticmapreduce.amazonaws.com",
                        "ec2.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:DescribeRule",
                "events:PutRule",
                "events:PutTargets"
            ],
            "Resource": [
                "arn:aws:events:*:*:rule/SageMakerPipelineExecutionEMRStepStatusUpdateRule",
                "arn:aws:events:*:*:rule/SageMakerPipelineExecutionEMRClusterStatusUpdateRule"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "elasticmapreduce:AddJobFlowSteps",
                "elasticmapreduce:CancelSteps",
                "elasticmapreduce:DescribeStep",
                "elasticmapreduce:RunJobFlow",
                "elasticmapreduce:DescribeCluster",
                "elasticmapreduce:TerminateJobFlows",
                "elasticmapreduce:ListSteps"
            ],
            "Resource": [
                "arn:aws:elasticmapreduce:*:*:cluster/*"
            ]
        }
    ]
}
```

------

## Amazon SageMaker AI での SageMaker AI Pipelines マネージドポリシーの更新
<a name="security-iam-awsmanpol-pipelines-updates"></a>

このサービスがこれらの変更の追跡を開始してからの Amazon SageMaker AI の AWS マネージドポリシーの更新に関する詳細を表示します。


| ポリシー | バージョン | 変更 | 日付 | 
| --- | --- | --- | --- | 
|  [AmazonSageMakerPipelinesIntegrations](#security-iam-awsmanpol-AmazonSageMakerPipelinesIntegrations) – 既存ポリシーへの更新  | 3 |   `elasticmapreduce:RunJobFlows`、`elasticmapreduce:TerminateJobFlows`、`elasticmapreduce:ListSteps`、`elasticmapreduce:DescribeCluster` のアクセス許可を追加しました。  | 2023 年 2 月 17 日 | 
|  [AmazonSageMakerPipelinesIntegrations](#security-iam-awsmanpol-AmazonSageMakerPipelinesIntegrations) – 既存ポリシーへの更新  | 2 |  `lambda:GetFunction`、`events:DescribeRule`、`events:PutRule`、`events:PutTargets`、`elasticmapreduce:AddJobFlowSteps`、`elasticmapreduce:CancelSteps`、`elasticmapreduce:DescribeStep` のアクセス許可を追加しました。  | 2022 年 4 月 20 日 | 
| AmazonSageMakerPipelinesIntegrations - 新規ポリシー | 1 |  初期ポリシー  | 2021 年 7 月 30 日 | 

# AWS SageMaker トレーニングプランの マネージドポリシー
<a name="security-iam-awsmanpol-training-plan"></a>

 この AWS 管理ポリシーは、SageMaker AI で Amazon SageMaker トレーニングプランとリザーブドキャパシティを作成および管理するために必要なアクセス許可を付与SageMaker。このポリシーは、SageMaker AI [SageMaker 実行ロール](sagemaker-roles.md)などの、SageMaker AI 内のトレーニングプランとリザーブドキャパシティの作成と管理に使用される IAM ロールにアタッチできます。

**Topics**
+ [AWS マネージドポリシー: AmazonSageMakerTrainingPlanCreateAccess](#security-iam-awsmanpol-AmazonSageMakerTrainingPlanCreateAccess)
+ [Amazon SageMaker AI による SageMaker トレーニングプランのマネージドポリシーの更新](#security-iam-awsmanpol-training-plan-updates)

## AWS マネージドポリシー: AmazonSageMakerTrainingPlanCreateAccess
<a name="security-iam-awsmanpol-AmazonSageMakerTrainingPlanCreateAccess"></a>

このポリシーは、SageMaker AI でトレーニングプランを作成、説明、検索、一覧表示するために必要なアクセス許可を提供します。さらに、特定の条件下でトレーニングプランとリザーブドキャパシティリソースにタグを追加することもできます。

**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。
+ `sagemaker` – トレーニングプランとリザーブドキャパシティを作成し、タグ付けアクションが特に `CreateTrainingPlan`または の場合にトレーニングプランとリザーブドキャパシティへのタグの追加を許可し`CreateReservedCapacity`、トレーニングプランの説明を許可し、トレーニングプランの提供を検索し、すべてのリソースに既存のトレーニングプランを一覧表示できるようにします。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "CreateTrainingPlanPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateTrainingPlan",
        "sagemaker:CreateReservedCapacity",
        "sagemaker:DescribeReservedCapacity"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:training-plan/*",
        "arn:aws:sagemaker:*:*:reserved-capacity/*"
      ]
    },
    {
      "Sid": "AggTagsToTrainingPlanPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddTags"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:training-plan/*",
        "arn:aws:sagemaker:*:*:reserved-capacity/*"
      ],
      "Condition": {
        "StringEquals": {
          "sagemaker:TaggingAction": ["CreateTrainingPlan","CreateReservedCapacity"]
        }
      }
    },
    {
      "Sid": "DescribeTrainingPlanPermissions",
      "Effect": "Allow",
      "Action": "sagemaker:DescribeTrainingPlan",
      "Resource": [
        "arn:aws:sagemaker:*:*:training-plan/*"
      ]
    },
    {
      "Sid": "NonResourceLevelTrainingPlanPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:SearchTrainingPlanOfferings",
        "sagemaker:ListTrainingPlans"
      ],
      "Resource": "*"
    },
    {
      "Sid": "ListUltraServersByReservedCapacityPermissions",
      "Effect": "Allow",
      "Action": "sagemaker:ListUltraServersByReservedCapacity",
      "Resource": [
      "arn:aws:sagemaker:*:*:reserved-capacity/*"
      ]
    }
  ]
}
```

------

## Amazon SageMaker AI による SageMaker トレーニングプランのマネージドポリシーの更新
<a name="security-iam-awsmanpol-training-plan-updates"></a>

このサービスがこれらの変更の追跡を開始してからの Amazon SageMaker AI の AWS マネージドポリシーの更新に関する詳細を表示します。


| ポリシー | バージョン | 変更 | 日付 | 
| --- | --- | --- | --- | 
|  AmazonSageMakerTrainingPlanCreateAccess - ポリシーの更新  | 2 | ポリシーを更新して、特定のリザーブドキャパシティに関する情報を取得し、リザーブドキャパシティ内のすべての UltraServerを一覧表示するアクセス許可を追加しました。 | 2024 年 7 月 29 日 | 
| AmazonSageMakerTrainingPlanCreateAccess - 新しいポリシー | 1 |  初期ポリシー  | 2024/12/04 | 

# AWS SageMaker プロジェクトと JumpStart の管理ポリシー
<a name="security-iam-awsmanpol-sc"></a>

これらの AWS 管理ポリシーは、組み込みの Amazon SageMaker AI プロジェクトテンプレートと JumpStart ソリューションを使用するためのアクセス許可を追加します。ポリシーは AWS アカウントで使用でき、SageMaker AI コンソールから作成された実行ロールによって使用されます。

SageMaker プロジェクトと JumpStart は AWS Service Catalog を使用して、顧客のアカウントに AWS リソースをプロビジョニングします。作成されるリソースの一部では、実行ロールの引き受けが必要になります。たとえば、 AWS Service Catalog が SageMaker AI 機械学習 CI/CD プロジェクトの顧客に代わって CodePipeline パイプラインを作成する場合、そのパイプラインには IAM ロールが必要です。

[AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole) ロールには、 AWS Service Catalog から製品の SageMaker AI ポートフォリオを起動するために必要なアクセス許可があります。[AmazonSageMakerServiceCatalogProductsUseRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsUseRole) ロールには、 AWS Service Catalog の SageMaker AI 製品ポートフォリオを使用するために必要なアクセス許可があります。`AmazonSageMakerServiceCatalogProductsLaunchRole` ロールは、プロビジョニングされた AWS Service Catalog 製品リソースに `AmazonSageMakerServiceCatalogProductsUseRole`ロールを渡します。

**Topics**
+ [AWS マネージドポリシー: AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy)
+ [AWS マネージドポリシー: AmazonSageMakerPartnerServiceCatalogProductsApiGatewayServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerPartnerServiceCatalogProductsApiGatewayServiceRolePolicy)
+ [AWS マネージドポリシー: AmazonSageMakerPartnerServiceCatalogProductsCloudFormationServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerPartnerServiceCatalogProductsCloudFormationServiceRolePolicy)
+ [AWS マネージドポリシー: AmazonSageMakerPartnerServiceCatalogProductsLambdaServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerPartnerServiceCatalogProductsLambdaServiceRolePolicy)
+ [AWS マネージドポリシー: AmazonSageMakerServiceCatalogProductsApiGatewayServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsApiGatewayServiceRolePolicy)
+ [AWS マネージドポリシー: AmazonSageMakerServiceCatalogProductsCloudformationServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCloudformationServiceRolePolicy)
+ [AWS マネージドポリシー: AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy)
+ [AWS マネージドポリシー: AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy)
+ [AWS マネージドポリシー: AmazonSageMakerServiceCatalogProductsEventsServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsEventsServiceRolePolicy)
+ [AWS マネージドポリシー: AmazonSageMakerServiceCatalogProductsFirehoseServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsFirehoseServiceRolePolicy)
+ [AWS マネージドポリシー: AmazonSageMakerServiceCatalogProductsGlueServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsGlueServiceRolePolicy)
+ [AWS マネージドポリシー: AmazonSageMakerServiceCatalogProductsLambdaServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsLambdaServiceRolePolicy)
+ [AWS Service Catalog 管理ポリシーへの Amazon SageMaker AI の更新 AWS](#security-iam-awsmanpol-sc-updates)

## AWS マネージドポリシー: AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy"></a>

このサービスロールポリシーは、Amazon SageMaker AI ポートフォリオから製品をプロビジョニングするために AWS Service Catalog サービスによって使用されます。このポリシーは AWS CodePipeline、 AWS CodeBuild、 AWS CodeCommit AWS Glue AWS CloudFormationなどの一連の関連 AWS サービスにアクセス許可を付与します。

`AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy` ポリシーは、SageMaker AI コンソールで作成された `AmazonSageMakerServiceCatalogProductsLaunchRole` ロールによって使用されるためのポリシーです。このポリシーは、Service Catalog を使用して SageMaker プロジェクトと JumpStart の AWS リソースをプロビジョニングするアクセス許可をお客様のアカウントに追加します。

**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。
+ `apigateway` - `sagemaker:launch-source` のタグが付いた API Gateway エンドポイントの呼び出しをロールに許可します。
+ `cloudformation` – CloudFormation スタックの作成、更新、削除 AWS Service Catalog を許可します。Service Catalog がリソースにタグ付けしたりタグを解除することを許可します。
+ `codebuild` – CloudFormation が引き受け AWS Service Catalog 、渡したロールが CodeBuild プロジェクトを作成、更新、削除できるようにします。
+ `codecommit` – CloudFormation が引き受け AWS Service Catalog て渡したロールが CodeCommit リポジトリを作成、更新、削除できるようにします。
+ `codepipeline` – CloudFormation が引き受け AWS Service Catalog て渡したロールが CodePipelines を作成、更新、削除できるようにします。
+ `codeconnections`、 `codestar-connections` – ロールが AWS CodeConnections および AWS CodeStar 接続を渡すことも許可します。
+ `cognito-idp` - グループおよびユーザープールの作成、更新、削除をロールに許可します。リソースのタグ付けも許可します。
+ `ecr` – CloudFormation が引き受け AWS Service Catalog て渡したロールが Amazon ECR リポジトリを作成および削除できるようにします。リソースのタグ付けも許可します。
+ `events` – によって引き受け AWS Service Catalog られ、CloudFormation に渡されるロールが EventBridge ルールを作成および削除できるようにします。CICD パイプラインのさまざまなコンポーネントを結び付けるために使用されます。
+ `firehose` - ロールに Firehose ストリームとのインタラクションを許可します。
+ `glue` – ロールが操作できるようにします AWS Glue。
+ `iam` - 先頭に `AmazonSageMakerServiceCatalog` が追加されたロールを渡すことをロールに許可します。これは、ロールを AWS Service Catalogに渡す必要があるため、プロジェクトが AWS Service Catalog 製品をプロビジョニングする際に必要です。
+ `lambda` - AWS Lambdaとのやり取りをロールに許可します。リソースのタグ付けも許可します。
+ `logs` - ログストリームの作成、削除、アクセスをロールに許可します。
+ `s3` – CloudFormation が引き受け AWS Service Catalog て渡したロールが、プロジェクトテンプレートコードが保存されている Amazon S3 バケットにアクセスできるようにします。
+ `sagemaker` - さまざまな SageMaker AI サービスとのやり取りをロールに許可します。これは、テンプレートのプロビジョニング中の CloudFormation および CICD パイプライン実行中の CodeBuild の両方で行われます。エンドポイント、エンドポイント設定、モデル、パイプライン、プロジェクト、モデルパッケージなどのリソースにタグを付けることも許可します。
+ `states` - 先頭に `sagemaker` が追加されたステップ関数の作成、削除、更新をロールに許可します。

このポリシーのアクセス許可を確認するには、「 AWS マネージドポリシーリファレンス」の[AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy.html)」を参照してください。

## AWS マネージドポリシー: AmazonSageMakerPartnerServiceCatalogProductsApiGatewayServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerPartnerServiceCatalogProductsApiGatewayServiceRolePolicy"></a>

このポリシーは、Amazon SageMaker AI ポートフォリオのプロビジョニング済み製品内で Amazon API Gateway Amazon SageMaker によって使用されます。 AWS Service Catalog このポリシーは、[AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole) がロールを必要とする API Gateway によって作成された AWS リソースに渡す IAM ロールにアタッチされることを目的としています。

**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。
+ `lambda` — パートナーテンプレートによって作成された関数を呼び出します。
+ `sagemaker` — パートナーテンプレートによって作成されたエンドポイントを呼び出します。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "lambda:InvokeFunction",
      "Resource": "arn:aws:lambda:*:*:function:sagemaker-*",
      "Condition": {
        "Null": {
          "aws:ResourceTag/sagemaker:project-name": "false",
          "aws:ResourceTag/sagemaker:partner": "false"
        },
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "sagemaker:InvokeEndpoint",
      "Resource": "arn:aws:sagemaker:*:*:endpoint/*",
      "Condition": {
        "Null": {
          "aws:ResourceTag/sagemaker:project-name": "false",
          "aws:ResourceTag/sagemaker:partner": "false"
        },
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    }
  ]
}
```

------

## AWS マネージドポリシー: AmazonSageMakerPartnerServiceCatalogProductsCloudFormationServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerPartnerServiceCatalogProductsCloudFormationServiceRolePolicy"></a>

このポリシーは、Amazon SageMaker AI ポートフォリオの AWS Service Catalog プロビジョニング済み製品 AWS CloudFormation 内で によって使用されます。このポリシーは、[AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole) がロール CloudFormation を必要とする によって作成された AWS リソースに渡す IAM ロールにアタッチされることを目的としています。

**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。
+ `iam` — `AmazonSageMakerServiceCatalogProductsLambdaRole` ロールと `AmazonSageMakerServiceCatalogProductsApiGatewayRole` ロールを渡します。
+ `lambda` – AWS Lambda 関数の作成、更新、削除、呼び出し、Lambda レイヤーのバージョンの取得、公開、削除を行います。
+ `apigateway` — Amazon API Gateway リソースを作成、更新、削除します。
+ `s3` — Amazon Simple Storage Service (Amazon S3) バケットから `lambda-auth-code/layer.zip` ファイルを取得します。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsLambdaRole"
      ],
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": "lambda.amazonaws.com"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsApiGatewayRole"
      ],
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": "apigateway.amazonaws.com"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "lambda:DeleteFunction",
        "lambda:UpdateFunctionCode",
        "lambda:ListTags",
        "lambda:InvokeFunction"
      ],
      "Resource": [
        "arn:aws:lambda:*:*:function:sagemaker-*"
      ],
      "Condition": {
        "Null": {
          "aws:ResourceTag/sagemaker:project-name": "false",
          "aws:ResourceTag/sagemaker:partner": "false"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "lambda:CreateFunction",
        "lambda:TagResource"
      ],
      "Resource": [
        "arn:aws:lambda:*:*:function:sagemaker-*"
      ],
      "Condition": {
        "Null": {
          "aws:ResourceTag/sagemaker:project-name": "false",
          "aws:ResourceTag/sagemaker:partner": "false"
        },
        "ForAnyValue:StringEquals": {
          "aws:TagKeys": [
            "sagemaker:project-name",
            "sagemaker:partner"
          ]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "lambda:PublishLayerVersion",
        "lambda:GetLayerVersion",
        "lambda:DeleteLayerVersion",
        "lambda:GetFunction"
      ],
      "Resource": [
        "arn:aws:lambda:*:*:layer:sagemaker-*",
        "arn:aws:lambda:*:*:function:sagemaker-*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "apigateway:GET",
        "apigateway:DELETE",
        "apigateway:PATCH",
        "apigateway:POST",
        "apigateway:PUT"
      ],
      "Resource": [
        "arn:aws:apigateway:*::/restapis/*",
        "arn:aws:apigateway:*::/restapis"
      ],
      "Condition": {
        "Null": {
          "aws:ResourceTag/sagemaker:project-name": "false",
          "aws:ResourceTag/sagemaker:partner": "false"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "apigateway:POST",
        "apigateway:PUT"
      ],
      "Resource": [
        "arn:aws:apigateway:*::/restapis",
        "arn:aws:apigateway:*::/tags/*"
      ],
      "Condition": {
        "Null": {
          "aws:ResourceTag/sagemaker:project-name": "false",
          "aws:ResourceTag/sagemaker:partner": "false"
        },
        "ForAnyValue:StringEquals": {
          "aws:TagKeys": [
            "sagemaker:project-name",
            "sagemaker:partner"
          ]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::sagemaker-*/lambda-auth-code/layer.zip"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    }
  ]
}
```

------

## AWS マネージドポリシー: AmazonSageMakerPartnerServiceCatalogProductsLambdaServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerPartnerServiceCatalogProductsLambdaServiceRolePolicy"></a>

このポリシーは、Amazon SageMaker AI ポートフォリオの AWS Service Catalog プロビジョニング済み製品 AWS Lambda 内で によって使用されます。このポリシーは、[AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole) がロールを必要とする Lambda によって作成された AWS リソースに渡す IAM ロールにアタッチされることを目的としています。

**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。
+ `secretsmanager` — パートナーが提供したパートナーテンプレートのシークレットからデータを取得します。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "secretsmanager:GetSecretValue",
      "Resource": "arn:aws:secretsmanager:*:*:secret:*",
      "Condition": {
        "Null": {
          "aws:ResourceTag/sagemaker:partner": false
        },
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    }
  ]
}
```

------

## AWS マネージドポリシー: AmazonSageMakerServiceCatalogProductsApiGatewayServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsApiGatewayServiceRolePolicy"></a>

このポリシーは、Amazon SageMaker AI ポートフォリオのプロビジョニング済み製品内で Amazon API Gateway Amazon SageMaker によって使用されます。 AWS Service Catalog このポリシーは、[AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole) がロールを必要とする API Gateway によって作成された AWS リソースに渡す IAM ロールにアタッチされることを目的としています。

**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。
+ `logs` — CloudWatch Logs のグループ、ストリーム、イベントの作成と読み取り、イベントの更新、さまざまなリソースの説明を行います。

  これらのアクセス許可は、ロググループのプレフィックスが「aws/apigateway/」で始まるリソースに限定されます。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogDelivery",
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:DeleteLogDelivery",
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams",
        "logs:DescribeResourcePolicies",
        "logs:DescribeDestinations",
        "logs:DescribeExportTasks",
        "logs:DescribeMetricFilters",
        "logs:DescribeQueries",
        "logs:DescribeQueryDefinitions",
        "logs:DescribeSubscriptionFilters",
        "logs:GetLogDelivery",
        "logs:GetLogEvents",
        "logs:PutLogEvents",
        "logs:PutResourcePolicy",
        "logs:UpdateLogDelivery"
      ],
      "Resource": "arn:aws:logs:*:*:log-group:/aws/apigateway/*"
    }
  ]
}
```

------

## AWS マネージドポリシー: AmazonSageMakerServiceCatalogProductsCloudformationServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCloudformationServiceRolePolicy"></a>

このポリシーは、Amazon SageMaker AI ポートフォリオの AWS Service Catalog プロビジョニング済み製品 AWS CloudFormation 内で によって使用されます。このポリシーは、[AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole) がロール CloudFormation を必要とする によって作成された AWS リソースに渡す IAM ロールにアタッチされることを目的としています。

**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。
+ `sagemaker` — ドメイン、ユーザープロファイル、アプリ、フロー定義を除くさまざまな SageMaker AI リソースへのアクセスを許可します。
+ `iam` — `AmazonSageMakerServiceCatalogProductsCodeBuildRole` ロールと `AmazonSageMakerServiceCatalogProductsExecutionRole` ロールを渡します。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddAssociation",
        "sagemaker:AddTags",
        "sagemaker:AssociateTrialComponent",
        "sagemaker:BatchDescribeModelPackage",
        "sagemaker:BatchGetMetrics",
        "sagemaker:BatchGetRecord",
        "sagemaker:BatchPutMetrics",
        "sagemaker:CreateAction",
        "sagemaker:CreateAlgorithm",
        "sagemaker:CreateApp",
        "sagemaker:CreateAppImageConfig",
        "sagemaker:CreateArtifact",
        "sagemaker:CreateAutoMLJob",
        "sagemaker:CreateCodeRepository",
        "sagemaker:CreateCompilationJob",
        "sagemaker:CreateContext",
        "sagemaker:CreateDataQualityJobDefinition",
        "sagemaker:CreateDeviceFleet",
        "sagemaker:CreateDomain",
        "sagemaker:CreateEdgePackagingJob",
        "sagemaker:CreateEndpoint",
        "sagemaker:CreateEndpointConfig",
        "sagemaker:CreateExperiment",
        "sagemaker:CreateFeatureGroup",
        "sagemaker:CreateFlowDefinition",
        "sagemaker:CreateHumanTaskUi",
        "sagemaker:CreateHyperParameterTuningJob",
        "sagemaker:CreateImage",
        "sagemaker:CreateImageVersion",
        "sagemaker:CreateInferenceRecommendationsJob",
        "sagemaker:CreateLabelingJob",
        "sagemaker:CreateLineageGroupPolicy",
        "sagemaker:CreateModel",
        "sagemaker:CreateModelBiasJobDefinition",
        "sagemaker:CreateModelExplainabilityJobDefinition",
        "sagemaker:CreateModelPackage",
        "sagemaker:CreateModelPackageGroup",
        "sagemaker:CreateModelQualityJobDefinition",
        "sagemaker:CreateMonitoringSchedule",
        "sagemaker:CreateNotebookInstance",
        "sagemaker:CreateNotebookInstanceLifecycleConfig",
        "sagemaker:CreatePipeline",
        "sagemaker:CreatePresignedDomainUrl",
        "sagemaker:CreatePresignedNotebookInstanceUrl",
        "sagemaker:CreateProcessingJob",
        "sagemaker:CreateProject",
        "sagemaker:CreateTrainingJob",
        "sagemaker:CreateTransformJob",
        "sagemaker:CreateTrial",
        "sagemaker:CreateTrialComponent",
        "sagemaker:CreateUserProfile",
        "sagemaker:CreateWorkforce",
        "sagemaker:CreateWorkteam",
        "sagemaker:DeleteAction",
        "sagemaker:DeleteAlgorithm",
        "sagemaker:DeleteApp",
        "sagemaker:DeleteAppImageConfig",
        "sagemaker:DeleteArtifact",
        "sagemaker:DeleteAssociation",
        "sagemaker:DeleteCodeRepository",
        "sagemaker:DeleteContext",
        "sagemaker:DeleteDataQualityJobDefinition",
        "sagemaker:DeleteDeviceFleet",
        "sagemaker:DeleteDomain",
        "sagemaker:DeleteEndpoint",
        "sagemaker:DeleteEndpointConfig",
        "sagemaker:DeleteExperiment",
        "sagemaker:DeleteFeatureGroup",
        "sagemaker:DeleteFlowDefinition",
        "sagemaker:DeleteHumanLoop",
        "sagemaker:DeleteHumanTaskUi",
        "sagemaker:DeleteImage",
        "sagemaker:DeleteImageVersion",
        "sagemaker:DeleteLineageGroupPolicy",
        "sagemaker:DeleteModel",
        "sagemaker:DeleteModelBiasJobDefinition",
        "sagemaker:DeleteModelExplainabilityJobDefinition",
        "sagemaker:DeleteModelPackage",
        "sagemaker:DeleteModelPackageGroup",
        "sagemaker:DeleteModelPackageGroupPolicy",
        "sagemaker:DeleteModelQualityJobDefinition",
        "sagemaker:DeleteMonitoringSchedule",
        "sagemaker:DeleteNotebookInstance",
        "sagemaker:DeleteNotebookInstanceLifecycleConfig",
        "sagemaker:DeletePipeline",
        "sagemaker:DeleteProject",
        "sagemaker:DeleteRecord",
        "sagemaker:DeleteTags",
        "sagemaker:DeleteTrial",
        "sagemaker:DeleteTrialComponent",
        "sagemaker:DeleteUserProfile",
        "sagemaker:DeleteWorkforce",
        "sagemaker:DeleteWorkteam",
        "sagemaker:DeregisterDevices",
        "sagemaker:DescribeAction",
        "sagemaker:DescribeAlgorithm",
        "sagemaker:DescribeApp",
        "sagemaker:DescribeAppImageConfig",
        "sagemaker:DescribeArtifact",
        "sagemaker:DescribeAutoMLJob",
        "sagemaker:DescribeCodeRepository",
        "sagemaker:DescribeCompilationJob",
        "sagemaker:DescribeContext",
        "sagemaker:DescribeDataQualityJobDefinition",
        "sagemaker:DescribeDevice",
        "sagemaker:DescribeDeviceFleet",
        "sagemaker:DescribeDomain",
        "sagemaker:DescribeEdgePackagingJob",
        "sagemaker:DescribeEndpoint",
        "sagemaker:DescribeEndpointConfig",
        "sagemaker:DescribeExperiment",
        "sagemaker:DescribeFeatureGroup",
        "sagemaker:DescribeFlowDefinition",
        "sagemaker:DescribeHumanLoop",
        "sagemaker:DescribeHumanTaskUi",
        "sagemaker:DescribeHyperParameterTuningJob",
        "sagemaker:DescribeImage",
        "sagemaker:DescribeImageVersion",
        "sagemaker:DescribeInferenceRecommendationsJob",
        "sagemaker:DescribeLabelingJob",
        "sagemaker:DescribeLineageGroup",
        "sagemaker:DescribeModel",
        "sagemaker:DescribeModelBiasJobDefinition",
        "sagemaker:DescribeModelExplainabilityJobDefinition",
        "sagemaker:DescribeModelPackage",
        "sagemaker:DescribeModelPackageGroup",
        "sagemaker:DescribeModelQualityJobDefinition",
        "sagemaker:DescribeMonitoringSchedule",
        "sagemaker:DescribeNotebookInstance",
        "sagemaker:DescribeNotebookInstanceLifecycleConfig",
        "sagemaker:DescribePipeline",
        "sagemaker:DescribePipelineDefinitionForExecution",
        "sagemaker:DescribePipelineExecution",
        "sagemaker:DescribeProcessingJob",
        "sagemaker:DescribeProject",
        "sagemaker:DescribeSubscribedWorkteam",
        "sagemaker:DescribeTrainingJob",
        "sagemaker:DescribeTransformJob",
        "sagemaker:DescribeTrial",
        "sagemaker:DescribeTrialComponent",
        "sagemaker:DescribeUserProfile",
        "sagemaker:DescribeWorkforce",
        "sagemaker:DescribeWorkteam",
        "sagemaker:DisableSagemakerServicecatalogPortfolio",
        "sagemaker:DisassociateTrialComponent",
        "sagemaker:EnableSagemakerServicecatalogPortfolio",
        "sagemaker:GetDeviceFleetReport",
        "sagemaker:GetDeviceRegistration",
        "sagemaker:GetLineageGroupPolicy",
        "sagemaker:GetModelPackageGroupPolicy",
        "sagemaker:GetRecord",
        "sagemaker:GetSagemakerServicecatalogPortfolioStatus",
        "sagemaker:GetSearchSuggestions",
        "sagemaker:InvokeEndpoint",
        "sagemaker:InvokeEndpointAsync",
        "sagemaker:ListActions",
        "sagemaker:ListAlgorithms",
        "sagemaker:ListAppImageConfigs",
        "sagemaker:ListApps",
        "sagemaker:ListArtifacts",
        "sagemaker:ListAssociations",
        "sagemaker:ListAutoMLJobs",
        "sagemaker:ListCandidatesForAutoMLJob",
        "sagemaker:ListCodeRepositories",
        "sagemaker:ListCompilationJobs",
        "sagemaker:ListContexts",
        "sagemaker:ListDataQualityJobDefinitions",
        "sagemaker:ListDeviceFleets",
        "sagemaker:ListDevices",
        "sagemaker:ListDomains",
        "sagemaker:ListEdgePackagingJobs",
        "sagemaker:ListEndpointConfigs",
        "sagemaker:ListEndpoints",
        "sagemaker:ListExperiments",
        "sagemaker:ListFeatureGroups",
        "sagemaker:ListFlowDefinitions",
        "sagemaker:ListHumanLoops",
        "sagemaker:ListHumanTaskUis",
        "sagemaker:ListHyperParameterTuningJobs",
        "sagemaker:ListImageVersions",
        "sagemaker:ListImages",
        "sagemaker:ListInferenceRecommendationsJobs",
        "sagemaker:ListLabelingJobs",
        "sagemaker:ListLabelingJobsForWorkteam",
        "sagemaker:ListLineageGroups",
        "sagemaker:ListModelBiasJobDefinitions",
        "sagemaker:ListModelExplainabilityJobDefinitions",
        "sagemaker:ListModelMetadata",
        "sagemaker:ListModelPackageGroups",
        "sagemaker:ListModelPackages",
        "sagemaker:ListModelQualityJobDefinitions",
        "sagemaker:ListModels",
        "sagemaker:ListMonitoringExecutions",
        "sagemaker:ListMonitoringSchedules",
        "sagemaker:ListNotebookInstanceLifecycleConfigs",
        "sagemaker:ListNotebookInstances",
        "sagemaker:ListPipelineExecutionSteps",
        "sagemaker:ListPipelineExecutions",
        "sagemaker:ListPipelineParametersForExecution",
        "sagemaker:ListPipelines",
        "sagemaker:ListProcessingJobs",
        "sagemaker:ListProjects",
        "sagemaker:ListSubscribedWorkteams",
        "sagemaker:ListTags",
        "sagemaker:ListTrainingJobs",
        "sagemaker:ListTrainingJobsForHyperParameterTuningJob",
        "sagemaker:ListTransformJobs",
        "sagemaker:ListTrialComponents",
        "sagemaker:ListTrials",
        "sagemaker:ListUserProfiles",
        "sagemaker:ListWorkforces",
        "sagemaker:ListWorkteams",
        "sagemaker:PutLineageGroupPolicy",
        "sagemaker:PutModelPackageGroupPolicy",
        "sagemaker:PutRecord",
        "sagemaker:QueryLineage",
        "sagemaker:RegisterDevices",
        "sagemaker:RenderUiTemplate",
        "sagemaker:Search",
        "sagemaker:SendHeartbeat",
        "sagemaker:SendPipelineExecutionStepFailure",
        "sagemaker:SendPipelineExecutionStepSuccess",
        "sagemaker:StartHumanLoop",
        "sagemaker:StartMonitoringSchedule",
        "sagemaker:StartNotebookInstance",
        "sagemaker:StartPipelineExecution",
        "sagemaker:StopAutoMLJob",
        "sagemaker:StopCompilationJob",
        "sagemaker:StopEdgePackagingJob",
        "sagemaker:StopHumanLoop",
        "sagemaker:StopHyperParameterTuningJob",
        "sagemaker:StopInferenceRecommendationsJob",
        "sagemaker:StopLabelingJob",
        "sagemaker:StopMonitoringSchedule",
        "sagemaker:StopNotebookInstance",
        "sagemaker:StopPipelineExecution",
        "sagemaker:StopProcessingJob",
        "sagemaker:StopTrainingJob",
        "sagemaker:StopTransformJob",
        "sagemaker:UpdateAction",
        "sagemaker:UpdateAppImageConfig",
        "sagemaker:UpdateArtifact",
        "sagemaker:UpdateCodeRepository",
        "sagemaker:UpdateContext",
        "sagemaker:UpdateDeviceFleet",
        "sagemaker:UpdateDevices",
        "sagemaker:UpdateDomain",
        "sagemaker:UpdateEndpoint",
        "sagemaker:UpdateEndpointWeightsAndCapacities",
        "sagemaker:UpdateExperiment",
        "sagemaker:UpdateImage",
        "sagemaker:UpdateModelPackage",
        "sagemaker:UpdateMonitoringSchedule",
        "sagemaker:UpdateNotebookInstance",
        "sagemaker:UpdateNotebookInstanceLifecycleConfig",
        "sagemaker:UpdatePipeline",
        "sagemaker:UpdatePipelineExecution",
        "sagemaker:UpdateProject",
        "sagemaker:UpdateTrainingJob",
        "sagemaker:UpdateTrial",
        "sagemaker:UpdateTrialComponent",
        "sagemaker:UpdateUserProfile",
        "sagemaker:UpdateWorkforce",
        "sagemaker:UpdateWorkteam"
      ],
      "NotResource": [
        "arn:aws:sagemaker:*:*:domain/*",
        "arn:aws:sagemaker:*:*:user-profile/*",
        "arn:aws:sagemaker:*:*:app/*",
        "arn:aws:sagemaker:*:*:flow-definition/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsCodeBuildRole",
        "arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsExecutionRole"
      ]
    }
  ]
}
```

------

## AWS マネージドポリシー: AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy"></a>

このポリシーは、Amazon SageMaker AI ポートフォリオの AWS Service Catalog プロビジョニング済み製品 AWS CodeBuild 内で によって使用されます。このポリシーは、[AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole) がロールを必要とする CodeBuild によって作成された AWS リソースに渡す IAM ロールにアタッチされることを目的としています。

**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。
+ `sagemaker` — さまざまな SageMaker AI リソースへのアクセスを許可します。
+ `codecommit` — CodeBuild パイプラインへの CodeCommit アーカイブのアップロード、アップロードステータスの取得、アップロードのキャンセル、ブランチとコミットの情報の取得を行います。これらのアクセス許可は、名前が「sagemaker-」で始まるリソースに限定されます。
+ `ecr` — Amazon ECR リポジトリとコンテナイメージを作成し、イメージレイヤーをアップロードします。これらのアクセス許可は、名前が「sagemaker-」で始まるリポジトリに限定されます。

  `ecr` — すべてのリソースを読み込みます。
+ `iam` — 以下のロールを渡します。
  + `AmazonSageMakerServiceCatalogProductsCloudformationRole` を に設定します AWS CloudFormation。
  + `AmazonSageMakerServiceCatalogProductsCodeBuildRole` を に設定します AWS CodeBuild。
  + `AmazonSageMakerServiceCatalogProductsCodePipelineRole` を に設定します AWS CodePipeline。
  + `AmazonSageMakerServiceCatalogProductsEventsRole` を Amazon EventBridge へ。
  + `AmazonSageMakerServiceCatalogProductsExecutionRole` を Amazon SageMaker AI へ。
+ `logs` — CloudWatch Logs のグループ、ストリーム、イベントの作成と読み取り、イベントの更新、さまざまなリソースの説明を行います。

  これらのアクセス許可は、名前のプレフィックスが「aws/codebuild/」で始まるリソースに限定されます。
+ `s3` — Amazon S3 バケットを作成、読み取り、一覧表示します。これらのアクセス許可は、名前が「sagemaker-」で始まるバケットに限定されます。
+ `codeconnections`、 `codestar-connections` – AWS CodeConnections および AWS CodeStar 接続を使用します。

このポリシーのアクセス許可を確認するには、「 AWS マネージドポリシーリファレンス」の[AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy.html)」を参照してください。

## AWS マネージドポリシー: AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy"></a>

このポリシーは、Amazon SageMaker AI ポートフォリオの AWS Service Catalog プロビジョニング済み製品 AWS CodePipeline 内で によって使用されます。このポリシーは、[AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole) がロールを必要とする CodePipeline によって作成された AWS リソースに渡す IAM ロールにアタッチされることを目的としています。

**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。
+ `cloudformation` — CloudFormation スタックの作成、読み取り、削除、更新、変更セットの作成、読み取り、削除、実行、スタックポリシーの設定、リソースのタグ付けとタグ解除を行います。これらのアクセス許可は、名前が「sagemaker-」で始まるリソースに限定されます。
+ `s3` — Amazon S3 バケットの作成、読み取り、一覧表示、削除、バケットからのオブジェクトの追加、読み取り、削除、CORS 設定の読み取りと設定、アクセスコントロールリスト (ACL) の読み取り、バケットが存在する AWS リージョンの読み取りを行います。

  これらのアクセス許可は、名前が「sagemaker-」または「"aws-glue-」で始まるバケットに限定されます。
+ `iam` — `AmazonSageMakerServiceCatalogProductsCloudformationRole` ロールを渡します。
+ `codebuild` — CodeBuild のビルド情報を取得し、ビルドを開始します。これらのアクセス許可は、名前が「sagemaker-」で始まるプロジェクトリソースとビルドリソースに限定されます。
+ `codecommit` — CodeBuild パイプラインへの CodeCommit アーカイブのアップロード、アップロードステータスの取得、アップロードのキャンセル、ブランチとコミットの情報の取得を行います。
+ `codeconnections`、 `codestar-connections` – AWS CodeConnections および AWS CodeStar 接続を使用します。

このポリシーのアクセス許可を確認するには、「 AWS マネージドポリシーリファレンス」の[AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy.html)」を参照してください。

## AWS マネージドポリシー: AmazonSageMakerServiceCatalogProductsEventsServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsEventsServiceRolePolicy"></a>

このポリシーは、Amazon SageMaker AI ポートフォリオの AWS Service Catalog プロビジョニング済み製品内で Amazon EventBridge によって使用されます。 Amazon SageMaker このポリシーは、[AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole) がロールを必要とする EventBridge によって作成された AWS リソースに渡す IAM ロールにアタッチされることを目的としています。

**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。
+ `codepipeline` — CodeBuild 実行を開始します。これらのアクセス許可は、名前が「sagemaker-」で始まるパイプラインに限定されます。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codepipeline:StartPipelineExecution",
      "Resource": "arn:aws:codepipeline:*:*:sagemaker-*"
    }
  ]
}
```

------

## AWS マネージドポリシー: AmazonSageMakerServiceCatalogProductsFirehoseServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsFirehoseServiceRolePolicy"></a>

このポリシーは、Amazon SageMaker AI ポートフォリオの AWS Service Catalog プロビジョニング済み製品内で Amazon Data Firehose によって使用されます。 Amazon SageMaker このポリシーは、[AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole) がロールを必要とする Firehose によって作成された AWS リソースに渡す IAM ロールにアタッチされることを目的としています。

**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。
+ `firehose` – Firehose レコードを送信します。これらのアクセス許可は、配信ストリーム名が「sagemaker-」で始まるリソースに限定されます。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": [
        "firehose:PutRecord",
        "firehose:PutRecordBatch"
      ],
      "Resource": "arn:aws:firehose:*:*:deliverystream/sagemaker-*"
    }
  ]
}
```

------

## AWS マネージドポリシー: AmazonSageMakerServiceCatalogProductsGlueServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsGlueServiceRolePolicy"></a>

このポリシーは、Amazon AWS SageMaker AI ポートフォリオの AWS Service Catalog プロビジョニング製品内の Glue によって使用されます。 Amazon SageMaker このポリシーは、[AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole) がロールを必要とする Glue によって作成された AWS リソースに渡す IAM ロールにアタッチされることを目的としています。

**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。
+ `glue` – Glue AWS パーティション、テーブル、およびテーブルバージョンを作成、読み取り、削除します。これらのアクセス許可は、名前が「sagemaker-」で始まるリソースに限定されます。 AWS Glue データベースを作成して読み取ります。これらの権限は、名前が「default」または「global\$1temp」であるか、「sagemaker-」で始まるデータベースに限定されます。ユーザー定義関数を取得します。
+ `s3` — Amazon S3 バケットの作成、読み取り、一覧表示、削除、バケットからのオブジェクトの追加、読み取り、削除、CORS 設定の読み取りと設定、アクセスコントロールリスト (ACL) の読み取り、バケットが存在する AWS リージョンの読み取りを行います。

  これらのアクセス許可は、名前が「sagemaker-」または「"aws-glue-」で始まるバケットに限定されます。
+ `logs` — CloudWatch Logs のロググループ、ストリーム、配信を作成、読み取り、削除し、リソースポリシーを作成します。

  これらのアクセス許可は、名前のプレフィックスが「aws/glue/」で始まるリソースに限定されます。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:BatchCreatePartition",
        "glue:BatchDeletePartition",
        "glue:BatchDeleteTable",
        "glue:BatchDeleteTableVersion",
        "glue:BatchGetPartition",
        "glue:CreateDatabase",
        "glue:CreatePartition",
        "glue:CreateTable",
        "glue:DeletePartition",
        "glue:DeleteTable",
        "glue:DeleteTableVersion",
        "glue:GetDatabase",
        "glue:GetPartition",
        "glue:GetPartitions",
        "glue:GetTable",
        "glue:GetTables",
        "glue:GetTableVersion",
        "glue:GetTableVersions",
        "glue:SearchTables",
        "glue:UpdatePartition",
        "glue:UpdateTable",
        "glue:GetUserDefinedFunctions"
      ],
      "Resource": [
        "arn:aws:glue:*:*:catalog",
        "arn:aws:glue:*:*:database/default",
        "arn:aws:glue:*:*:database/global_temp",
        "arn:aws:glue:*:*:database/sagemaker-*",
        "arn:aws:glue:*:*:table/sagemaker-*",
        "arn:aws:glue:*:*:tableVersion/sagemaker-*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:CreateBucket",
        "s3:DeleteBucket",
        "s3:GetBucketAcl",
        "s3:GetBucketCors",
        "s3:GetBucketLocation",
        "s3:ListAllMyBuckets",
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads",
        "s3:PutBucketCors"
      ],
      "Resource": [
        "arn:aws:s3:::aws-glue-*",
        "arn:aws:s3:::sagemaker-*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:DeleteObject",
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::aws-glue-*",
        "arn:aws:s3:::sagemaker-*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogDelivery",
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:DeleteLogDelivery",
        "logs:Describe*",
        "logs:GetLogDelivery",
        "logs:GetLogEvents",
        "logs:ListLogDeliveries",
        "logs:PutLogEvents",
        "logs:PutResourcePolicy",
        "logs:UpdateLogDelivery"
      ],
      "Resource": "arn:aws:logs:*:*:log-group:/aws/glue/*"
    }
  ]
}
```

------

## AWS マネージドポリシー: AmazonSageMakerServiceCatalogProductsLambdaServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsLambdaServiceRolePolicy"></a>

このポリシーは、Amazon SageMaker AI ポートフォリオの AWS Service Catalog プロビジョニング済み製品 AWS Lambda 内で によって使用されます。このポリシーは、[AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole) がロールを必要とする Lambda によって作成された AWS リソースに渡す IAM ロールにアタッチされることを目的としています。

**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。
+ `sagemaker` — さまざまな SageMaker AI リソースへのアクセスを許可します。
+ `ecr` — Amazon ECR リポジトリの作成と削除、コンテナイメージの作成、読み取り、削除、イメージレイヤーのアップロードを行います。これらのアクセス許可は、名前が「sagemaker-」で始まるリポジトリに限定されます。
+ `events` — Amazon EventBridge ルールを作成、読み取り、削除し、ターゲットを作成または削除します。これらのアクセス許可は、名前が「sagemaker-」で始まるルールに限定されます。
+ `s3` — Amazon S3 バケットの作成、読み取り、一覧表示、削除、バケットからのオブジェクトの追加、読み取り、削除、CORS 設定の読み取りと設定、アクセスコントロールリスト (ACL) の読み取り、バケットが存在する AWS リージョンの読み取りを行います。

  これらのアクセス許可は、名前が「sagemaker-」または「"aws-glue-」で始まるバケットに限定されます。
+ `iam` — `AmazonSageMakerServiceCatalogProductsExecutionRole` ロールを渡します。
+ `logs` — CloudWatch Logs のロググループ、ストリーム、配信を作成、読み取り、削除し、リソースポリシーを作成します。

  これらのアクセス許可は、名前のプレフィックスが「aws/lambda/」で始まるリソースに限定されます。
+ `codebuild` – AWS CodeBuild ビルドに関する情報を開始して取得します。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid" : "AmazonSageMakerLambdaECRPermission",
      "Effect": "Allow",
      "Action": [
        "ecr:DescribeImages",
        "ecr:BatchDeleteImage",
        "ecr:CompleteLayerUpload",
        "ecr:CreateRepository",
        "ecr:DeleteRepository",
        "ecr:InitiateLayerUpload",
        "ecr:PutImage",
        "ecr:UploadLayerPart"
      ],
      "Resource": [
        "arn:aws:ecr:*:*:repository/sagemaker-*"
      ]
    },
    {
      "Sid" : "AmazonSageMakerLambdaEventBridgePermission",
      "Effect": "Allow",
      "Action": [
        "events:DeleteRule",
        "events:DescribeRule",
        "events:PutRule",
        "events:PutTargets",
        "events:RemoveTargets"
      ],
      "Resource": [
        "arn:aws:events:*:*:rule/sagemaker-*"
      ]
    },
    {
      "Sid" : "AmazonSageMakerLambdaS3BucketPermission",
      "Effect": "Allow",
      "Action": [
        "s3:CreateBucket",
        "s3:DeleteBucket",
        "s3:GetBucketAcl",
        "s3:GetBucketCors",
        "s3:GetBucketLocation",
        "s3:ListAllMyBuckets",
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads",
        "s3:PutBucketCors"
      ],
      "Resource": [
        "arn:aws:s3:::aws-glue-*",
        "arn:aws:s3:::sagemaker-*"
      ]
    },
    {
      "Sid" : "AmazonSageMakerLambdaS3ObjectPermission",
      "Effect": "Allow",
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:DeleteObject",
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::aws-glue-*",
        "arn:aws:s3:::sagemaker-*"
      ]
    },
    {
      "Sid" : "AmazonSageMakerLambdaSageMakerPermission",
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddAssociation",
        "sagemaker:AddTags",
        "sagemaker:AssociateTrialComponent",
        "sagemaker:BatchDescribeModelPackage",
        "sagemaker:BatchGetMetrics",
        "sagemaker:BatchGetRecord",
        "sagemaker:BatchPutMetrics",
        "sagemaker:CreateAction",
        "sagemaker:CreateAlgorithm",
        "sagemaker:CreateApp",
        "sagemaker:CreateAppImageConfig",
        "sagemaker:CreateArtifact",
        "sagemaker:CreateAutoMLJob",
        "sagemaker:CreateCodeRepository",
        "sagemaker:CreateCompilationJob",
        "sagemaker:CreateContext",
        "sagemaker:CreateDataQualityJobDefinition",
        "sagemaker:CreateDeviceFleet",
        "sagemaker:CreateDomain",
        "sagemaker:CreateEdgePackagingJob",
        "sagemaker:CreateEndpoint",
        "sagemaker:CreateEndpointConfig",
        "sagemaker:CreateExperiment",
        "sagemaker:CreateFeatureGroup",
        "sagemaker:CreateFlowDefinition",
        "sagemaker:CreateHumanTaskUi",
        "sagemaker:CreateHyperParameterTuningJob",
        "sagemaker:CreateImage",
        "sagemaker:CreateImageVersion",
        "sagemaker:CreateInferenceRecommendationsJob",
        "sagemaker:CreateLabelingJob",
        "sagemaker:CreateLineageGroupPolicy",
        "sagemaker:CreateModel",
        "sagemaker:CreateModelBiasJobDefinition",
        "sagemaker:CreateModelExplainabilityJobDefinition",
        "sagemaker:CreateModelPackage",
        "sagemaker:CreateModelPackageGroup",
        "sagemaker:CreateModelQualityJobDefinition",
        "sagemaker:CreateMonitoringSchedule",
        "sagemaker:CreateNotebookInstance",
        "sagemaker:CreateNotebookInstanceLifecycleConfig",
        "sagemaker:CreatePipeline",
        "sagemaker:CreatePresignedDomainUrl",
        "sagemaker:CreatePresignedNotebookInstanceUrl",
        "sagemaker:CreateProcessingJob",
        "sagemaker:CreateProject",
        "sagemaker:CreateTrainingJob",
        "sagemaker:CreateTransformJob",
        "sagemaker:CreateTrial",
        "sagemaker:CreateTrialComponent",
        "sagemaker:CreateUserProfile",
        "sagemaker:CreateWorkforce",
        "sagemaker:CreateWorkteam",
        "sagemaker:DeleteAction",
        "sagemaker:DeleteAlgorithm",
        "sagemaker:DeleteApp",
        "sagemaker:DeleteAppImageConfig",
        "sagemaker:DeleteArtifact",
        "sagemaker:DeleteAssociation",
        "sagemaker:DeleteCodeRepository",
        "sagemaker:DeleteContext",
        "sagemaker:DeleteDataQualityJobDefinition",
        "sagemaker:DeleteDeviceFleet",
        "sagemaker:DeleteDomain",
        "sagemaker:DeleteEndpoint",
        "sagemaker:DeleteEndpointConfig",
        "sagemaker:DeleteExperiment",
        "sagemaker:DeleteFeatureGroup",
        "sagemaker:DeleteFlowDefinition",
        "sagemaker:DeleteHumanLoop",
        "sagemaker:DeleteHumanTaskUi",
        "sagemaker:DeleteImage",
        "sagemaker:DeleteImageVersion",
        "sagemaker:DeleteLineageGroupPolicy",
        "sagemaker:DeleteModel",
        "sagemaker:DeleteModelBiasJobDefinition",
        "sagemaker:DeleteModelExplainabilityJobDefinition",
        "sagemaker:DeleteModelPackage",
        "sagemaker:DeleteModelPackageGroup",
        "sagemaker:DeleteModelPackageGroupPolicy",
        "sagemaker:DeleteModelQualityJobDefinition",
        "sagemaker:DeleteMonitoringSchedule",
        "sagemaker:DeleteNotebookInstance",
        "sagemaker:DeleteNotebookInstanceLifecycleConfig",
        "sagemaker:DeletePipeline",
        "sagemaker:DeleteProject",
        "sagemaker:DeleteRecord",
        "sagemaker:DeleteTags",
        "sagemaker:DeleteTrial",
        "sagemaker:DeleteTrialComponent",
        "sagemaker:DeleteUserProfile",
        "sagemaker:DeleteWorkforce",
        "sagemaker:DeleteWorkteam",
        "sagemaker:DeregisterDevices",
        "sagemaker:DescribeAction",
        "sagemaker:DescribeAlgorithm",
        "sagemaker:DescribeApp",
        "sagemaker:DescribeAppImageConfig",
        "sagemaker:DescribeArtifact",
        "sagemaker:DescribeAutoMLJob",
        "sagemaker:DescribeCodeRepository",
        "sagemaker:DescribeCompilationJob",
        "sagemaker:DescribeContext",
        "sagemaker:DescribeDataQualityJobDefinition",
        "sagemaker:DescribeDevice",
        "sagemaker:DescribeDeviceFleet",
        "sagemaker:DescribeDomain",
        "sagemaker:DescribeEdgePackagingJob",
        "sagemaker:DescribeEndpoint",
        "sagemaker:DescribeEndpointConfig",
        "sagemaker:DescribeExperiment",
        "sagemaker:DescribeFeatureGroup",
        "sagemaker:DescribeFlowDefinition",
        "sagemaker:DescribeHumanLoop",
        "sagemaker:DescribeHumanTaskUi",
        "sagemaker:DescribeHyperParameterTuningJob",
        "sagemaker:DescribeImage",
        "sagemaker:DescribeImageVersion",
        "sagemaker:DescribeInferenceRecommendationsJob",
        "sagemaker:DescribeLabelingJob",
        "sagemaker:DescribeLineageGroup",
        "sagemaker:DescribeModel",
        "sagemaker:DescribeModelBiasJobDefinition",
        "sagemaker:DescribeModelExplainabilityJobDefinition",
        "sagemaker:DescribeModelPackage",
        "sagemaker:DescribeModelPackageGroup",
        "sagemaker:DescribeModelQualityJobDefinition",
        "sagemaker:DescribeMonitoringSchedule",
        "sagemaker:DescribeNotebookInstance",
        "sagemaker:DescribeNotebookInstanceLifecycleConfig",
        "sagemaker:DescribePipeline",
        "sagemaker:DescribePipelineDefinitionForExecution",
        "sagemaker:DescribePipelineExecution",
        "sagemaker:DescribeProcessingJob",
        "sagemaker:DescribeProject",
        "sagemaker:DescribeSubscribedWorkteam",
        "sagemaker:DescribeTrainingJob",
        "sagemaker:DescribeTransformJob",
        "sagemaker:DescribeTrial",
        "sagemaker:DescribeTrialComponent",
        "sagemaker:DescribeUserProfile",
        "sagemaker:DescribeWorkforce",
        "sagemaker:DescribeWorkteam",
        "sagemaker:DisableSagemakerServicecatalogPortfolio",
        "sagemaker:DisassociateTrialComponent",
        "sagemaker:EnableSagemakerServicecatalogPortfolio",
        "sagemaker:GetDeviceFleetReport",
        "sagemaker:GetDeviceRegistration",
        "sagemaker:GetLineageGroupPolicy",
        "sagemaker:GetModelPackageGroupPolicy",
        "sagemaker:GetRecord",
        "sagemaker:GetSagemakerServicecatalogPortfolioStatus",
        "sagemaker:GetSearchSuggestions",
        "sagemaker:InvokeEndpoint",
        "sagemaker:InvokeEndpointAsync",
        "sagemaker:ListActions",
        "sagemaker:ListAlgorithms",
        "sagemaker:ListAppImageConfigs",
        "sagemaker:ListApps",
        "sagemaker:ListArtifacts",
        "sagemaker:ListAssociations",
        "sagemaker:ListAutoMLJobs",
        "sagemaker:ListCandidatesForAutoMLJob",
        "sagemaker:ListCodeRepositories",
        "sagemaker:ListCompilationJobs",
        "sagemaker:ListContexts",
        "sagemaker:ListDataQualityJobDefinitions",
        "sagemaker:ListDeviceFleets",
        "sagemaker:ListDevices",
        "sagemaker:ListDomains",
        "sagemaker:ListEdgePackagingJobs",
        "sagemaker:ListEndpointConfigs",
        "sagemaker:ListEndpoints",
        "sagemaker:ListExperiments",
        "sagemaker:ListFeatureGroups",
        "sagemaker:ListFlowDefinitions",
        "sagemaker:ListHumanLoops",
        "sagemaker:ListHumanTaskUis",
        "sagemaker:ListHyperParameterTuningJobs",
        "sagemaker:ListImageVersions",
        "sagemaker:ListImages",
        "sagemaker:ListInferenceRecommendationsJobs",
        "sagemaker:ListLabelingJobs",
        "sagemaker:ListLabelingJobsForWorkteam",
        "sagemaker:ListLineageGroups",
        "sagemaker:ListModelBiasJobDefinitions",
        "sagemaker:ListModelExplainabilityJobDefinitions",
        "sagemaker:ListModelMetadata",
        "sagemaker:ListModelPackageGroups",
        "sagemaker:ListModelPackages",
        "sagemaker:ListModelQualityJobDefinitions",
        "sagemaker:ListModels",
        "sagemaker:ListMonitoringExecutions",
        "sagemaker:ListMonitoringSchedules",
        "sagemaker:ListNotebookInstanceLifecycleConfigs",
        "sagemaker:ListNotebookInstances",
        "sagemaker:ListPipelineExecutionSteps",
        "sagemaker:ListPipelineExecutions",
        "sagemaker:ListPipelineParametersForExecution",
        "sagemaker:ListPipelines",
        "sagemaker:ListProcessingJobs",
        "sagemaker:ListProjects",
        "sagemaker:ListSubscribedWorkteams",
        "sagemaker:ListTags",
        "sagemaker:ListTrainingJobs",
        "sagemaker:ListTrainingJobsForHyperParameterTuningJob",
        "sagemaker:ListTransformJobs",
        "sagemaker:ListTrialComponents",
        "sagemaker:ListTrials",
        "sagemaker:ListUserProfiles",
        "sagemaker:ListWorkforces",
        "sagemaker:ListWorkteams",
        "sagemaker:PutLineageGroupPolicy",
        "sagemaker:PutModelPackageGroupPolicy",
        "sagemaker:PutRecord",
        "sagemaker:QueryLineage",
        "sagemaker:RegisterDevices",
        "sagemaker:RenderUiTemplate",
        "sagemaker:Search",
        "sagemaker:SendHeartbeat",
        "sagemaker:SendPipelineExecutionStepFailure",
        "sagemaker:SendPipelineExecutionStepSuccess",
        "sagemaker:StartHumanLoop",
        "sagemaker:StartMonitoringSchedule",
        "sagemaker:StartNotebookInstance",
        "sagemaker:StartPipelineExecution",
        "sagemaker:StopAutoMLJob",
        "sagemaker:StopCompilationJob",
        "sagemaker:StopEdgePackagingJob",
        "sagemaker:StopHumanLoop",
        "sagemaker:StopHyperParameterTuningJob",
        "sagemaker:StopInferenceRecommendationsJob",
        "sagemaker:StopLabelingJob",
        "sagemaker:StopMonitoringSchedule",
        "sagemaker:StopNotebookInstance",
        "sagemaker:StopPipelineExecution",
        "sagemaker:StopProcessingJob",
        "sagemaker:StopTrainingJob",
        "sagemaker:StopTransformJob",
        "sagemaker:UpdateAction",
        "sagemaker:UpdateAppImageConfig",
        "sagemaker:UpdateArtifact",
        "sagemaker:UpdateCodeRepository",
        "sagemaker:UpdateContext",
        "sagemaker:UpdateDeviceFleet",
        "sagemaker:UpdateDevices",
        "sagemaker:UpdateDomain",
        "sagemaker:UpdateEndpoint",
        "sagemaker:UpdateEndpointWeightsAndCapacities",
        "sagemaker:UpdateExperiment",
        "sagemaker:UpdateImage",
        "sagemaker:UpdateModelPackage",
        "sagemaker:UpdateMonitoringSchedule",
        "sagemaker:UpdateNotebookInstance",
        "sagemaker:UpdateNotebookInstanceLifecycleConfig",
        "sagemaker:UpdatePipeline",
        "sagemaker:UpdatePipelineExecution",
        "sagemaker:UpdateProject",
        "sagemaker:UpdateTrainingJob",
        "sagemaker:UpdateTrial",
        "sagemaker:UpdateTrialComponent",
        "sagemaker:UpdateUserProfile",
        "sagemaker:UpdateWorkforce",
        "sagemaker:UpdateWorkteam"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:action/*",
        "arn:aws:sagemaker:*:*:algorithm/*",
        "arn:aws:sagemaker:*:*:app-image-config/*",
        "arn:aws:sagemaker:*:*:artifact/*",
        "arn:aws:sagemaker:*:*:automl-job/*",
        "arn:aws:sagemaker:*:*:code-repository/*",
        "arn:aws:sagemaker:*:*:compilation-job/*",
        "arn:aws:sagemaker:*:*:context/*",
        "arn:aws:sagemaker:*:*:data-quality-job-definition/*",
        "arn:aws:sagemaker:*:*:device-fleet/*/device/*",
        "arn:aws:sagemaker:*:*:device-fleet/*",
        "arn:aws:sagemaker:*:*:edge-packaging-job/*",
        "arn:aws:sagemaker:*:*:endpoint/*",
        "arn:aws:sagemaker:*:*:endpoint-config/*",
        "arn:aws:sagemaker:*:*:experiment/*",
        "arn:aws:sagemaker:*:*:experiment-trial/*",
        "arn:aws:sagemaker:*:*:experiment-trial-component/*",
        "arn:aws:sagemaker:*:*:feature-group/*",
        "arn:aws:sagemaker:*:*:human-loop/*",
        "arn:aws:sagemaker:*:*:human-task-ui/*",
        "arn:aws:sagemaker:*:*:hyper-parameter-tuning-job/*",
        "arn:aws:sagemaker:*:*:image/*",
        "arn:aws:sagemaker:*:*:image-version/*/*",
        "arn:aws:sagemaker:*:*:inference-recommendations-job/*",
        "arn:aws:sagemaker:*:*:labeling-job/*",
        "arn:aws:sagemaker:*:*:model/*",
        "arn:aws:sagemaker:*:*:model-bias-job-definition/*",
        "arn:aws:sagemaker:*:*:model-explainability-job-definition/*",
        "arn:aws:sagemaker:*:*:model-package/*",
        "arn:aws:sagemaker:*:*:model-package-group/*",
        "arn:aws:sagemaker:*:*:model-quality-job-definition/*",
        "arn:aws:sagemaker:*:*:monitoring-schedule/*",
        "arn:aws:sagemaker:*:*:notebook-instance/*",
        "arn:aws:sagemaker:*:*:notebook-instance-lifecycle-config/*",
        "arn:aws:sagemaker:*:*:pipeline/*",
        "arn:aws:sagemaker:*:*:pipeline/*/execution/*",
        "arn:aws:sagemaker:*:*:processing-job/*",
        "arn:aws:sagemaker:*:*:project/*",
        "arn:aws:sagemaker:*:*:training-job/*",
        "arn:aws:sagemaker:*:*:transform-job/*",
        "arn:aws:sagemaker:*:*:workforce/*",
        "arn:aws:sagemaker:*:*:workteam/*"
      ]
    },
    {
      "Sid" : "AmazonSageMakerLambdaPassRolePermission",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsExecutionRole"
      ]
    },
    {
      "Sid" : "AmazonSageMakerLambdaLogPermission",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogDelivery",
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:DeleteLogDelivery",
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams",
        "logs:DescribeResourcePolicies",
        "logs:DescribeDestinations",
        "logs:DescribeExportTasks",
        "logs:DescribeMetricFilters",
        "logs:DescribeQueries",
        "logs:DescribeQueryDefinitions",
        "logs:DescribeSubscriptionFilters",
        "logs:GetLogDelivery",
        "logs:GetLogEvents",
        "logs:ListLogDeliveries",
        "logs:PutLogEvents",
        "logs:PutResourcePolicy",
        "logs:UpdateLogDelivery"
      ],
      "Resource": "arn:aws:logs:*:*:log-group:/aws/lambda/*"
    },
    {
      "Sid" : "AmazonSageMakerLambdaCodeBuildPermission",
      "Effect": "Allow",
      "Action": [
        "codebuild:StartBuild",
        "codebuild:BatchGetBuilds"
      ],
      "Resource": "arn:aws:codebuild:*:*:project/sagemaker-*",
      "Condition": {
        "StringLike": {
          "aws:ResourceTag/sagemaker:project-name": "*"
        }
      }
    }
  ]
}
```

------

## AWS Service Catalog 管理ポリシーへの Amazon SageMaker AI の更新 AWS
<a name="security-iam-awsmanpol-sc-updates"></a>

このサービスがこれらの変更の追跡を開始してからの Amazon SageMaker AI の AWS マネージドポリシーの更新に関する詳細を表示します。


| ポリシー | バージョン | 変更 | 日付 | 
| --- | --- | --- | --- | 
|   [AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy) – ポリシーを更新  | 10 |  `codestar-connections:PassConnection` および の`codeconnections:PassConnection`アクセス許可を更新しました。  | 2025 年 9 月 27 日 | 
|   [AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy) – ポリシーを更新  | 3 |  `codestar-connections:UseConnection` および の`codeconnections:UseConnection`アクセス許可が更新されました。  | 2025 年 9 月 27 日 | 
|   [AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy) – ポリシーを更新  | 3 |  `codestar-connections:UseConnection` および の`codeconnections:UseConnection`アクセス許可が更新されました。  | 2025 年 9 月 27 日 | 
|   [AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy) – ポリシーを更新  | 9 |  `cloudformation:TagResource`、`cloudformation:UntagResource`、および `codeconnections:PassConnection` アクセス許可を追加します。  | 2024 年 7 月 1 日 | 
| AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy - 更新されたポリシー | 7 |  ポリシーをバージョン 7 (v7) にロールバックします。`cloudformation:TagResource`、`cloudformation:UntagResource`、`codeconnections:PassConnection` アクセス許可を削除します。  | 2024 年 6 月 12 日 | 
| AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy - 更新されたポリシー | 8 |  `cloudformation:TagResource`、`cloudformation:UntagResource`、および `codeconnections:PassConnection` アクセス許可を追加します。  | 2024 年 6 月 11 日 | 
|   [AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy) – ポリシーを更新  | 2 |  `codestar-connections:UseConnection` と `codeconnections:UseConnection` のアクセス許可を追加します。  | 2024 年 6 月 11 日 | 
|   [AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy) – ポリシーを更新  | 2 |  `cloudformation:TagResource`、`cloudformation:UntagResource`、`codestar-connections:UseConnection`、`codeconnections:UseConnection` アクセス許可を追加します。  | 2024 年 6 月 11 日 | 
|   [AmazonSageMakerServiceCatalogProductsLambdaServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsLambdaServiceRolePolicy) – ポリシーを更新  | 2 |  `codebuild:StartBuild` と `codebuild:BatchGetBuilds` のアクセス許可を追加します。  | 2024 年 6 月 11 日 | 
|   [AmazonSageMakerPartnerServiceCatalogProductsApiGatewayServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerPartnerServiceCatalogProductsApiGatewayServiceRolePolicy)  | 1 | 初期ポリシー | 2023 年 8 月 1 日 | 
|   [AmazonSageMakerPartnerServiceCatalogProductsCloudFormationServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerPartnerServiceCatalogProductsCloudFormationServiceRolePolicy)  | 1 | 初期ポリシー | 2023 年 8 月 1 日 | 
|   [AmazonSageMakerPartnerServiceCatalogProductsLambdaServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerPartnerServiceCatalogProductsLambdaServiceRolePolicy)  | 1 | 初期ポリシー | 2023 年 8 月 1 日 | 
|   [AmazonSageMakerServiceCatalogProductsGlueServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsGlueServiceRolePolicy) – ポリシーを更新  | 2 |  `glue:GetUserDefinedFunctions` にアクセス許可を追加します。  | 2022 年 8 月 26 日 | 
| AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy - 更新されたポリシー | 7 |  `sagemaker:AddTags` にアクセス許可を追加します。  | 2022 年 8 月 2 日 | 
| AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy - 更新されたポリシー | 6 |  `lambda:TagResource` にアクセス許可を追加します。  | 2022 年 7 月 14 日 | 
| AmazonSageMakerServiceCatalogProductsLambdaServiceRolePolicy | 1 |  初期ポリシー  | 2022 年 4 月 4 日 | 
|   [AmazonSageMakerServiceCatalogProductsApiGatewayServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsApiGatewayServiceRolePolicy)  | 1 |  初期ポリシー  | 2022 年 3 月 24 日 | 
|   [AmazonSageMakerServiceCatalogProductsCloudformationServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCloudformationServiceRolePolicy)  | 1 |  初期ポリシー  | 2022 年 3 月 24 日 | 
| AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy | 1 |  初期ポリシー  | 2022 年 3 月 24 日 | 
| AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy - 更新されたポリシー | 5 |  `ecr-idp:TagResource` にアクセス許可を追加します。  | 2022 年 3 月 21 日 | 
| AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy | 1 |  初期ポリシー  | 2022 年 2 月 22 日 | 
|   [AmazonSageMakerServiceCatalogProductsEventsServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsEventsServiceRolePolicy)  | 1 |  初期ポリシー  | 2022 年 2 月 22 日 | 
|   [AmazonSageMakerServiceCatalogProductsFirehoseServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsFirehoseServiceRolePolicy)  | 1 |  初期ポリシー  | 2022 年 2 月 22 日 | 
| AmazonSageMakerServiceCatalogProductsGlueServiceRolePolicy | 1 |  初期ポリシー  | 2022 年 2 月 22 日 | 
| AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy - 更新されたポリシー | 4 |  `cognito-idp:TagResource` と `s3:PutBucketCORS` の新しいアクセス許可を追加。  | 2022 年 2 月 16 日 | 
| AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy - 更新されたポリシー | 3 |  `sagemaker` の新しいアクセス許可を追加。 SageMaker イメージの作成、読み取り、更新、削除。  | 2021 年 9 月 15 日 | 
| AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy - 更新されたポリシー | 2 |  `sagemaker` と `codestar-connections` の新しいアクセス許可を追加。 コードリポジトリの作成、読み取り、更新、削除。  AWS CodeStar 接続を渡します AWS CodePipeline。  | 2021 年 7 月 1 日 | 
| AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy | 1 | 初期ポリシー | 2020 年 11 月 27 日 | 

## AWS マネージドポリシーに対する SageMaker AI の更新
<a name="security-iam-awsmanpol-updates"></a>

このサービスがこれらの変更の追跡を開始した以降の SageMaker AI の AWS マネージドポリシーの更新に関する詳細を表示します。


| ポリシー | バージョン | 変更 | 日付 | 
| --- | --- | --- | --- | 
| [AmazonSageMakerFullAccess](#security-iam-awsmanpol-AmazonSageMakerFullAccess) – 既存ポリシーへの更新 | 27 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/security-iam-awsmanpol.html)  | 2024/12/04 | 
| [AmazonSageMakerFullAccess](#security-iam-awsmanpol-AmazonSageMakerFullAccess) – 既存ポリシーへの更新 | 26 |  `sagemaker:AddTags` アクセス許可を追加します。  | 2024 年 3 月 29 日 | 
| AmazonSageMakerFullAccess - 既存ポリシーの更新 | 25 |  `sagemaker:CreateApp`、`sagemaker:DescribeApp`、`sagemaker:DeleteApp`、`sagemaker:CreateSpace`、`sagemaker:UpdateSpace`、`sagemaker:DeleteSpace`、`s3express:CreateSession`、`s3express:CreateBucket`、`s3express:ListAllMyDirectoryBuckets` のアクセス許可を追加します。  | 2023 年 11 月 30 日 | 
| AmazonSageMakerFullAccess - 既存ポリシーの更新 | 24 |  `sagemaker-geospatial:*`、`sagemaker:AddTags`、`sagemaker-ListTags`、`sagemaker-DescribeSpace`、`sagemaker:ListSpaces` アクセス許可を追加します。  | 2022 年 11 月 30 日 | 
| AmazonSageMakerFullAccess - 既存ポリシーの更新 | 23 |  `glue:UpdateTable` を追加します。  | 2022 年 1 月 29 日 | 
| AmazonSageMakerFullAccess - 既存ポリシーの更新 | 22 |  `cloudformation:ListStackResources` を追加します。  | 2022 年 5 月 1 日 | 
| [AmazonSageMakerReadOnly](#security-iam-awsmanpol-AmazonSageMakerReadOnly) – 既存ポリシーへの更新 | 11 |  `sagemaker:QueryLineage`、`sagemaker:GetLineageGroupPolicy`、`sagemaker:BatchDescribeModelPackage`、`sagemaker:GetModelPackageGroupPolicy` アクセス許可を追加します。  | 2021 年 12 月 1 日 | 
| AmazonSageMakerFullAccess - 既存ポリシーの更新 | 21 |  非同期推論が有効になっているエンドポイントの `sns:Publish` アクセス許可を追加。  | 2021 年 9 月 8 日 | 
| AmazonSageMakerFullAccess - 既存ポリシーの更新 | 20 |  `iam:PassRole` リソースおよびアクセス許可を更新します。  |  2021 年 7 月 15 日  | 
| AmazonSageMakerReadOnly - 既存ポリシーの更新 | 10 |  SageMaker AI Feature Store に新しい API `BatchGetRecord` を追加しました。  | 2021 年 6 月 10 日 | 
|  |  |  SageMaker AI は AWS 、管理ポリシーの変更の追跡を開始しました。  | 2021 年 6 月 1 日 | 

# Amazon SageMaker AI のアイデンティティとアクセスのトラブルシューティング
<a name="security_iam_troubleshoot"></a>

次の情報は、SageMaker AI と IAM の使用に伴って発生する可能性がある一般的な問題の診断や修復に役立ちます。

**Topics**
+ [SageMaker AI でアクションを実行する権限がありません](#security_iam_troubleshoot-no-permissions)
+ [`iam:PassRole` を実行する権限がない](#security_iam_troubleshoot-passrole)
+ [AWS 自分のアカウント以外のユーザーに SageMaker AI リソースへのアクセスを許可したい](#security_iam_troubleshoot-cross-account-access)

## SageMaker AI でアクションを実行する権限がありません
<a name="security_iam_troubleshoot-no-permissions"></a>

でアクションを実行する権限がないと AWS マネジメントコンソール 通知された場合は、管理者に連絡してサポートを依頼する必要があります。管理者とは、サインイン認証情報を提供した担当者です。

次の例のエラーは、`mateojackson` IAM ユーザーがコンソールを使ってトレーニングジョブの詳細を表示する際に、`sagemaker:sagemaker:DescribeTrainingJob` アクセス許可がない場合に発生します。

```
User: arn:aws:iam::123456789012:user/mateojackson is not
            authorized to perform: sagemaker:DescribeTrainingJob on resource: my-example-widget
```

この場合、Mateo は、`sagemaker:DescribeTrainingJob` アクションを使用して `TrainingJob` リソースへのアクセスが許可されるように、管理者にポリシーの更新を依頼します。

## `iam:PassRole` を実行する権限がない
<a name="security_iam_troubleshoot-passrole"></a>

`iam:PassRole` アクションを実行するアクセス許可がないというエラーが表示された場合は、ポリシーを更新して SageMaker AI にロールを渡すことができるようにする必要があります。

一部の AWS のサービス では、新しいサービスロールまたはサービスにリンクされたロールを作成する代わりに、そのサービスに既存のロールを渡すことができます。そのためには、サービスにロールを渡すアクセス許可が必要です。

次の例のエラーは、`marymajor` という IAM ユーザーがコンソールを使って SageMaker AI でアクションの実行を試行する場合に発生します。ただし、このアクションをサービスが実行するには、サービスロールから付与されたアクセス許可が必要です。Mary には、ロールをサービスに渡すアクセス許可がありません。

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

この場合、Mary のポリシーを更新してメアリーに `iam:PassRole` アクションの実行を許可する必要があります。

サポートが必要な場合は、 AWS 管理者にお問い合わせください。サインイン資格情報を提供した担当者が管理者です。

## AWS 自分のアカウント以外のユーザーに SageMaker AI リソースへのアクセスを許可したい
<a name="security_iam_troubleshoot-cross-account-access"></a>

他のアカウントのユーザーや組織外の人が、リソースにアクセスするために使用できるロールを作成できます。ロールの引き受けを委託するユーザーを指定できます。リソースベースのポリシーまたはアクセスコントロールリスト (ACL) をサポートするサービスの場合、それらのポリシーを使用して、リソースへのアクセスを付与できます。

詳細については、以下を参照してください:
+ SageMaker AI がこれらの機能をサポートしているかどうかを確認するには、「[Amazon SageMaker AI と IAM の連携の仕組み](security_iam_service-with-iam.md)」を参照してください。
+ 所有 AWS アカウント している のリソースへのアクセスを提供する方法については、[「IAM ユーザーガイド」の「所有 AWS アカウント している別の の IAM ユーザーへのアクセスを提供する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html)」を参照してください。 **
+ リソースへのアクセスをサードパーティーに提供する方法については AWS アカウント、*IAM ユーザーガイド*の[「サードパーティー AWS アカウント が所有する へのアクセスを提供する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html)」を参照してください。
+ ID フェデレーションを介してアクセスを提供する方法については、*IAM ユーザーガイド* の [外部で認証されたユーザー (ID フェデレーション) へのアクセスの許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) を参照してください。
+ クロスアカウントアクセスにおけるロールとリソースベースのポリシーの使用方法の違いについては、*IAM ユーザーガイド* の [IAM でのクロスアカウントのリソースへのアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) を参照してください。

# ログ記録とモニタリング
<a name="sagemaker-incident-response"></a>

Amazon CloudWatch を使用して Amazon SageMaker AI をモニタリングすることで、raw データを収集し、リアルタイムに近い読み取り可能なメトリクスに加工できます。これらの統計は 15 か月間保持されるため、履歴情報にアクセスし、ウェブアプリケーションまたはサービスの動作をより的確に把握できます。また、特定のしきい値を監視するアラームを設定し、これらのしきい値に達したときに通知を送信したりアクションを実行したりできます。詳細については、「[Amazon CloudWatch における Amazon SageMaker AI メトリクス](monitoring-cloudwatch.md)」を参照してください。

Amazon CloudWatch Logs を使用すると、Amazon EC2 インスタンス、 AWS CloudTrail、およびその他のリソースからのログファイルをモニタリング、保存、アクセスできます。メトリクスを収集および追跡し、カスタマイズされたダッシュボードを作成し、指定されたメトリックが指定したしきい値に達したときに通知またはアクションを実行するアラームを設定できます。CloudWatch Logs は、ログファイル内の情報をモニタリングし、特定のしきい値が満たされたときに通知します。高い耐久性を備えたストレージにログデータをアーカイブすることも可能です。詳細については、「[Amazon SageMaker AI 用 CloudWatch Logs](logging-cloudwatch.md)」を参照してください。

AWS CloudTrail は、SageMaker AI のユーザー、ロール、または AWS のサービスによって実行されたアクションの記録を提供します。CloudTrail で収集された情報を使って、SageMaker AI に対するリクエスト、リクエスト元の IP アドレス、リクエストを実行したユーザー、リクエスト日時などの詳細を確認できます。詳細については、[を使用した Amazon SageMaker AI API コールのログ記録 AWS CloudTrail](logging-using-cloudtrail.md) を参照してください。

[Amazon GuardDuty](https://docs.aws.amazon.com/guardduty/latest/ug/what-is-guardduty.html) は、CloudTrail 管理ログとイベントログを継続的にモニタリングして分析し、潜在的なセキュリティ問題を特定する脅威検出サービスです。 AWS アカウントの GuardDuty を有効にすると、CloudTrail ログの分析が自動的に開始され、SageMaker APIs。例えば、GuardDuty は、後で悪意のあるアクションに使用できる新しい署名付きまたは空白のノートブックインスタンスをユーザーが異常に作成すると、疑わしいアクティビティであると検出します。GuardDuty の一意の認証情報の流出検出は、Amazon EC2 インスタンスに関連付けられた AWS 認証情報が流出し、別の AWS アカウントから SageMaker APIs呼び出すために使用されたことをお客様が特定するのに役立ちます。

Amazon CloudWatch Events にルールを作成すると、SageMaker トレーニング、ハイパーパラメータのチューニング、バッチ変換ジョブのステータス変更に応答できます。詳細については、「[Amazon SageMaker AI が Amazon EventBridge に送信するイベント](automating-sagemaker-with-eventbridge.md)」を参照してください。

**注記**  
CloudTrail では、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html) への呼び出しはモニタリングしません。

# Amazon SageMaker AI のコンプライアンス検証
<a name="sagemaker-compliance"></a>

 AWS のサービス が特定のコンプライアンスプログラムの範囲内にあるかどうかを確認するには、「コンプライアンス[AWS のサービス プログラムによるスコープ](https://aws.amazon.com/compliance/services-in-scope/)」の「コンプライアンス」を参照して、関心のあるコンプライアンスプログラムを選択します。一般的な情報については、[AWS 「コンプライアンスプログラム](https://aws.amazon.com/compliance/programs/)」を参照してください。

を使用して、サードパーティーの監査レポートをダウンロードできます AWS Artifact。詳細については、[「Downloading Reports in AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html)」を参照してください。

を使用する際のお客様のコンプライアンス責任 AWS のサービス は、お客様のデータの機密性、貴社のコンプライアンス目的、適用される法律および規制によって決まります。を使用する際のコンプライアンス責任の詳細については AWS のサービス、[AWS 「 セキュリティドキュメント](https://docs.aws.amazon.com/security/)」を参照してください。

# Amazon SageMaker AI の耐障害性
<a name="disaster-recovery-resiliency"></a>

 AWS グローバルインフラストラクチャは、 AWS リージョンとアベイラビリティーゾーンを中心に構築されています。 AWS リージョンは、低レイテンシー、高スループット、高度に冗長なネットワークで接続された複数の物理的に分離されたアベイラビリティーゾーンを提供します。アベイラビリティーゾーンでは、アベイラビリティーゾーン間で中断せずに、自動的にフェイルオーバーするアプリケーションとデータベースを設計および運用することができます。アベイラビリティーゾーンは、従来の単一または複数のデータセンターインフラストラクチャよりも可用性、耐障害性、およびスケーラビリティが優れています。

 AWS リージョンとアベイラビリティーゾーンの詳細については、[AWS 「 グローバルインフラストラクチャ](https://aws.amazon.com/about-aws/global-infrastructure/)」を参照してください。

Amazon SageMaker AI には、 AWS グローバルインフラストラクチャに加えて、データの耐障害性とバックアップのニーズをサポートするのに役立ついくつかの機能が用意されています。

# Amazon SageMaker AI のインフラストラクチャセキュリティ
<a name="infrastructure-security"></a>

マネージドサービスである Amazon SageMaker AI は、 AWS グローバルネットワークセキュリティで保護されています。 AWS セキュリティサービスと がインフラストラクチャ AWS を保護する方法については、[AWS 「 クラウドセキュリティ](https://aws.amazon.com/security/)」を参照してください。インフラストラクチャセキュリティのベストプラクティスを使用して環境を AWS 設計するには、*「Security Pillar AWS Well‐Architected Framework*」の[「Infrastructure Protection](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html)」を参照してください。

 AWS 公開された API コールを使用して、ネットワーク経由で Amazon SageMaker AI にアクセスします。クライアントは次をサポートする必要があります。
+ Transport Layer Security (TLS)。TLS 1.2 が必須で、TLS 1.3 をお勧めします。
+ DHE (楕円ディフィー・ヘルマン鍵共有) や ECDHE (楕円曲線ディフィー・ヘルマン鍵共有) などの完全前方秘匿性 (PFS) による暗号スイート。これらのモードは Java 7 以降など、ほとんどの最新システムでサポートされています。

**Topics**
+ [SageMaker AI がセキュリティ脆弱性の AWS Marketplace トレーニングコンテナと推論コンテナをスキャンします](#mkt-container-scan)
+ [VPC 内から Amazon SageMaker AI リソースに接続する](infrastructure-connect-to-resources.md)
+ [トレーニングおよび推論コンテナをインターネット無料モードで実行する](mkt-algo-model-internet-free.md)
+ [VPC 内で SageMaker AI に接続する](interface-vpc-endpoint.md)
+ [Amazon VPC のリソースへのアクセス権を SageMaker AI に付与する](infrastructure-give-access.md)

## SageMaker AI がセキュリティ脆弱性の AWS Marketplace トレーニングコンテナと推論コンテナをスキャンします
<a name="mkt-container-scan"></a>

セキュリティ要件を満たすために、 AWS 深層学習コンテナ、[SageMaker AI 機械学習フレームワークコンテナ、SageMaker AI 組み込みアルゴリズムコンテナ、 にリストされているアルゴリズムとモデルパッケージなど、構築済みの](https://docs.aws.amazon.com/sagemaker/latest/dg-ecr-paths/sagemaker-algo-docker-registry-paths.html)すべての SageMaker イメージ AWS Marketplace がスキャンされ、共通脆弱性識別子 (CVE) が検出されます。 SageMaker CVE とは、セキュリティの脆弱性および曝露に関する既知の情報のリストです。National Vulnerability Database (NVD) は、重大度、影響の程度、修正情報など、CVE の詳細を提供します。CVE と NVD はいずれも一般公開されており、セキュリティツールおよびサービスの利用が無料です。詳細については、「[CVE に関するよくある質問 (FAQ)](https://www.cve.org/ResourcesSupport/FAQs)」を参照してください。

# VPC 内から Amazon SageMaker AI リソースに接続する
<a name="infrastructure-connect-to-resources"></a>

**重要**  
以下の情報は、Amazon SageMaker Studio と Amazon SageMaker Studio Classic の両方に適用されます。VPC 内のリソースに接続するのと同じ概念が、Studio と Studio Classic の両方に適用されます。

Amazon SageMaker Studio と SageMaker AI ノートブックインスタンスは、直接インターネットアクセスをデフォルトで許可します。SageMaker AI を使用すると、一般的なパッケージやノートブックをダウンロードして、開発環境をカスタマイズし、効率的に作業をを進められます。ただし、これはデータへの不正アクセスの発生可能性につながる恐れがあります。例えば、一般的に利用可能なノートブックや一般公開されているソースコードライブラリの形式でコンピュータに悪意のあるコードをインストールすると、データがアクセスされることがあります。Amazon SageMaker Studio と SageMaker AI ノートブックインスタンスを、任意の [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) で起動すると、インターネットにアクセスできるトラフィックを制限できます。

Amazon Virtual Private Cloud は、 AWS アカウント専用の仮想ネットワークです。Amazon VPC を使用すると、Studio とノートブックインスタンスのネットワークアクセスとインターネット接続を制御できます。直接インターネットアクセスを無効にすると、セキュリティをさらに強化することができます。

以下のトピックでは、Studio インスタンスとノートブックインスタンスを VPC 内のリソースに接続する方法について説明します。

**Topics**
+ [VPC 内の Amazon SageMaker Studio ノートブックを外部リソースに接続する](studio-updated-and-internet-access.md)
+ [VPC 内の Studio ノートブックを外部リソースに接続する](studio-notebooks-and-internet-access.md)
+ [VPC 内のノートブックインスタンスを外部リソースに接続する](appendix-notebook-and-internet-access.md)

# VPC 内の Amazon SageMaker Studio ノートブックを外部リソースに接続する
<a name="studio-updated-and-internet-access"></a>

**重要**  
2023 年 11 月 30 日以降、従来の Amazon SageMaker Studio のエクスペリエンスは Amazon SageMaker Studio Classic と名前が変更されました。以下のセクションは、更新後の Studio のエクスペリエンスに沿った内容になっています。Studio Classic アプリケーションを使用する場合は、「[Amazon SageMaker Studio Classic](studio.md)」を参照してください。

次のトピックでは、VPC 内の Amazon SageMaker Studio ノートブックを外部リソースに接続する方法について説明します。

**Topics**
+ [インターネットとのデフォルトの通信](#studio-notebooks-and-internet-access-default-setting)
+ [インターネットとの `VPC only` 通信](#studio-notebooks-and-internet-access-vpc-only)

## インターネットとのデフォルトの通信
<a name="studio-notebooks-and-internet-access-default-setting"></a>

Amazon SageMaker Studio はデフォルトで、SageMaker AI が管理する VPC を介してインターネットと通信するネットワークインターフェイスをデフォルトで提供しています。Amazon S3 や CloudWatch などの AWS サービスへのトラフィックは、SageMaker AI API や SageMaker AI ランタイムにアクセスするトラフィックと同様に、インターネットゲートウェイを通過します。ドメインと Amazon EFS ボリューム間のトラフィックは、ドメインにオンボーディングした際に指定した VPC 、または [CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) API を呼び出した際に指定した VPC を経由します。

## インターネットとの `VPC only` 通信
<a name="studio-notebooks-and-internet-access-vpc-only"></a>

SageMaker AI の Studio ノートブックへのインターネットアクセスの提供を回避するには、[Studio にオンボードする](https://docs.aws.amazon.com/sagemaker/latest/dg/onboard-vpc.html)際、または [CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) API を呼び出す際に `VPC only` ネットワークアクセスタイプを指定して、インターネットアクセスを無効にできます。その結果、VPC に SageMaker とランタイムへのインターフェイス エンドポイント、またはインターネットにアクセスできる NAT ゲートウェイが配置され、セキュリティグループでアウトバウンド接続が許可されていない限り、Studio を実行できなくなります。

**注記**  
ドメイン作成後に、[update-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html) コマンドの `--app-network-access-type` パラメータを使用して、ネットワークアクセスタイプを変更できます。

### `VPC only` モードを使用するための要件
<a name="studio-notebooks-and-internet-access-vpc-only-requirements"></a>

`VpcOnly` を選択した場合は、次の手順に従います。

1. プライベートサブネットのみを使用する必要があります。パブリックサブネットは、`VpcOnly` モードでは使用できません。

1. サブネットに必要な IP アドレス数があることを確認してください。ユーザー 1 人あたりに必要な IP アドレスの数は、ユースケースによって異なる場合があります。ユーザー 1 人につき 2～4 個の IP アドレスを推奨します。ドメインの IP アドレス数の合計は、ドメインの作成時に提供された各サブネットで使用可能な IP アドレスの合計です。予想される IP アドレスの使用数が、指定するサブネットの数でサポートされる数を超えないようにしてください。また、多数のアベイラビリティーゾーンに分散されたサブネットを使用すると、IP アドレスの可用性を高めることができます。詳細については、「[IPv4 用の VPC とサブネットのサイズ設定](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#vpc-sizing-ipv4)」を参照してください。
**注記**  
デフォルトのテナンシー VPC でのみサブネットを設定できます。このデフォルトでは、インスタンスが共有ハードウェアで実行されます。VPC のテナンシー属性の詳細については、「[ハードウェア専有インスタンス](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)」を参照してください。

1. 
**警告**  
`VpcOnly` モードを使用すると、ドメインのネットワーク設定の一部を所有することになります。セキュリティのベストプラクティスとして、セキュリティグループのルールが提供するインバウンドアクセスとアウトバウンドアクセスに最小特権のアクセス許可を適用することをお勧めします。過度に許可されるインバウンドルール設定では、VPC にアクセスできるユーザーが認証なしで他のユーザープロファイルのアプリケーションとやり取りできる可能性があります。

   以下のトラフィックを許可するインバウンドルールとアウトバウンドルールを使用して、1 つ以上のセキュリティグループを設定します。
   + [ポート 2049 での TCP 経由の NFS トラフィック](https://docs.aws.amazon.com/efs/latest/ug/network-access.html)。ドメインと Amazon EFS ボリューム間のトラフィックです。
   + [セキュリティグループ内の TCP トラフィック](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-other-instances)。これは Jupyter Server アプリケーションと Kernel Gateway アプリケーションの間の接続に必要です。範囲 `8192-65535` 内の最小数のポートへのアクセスを許可する必要があります。

   ユーザープロファイルごとに個別のセキュリティグループを作成し、同じセキュリティグループからのインバウンドアクセスを追加します。ドメインレベルのセキュリティグループをユーザープロファイルに再利用することはお勧めしません。ドメインレベルのセキュリティグループがそれ自体へのインバウンドアクセスを許可すると、ドメイン内のすべてのアプリケーションがドメイン内の他のすべてのアプリケーションにアクセスできるようになります。

1. インターネットアクセスを許可する場合は、[インターネットゲートウェイ](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)などを経由してインターネットにアクセスできる [NAT ゲートウェイ](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-working-with)を使用する必要があります。

1. インターネットアクセスを許可しない場合は、[インターフェイス VPC エンドポイント (PrivateLink) を作成して](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html)、Studio が対応するサービス名で次のサービスにアクセスできるようにします。AWS PrivateLink また、VPC のセキュリティグループをこれらのエンドポイントに関連付ける必要があります。
   + SageMaker API: `com.amazonaws.region.sagemaker.api` 
   + SageMaker AI runtime: `com.amazonaws.region.sagemaker.runtime`。これは、エンドポイント呼び出しを実行するために必要です。
   + Amazon S3: `com.amazonaws.region.s3`。
   + SageMaker プロジェクト: `com.amazonaws.region.servicecatalog`
   + SageMaker Studio: `aws.sagemaker.region.studio`
   + 必要なその他の AWS サービス。

    [SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/) を使用してリモートトレーニングジョブを実行する場合は、次の Amazon VPC エンドポイントも作成する必要があります。
   + AWS Security Token Service: `com.amazonaws.region.sts`
   + Amazon CloudWatch: `com.amazonaws.region.logs`。 これは、SageMaker Python SDK がリモートトレーニングジョブのステータスを取得できるようにするために必要です Amazon CloudWatch。

1. オンプレミスネットワークからドメインを `VpcOnly` モードで使用する場合は、ブラウザで Studio を実行しているホストのネットワークとターゲット Amazon VPC からプライベート接続を確立します。これは、Studio UI が一時的な AWS 認証情報で API コールを使用して AWS エンドポイントを呼び出すために必要です。これらの一時的な認証情報は、ログインしたユーザープロファイルの実行ロールに関連付けられています。ドメインがオンプレミスネットワークで `VpcOnly` モードで設定されている場合、実行ロールは、設定された Amazon VPC エンドポイントを介してのみ AWS サービス API コールの実行を強制する IAM ポリシー条件を定義する場合があります。これにより、Studio UI から実行される API コールが失敗します。これを解決するには、[AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) または [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) 接続を使用することをお勧めします。

**注記**  
VPC モードで作業している場合、会社のファイアウォールによって Studio またはアプリケーションとの接続に問題が発生する場合があります。ファイアウォールの背後から Studio を使用している際にこれらの問題のいずれかが発生した場合は、次の点を確認してください。  
Studio URL とすべてのアプリケーションの URL がネットワークの許可リストに含まれていることを確認します。例えば、次のようになります。  

  ```
  *.studio.region.sagemaker.aws
  *.console.aws.a2z.com
  ```
Websocket 接続がブロックされていないことを確認します。Jupyter は Websocket を使用します。

**詳細情報**
+ [VPC のセキュリティグループ](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)
+ [VPC 内で SageMaker AI に接続する](interface-vpc-endpoint.md)
+ [パブリックサブネットとプライベートサブネットを持つ VPC (NAT)](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html)

# VPC 内の Studio ノートブックを外部リソースに接続する
<a name="studio-notebooks-and-internet-access"></a>

次のトピックでは、VPC 内の Studio ノートブックを外部リソースに接続する方法について説明します。

## インターネットとのデフォルトの通信
<a name="studio-notebooks-and-internet-access-default"></a>

SageMaker Studio は、SageMaker AI が管理する VPC を介してインターネットと通信するネットワークインターフェイスをデフォルトで提供しています。Amazon S3 や CloudWatch などの AWS サービスへのトラフィックは、インターネットゲートウェイを通過します。SageMaker API と SageMaker AI ランタイムにアクセスするトラフィックもインターネットゲートウェイを経由します。ドメインと Amazon EFS ボリューム間のトラフィックは、Studio にオンボーディングした際、または [CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) API を呼び出した際に指定した VPC を経由します。デフォルト設定は以下の図のようになります。

![\[インターネットへの直接アクセスの使用を描いた SageMaker Studio VPC の図\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/studio-vpc-internet.png)


## インターネットとの `VPC only` 通信
<a name="studio-notebooks-and-internet-access-vpc"></a>

SageMaker AI が Studio ノートブックにインターネットアクセスを提供しないようにするには、`VPC only` ネットワークアクセスタイプを指定してインターネットアクセスを無効にします。[Studio にオンボードする](https://docs.aws.amazon.com/sagemaker/latest/dg/onboard-vpc.html)際、または [CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) API を呼び出す際に、このネットワークアクセスタイプを指定します。これにより、次の条件を満たさない限り、Studio ノートブックを実行できなくなります。
+ VPC に SageMaker API とランタイムへのインターフェイスエンドポイントがあるか、インターネットにアクセスできる NAT ゲートウェイがある
+ セキュリティグループでアウトバウンド接続が許可されている

次の図は、VPC 専用モードを使用するための設定を示しています。

![\[VPC 専用モードの使用を描いた SageMaker Studio VPC の図\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/studio-vpc-private.png)


### `VPC only` モードを使用するための要件
<a name="studio-notebooks-and-internet-access-vpc-requirements"></a>

`VpcOnly` を選択した場合は、次の手順に従います。

1. プライベートサブネットのみを使用する必要があります。パブリックサブネットは、`VpcOnly` モードでは使用できません。

1. サブネットに必要な IP アドレス数があることを確認してください。ユーザー 1 人あたりに必要な IP アドレスの数は、ユースケースによって異なる場合があります。ユーザー 1 人につき 2～4 個の IP アドレスを推奨します。Studio ドメインの合計 IP アドレス数は、ドメインの作成時に提供された各サブネットで使用可能な IP アドレスの合計です。IP アドレスの使用量が、提供したサブネットの数でサポートされる容量を超えないように注意します。さらに、多数のアベイラビリティゾーンに分散されたサブネットを使用すると、IP アドレスの可用性が向上します。詳細については、「[IPv4 用の VPC とサブネットのサイズ設定](https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html#vpc-sizing-ipv4)」を参照してください。
**注記**  
デフォルトのテナンシー VPC でのみサブネットを設定できます。このデフォルトでは、インスタンスが共有ハードウェアで実行されます。VPC のテナンシー属性の詳細については、「[ハードウェア専有インスタンス](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)」を参照してください。

1. 
**警告**  
`VpcOnly` モードを使用すると、ドメインのネットワーク設定の一部を所有することになります。セキュリティのベストプラクティスとして、セキュリティグループのルールが提供するインバウンドアクセスとアウトバウンドアクセスに最小特権のアクセス許可を適用することをお勧めします。過度に許可されるインバウンドルール設定では、VPC にアクセスできるユーザーが認証なしで他のユーザープロファイルのアプリケーションとやり取りできる可能性があります。

   以下のトラフィックを許可するインバウンドルールとアウトバウンドルールを使用して、1 つ以上のセキュリティグループを設定します。
   + [ポート 2049 での TCP 経由の NFS トラフィック](https://docs.aws.amazon.com/efs/latest/ug/network-access.html)。ドメインと Amazon EFS ボリューム間のトラフィックです。
   + [セキュリティグループ内の TCP トラフィック](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-other-instances)。これは Jupyter Server アプリケーションと Kernel Gateway アプリケーションの間の接続に必要です。範囲 `8192-65535` 内の最小数のポートへのアクセスを許可する必要があります。

   ユーザープロファイルごとに個別のセキュリティグループを作成し、同じセキュリティグループからのインバウンドアクセスを追加します。ドメインレベルのセキュリティグループをユーザープロファイルに再利用することはお勧めしません。ドメインレベルのセキュリティグループがそれ自体へのインバウンドアクセスを許可すると、ドメイン内のすべてのアプリケーションがドメイン内のその他のすべてのアプリケーションにアクセスできるようになります。

1. インターネットアクセスを許可する場合は、[インターネットゲートウェイ](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)などを経由してインターネットにアクセスできる [NAT ゲートウェイ](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-working-with)を使用する必要があります。

1. インターネットアクセスを削除するには、[インターフェイス VPC エンドポイント (PrivateLink) を作成して](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)、Studio が対応するサービス名で次のサービスにアクセスできるようにします。AWS PrivateLink また、VPC のセキュリティグループをこれらのエンドポイントに関連付ける必要があります。
   + SageMaker API : `com.amazonaws.region.sagemaker.api` 
   + SageMaker AI runtime: `com.amazonaws.region.sagemaker.runtime`。Studio ノートブックを実行し、モデルをトレーニングおよびホストするために必要です。
   + Amazon S3: `com.amazonaws.region.s3`。
   + SageMaker プロジェクトを使用する場合: `com.amazonaws.region.servicecatalog`。
   + 必要なその他の AWS サービス。

    [SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/) を使用してリモートトレーニングジョブを実行する場合は、次の Amazon VPC エンドポイントも作成する必要があります。
   + AWS Security Token Service: `com.amazonaws.region.sts`
   + Amazon CloudWatch: `com.amazonaws.region.logs`。 これは、SageMaker Python SDK がリモートトレーニングジョブのステータスを取得できるようにするために必要です Amazon CloudWatch。

**注記**  
VPC モードで顧客が作業する場合、会社のファイアウォールが原因となって SageMaker Studio または JupyterServer と KernelGateway 間に接続の問題が発生する場合があります。ファイアウォールの背後から SageMaker Studio を使用している際にこれらの問題のいずれかが発生した場合は、次の点を確認してください。  
Studio URL がネットワーク許可リストに含まれていることをチェックする。
WebSocket 接続がブロックされていないことをチェックする。WebSocket は Jupyter 内部で使用されます。KernelGateway アプリケーションが InService になっていると、JupyterServer が KernelGateway に接続できない場合があります。この問題は、システムターミナルが開いている場合にも発生します。

**詳細情報**
+ [プライベート VPC を使用して Amazon SageMaker Studio の接続を保護する](https://aws.amazon.com/blogs/machine-learning/securing-amazon-sagemaker-studio-connectivity-using-a-private-vpc)
+ [VPC のセキュリティグループ](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html)
+ [VPC 内で SageMaker AI に接続する](interface-vpc-endpoint.md)
+ [パブリックサブネットとプライベートサブネットを持つ VPC (NAT)](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html)

# VPC 内のノートブックインスタンスを外部リソースに接続する
<a name="appendix-notebook-and-internet-access"></a>

次のトピックでは、VPC 内のノートブックインスタンスを外部リソースに接続する方法について説明します。

## インターネットとのデフォルトの通信
<a name="appendix-notebook-and-internet-access-default"></a>

ノートブックが*直接インターネットアクセス*を許可する場合、SageMaker AI は、SageMaker AI が管理する VPC を介してノートブックがインターネットと通信できるようにするネットワークインターフェイスを提供します。VPC の CIDR 内のトラフィックは、VPC で作成された Elastic Network Interface を経由します。その他すべてのトラフィックは、SageMaker AI が作成したネットワークインターフェイスを経由します。これは、基本的にパブリックインターネットを介して行われます。Amazon S3 や DynamoDB などのゲートウェイ VPC エンドポイントへのトラフィックは、パブリックインターネットを通過しますが、インターフェイス VPC エンドポイントへのトラフィックは引き続き VPC を通過します。ゲートウェイ VPC エンドポイントを使用する場合は、直接インターネットアクセスを無効にすることもできます。

## インターネットとの VPC のみの通信
<a name="appendix-notebook-and-internet-access-default-vpc"></a>

直接インターネットアクセスを無効にするには、ノートブックインスタンスの VPC を指定します。これにより、SageMaker AI は、ノートブックインスタンスへのインターネットアクセスを提供できなくなります。その結果、VPC にインターフェイスエンドポイント (AWS PrivateLink) または NAT ゲートウェイがあり、セキュリティグループでアウトバウンド接続が許可されている場合を除き、ノートブックインスタンスはモデルをトレーニングまたはホストできません。

ノートブックインスタンスに使用する VPC インターフェイスエンドポイントの作成については、 AWS PrivateLink 「」を参照してください[VPC インターフェイスエンドポイントを介してノートブックインスタンスに接続する](notebook-interface-endpoint.md)。VPC 用の NAT ゲートウェイのセットアップについては、*Amazon VPC ユーザーガイド*の「[パブリックサブネットとプライベートサブネットを持つ VPC (NAT)](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-example-private-subnets-nat.html)」を参照してください。セキュリティグループについては、「[VPC のセキュリティグループ](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)」を参照してください。各ネットワークモードでのネットワーク設定およびオンプレミスのネットワーク設定の詳細については、「[Amazon SageMaker ノートブックインスタンスのネットワーク設定と高度なルーティングオプションについて理解する](https://aws.amazon.com/blogs/machine-learning/understanding-amazon-sagemaker-notebook-instance-networking-configurations-and-advanced-routing-options/)」を参照してください。

**警告**  
ノートブックインスタンスに VPC を使用する場合、インスタンスのネットワーク設定を部分的に所有することになります。セキュリティのベストプラクティスとして、セキュリティグループのルールが提供するインバウンドアクセスとアウトバウンドアクセスに最小権限のアクセス許可を適用することをお勧めします。過剰なアクセス許可を付与するインバウンドルール設定を適用すると、VPC にアクセスできるユーザーは、認証を必要とせずに Jupyter Notebooks にアクセスできてしまいます。

## セキュリティと共有ノートブックインスタンス
<a name="appendix-notebook-and-single-user"></a>

SageMaker ノートブックインスタンスは、個々のユーザーに対して最適に動作するように設計されています。データサイエンティストやその他のユーザーが開発環境の管理に最大限の能力を発揮できるように設計されています。

ノートブックインスタンスユーザーには、パッケージとその他の関連ソフトウェアをインストールするためのルートアクセス権があります。機密情報を含む、VPC にアタッチされたノートブックインスタンスへのアクセス権を個々のユーザーに付与する際には、適切な判断を行うことをお勧めします。例えば、次の例に示されるとおり、署名済みノートブック URL を作成するアクセス権をユーザーに付与することで、IAM ポリシーを使用してノートブックインスタンスへのアクセス権をユーザーに付与できます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sagemaker:CreatePresignedNotebookInstanceUrl",
            "Resource": "arn:aws:sagemaker:us-east-1:111122223333:notebook-instance/myNotebookInstance"
        }
    ]
}
```

------

 

# トレーニングおよび推論コンテナをインターネット無料モードで実行する
<a name="mkt-algo-model-internet-free"></a>

SageMaker AI トレーニングとデプロイされた推論コンテナは、デフォルトでインターネットが有効になっています。これにより、コンテナは、トレーニングと推論ワークロードの一部として、外部サービスとパブリックインターネットのリソースにアクセスできるようになります。ただし、これによってデータへの不正アクセスの手段が生じることもあります。例えば、悪意のあるユーザーや、(一般公開されているソースコードライブラリの形式で) コンテナに誤ってインストールしたコードがデータにアクセスし、そのデータをリモートホストに転送する可能性があります。

[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html)、または [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) を呼び出すときに、`VpcConfig` パラメータに値を指定して Amazon VPC を使用する場合、セキュリティグループを管理し、VPC からのインターネットアクセスを制限することで、データとリソースを保護できます。ただし、これには追加のネットワーク設定のコストがかかります。また、ネットワークが適切に設定されないというリスクが付随します。SageMaker AI でトレーニングコンテナや推論コンテナへの外部ネットワークアクセスを許可しないようにする場合は、ネットワーク分離を有効にします。

## ネットワークの隔離
<a name="mkt-algo-model-internet-free-isolation"></a>

トレーニングジョブまたはモデルの作成時にネットワーク分離を有効にするには、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html)、または [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) を呼び出すときに `EnableNetworkIsolation` パラメータの値を `True` に設定できます。

**注記**  
ネットワーク分離は、 AWS Marketplaceのリソースを使用してトレーニングジョブやモデルを実行するために必要です。セキュリティを強化するために、 AWS Marketplace イメージは Amazon VPC 内で実行されます。ローカルファイルシステム内のデータにのみアクセスできます。

ネットワーク分離を有効にすると、トレーニングコンテナと推論コンテナは Amazon S3 を含むどのサービスにもアウトバウンドネットワークコールを実行できません。コンテナランタイム環境で使用できる AWS 認証情報はありません。複数のインスタンスを持つトレーニングジョブの場合、ネットワークのインバウンドトラフィックとアウトバウンドトラフィックは、トレーニングコンテナピア間の通信に制限されます。

SageMaker AI は、SageMaker AI 実行ロールを使用して、必要なすべての Amazon S3 ダウンロードおよびアップロードオペレーションを引き続き処理します。これは、トレーニングコンテナと推論コンテナとは別に行われ、コンテナの分離を維持しながらトレーニングデータとモデルアーティファクトにアクセスできるようにします。

Amazon S3 へのアクセス権が必要なため、以下のマネージド SageMaker AI コンテナではネットワーク分離がサポートされていません。
+ Chainer
+ SageMaker AI Reinforcement Learning

### VPC によるネットワーク分離
<a name="mkt-algo-model-internet-free-isolation-marketplace"></a>

ネットワーク分離は、VPC と組み合わせて使用することができます。このシナリオでは、顧客のデータとモデルのアーティファクトのダウンロードとアップロードが、VPC サブネット経由でルーティングされます。ただし、トレーニングと推論コンテナ自体はネットワークから継続的に切り離され、VPC 内またはインターネットのどのリソースにもアクセスすることはできません。

# VPC 内で SageMaker AI に接続する
<a name="interface-vpc-endpoint"></a>

インターネット経由で接続するのではなく、仮想プライベートクラウド (VPC) の[インターフェイスエンドポイント](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-interface.html)を通じて SageMaker API や Amazon SageMaker Runtime に直接接続できます。VPC インターフェイスエンドポイントを使用する場合、VPC と SageMaker AI API またはランタイム間の通信は、 AWS ネットワーク内で完全かつ安全に行われます。

## VPC インターフェイスエンドポイント経由で SageMaker AI に接続する
<a name="interface-vpc-endpoint-sagemaker-connect"></a>

SageMaker API と SageMaker AI ランタイムでは、[Amazon 仮想プライベートクラウド](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html) (Amazon VPC) インターフェイスエンドポイントがサポートされています。このエンドポイントは、[AWS PrivateLink](https://aws.amazon.com/privatelink) を使用します。各 VPC エンドポイントは、VPC サブネット内の 1 つ以上の [Elastic Network Interface](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) とプライベート IP アドレスで表されます。たとえば、VPC 内のアプリケーションは AWS PrivateLink を使用して SageMaker AI ランタイムと通信します。次に SageMaker AI ランタイムは SageMaker AI エンドポイントと通信します。 AWS PrivateLink を使用すると、次の図に示すように、VPC 内から SageMaker AI エンドポイントを呼び出すことができます。

![\[\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/security-vpc-SM.png)


VPC インターフェイスエンドポイントは、インターネットゲートウェイ、NAT デバイス、VPN 接続、または Direct Connect 接続を使用 AWS PrivateLink せずに、 を使用して VPC を SageMaker API または SageMaker AI ランタイムに直接接続します。VPC 内のインスタンスは、SageMaker API または SageMaker AI ランタイムと通信するためにパブリックインターネットに接続する必要はありません。

 AWS PrivateLink インターフェイスエンドポイントを作成して、 AWS マネジメントコンソール または AWS Command Line Interface () を使用して SageMaker AI または SageMaker AI ランタイムに接続できますAWS CLI。手順については、[「インターフェイス VPC エンドポイントを使用して AWS サービスにアクセスする](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-interface.html#create-interface-endpoint)」を参照してください。

VPC エンドポイントのプライベートドメインネームシステム (DNS) ホスト名を有効にしていない場合は、*VPC エンドポイントを作成した後*に、SageMaker API または SageMaker AI ランタイムにインターネットエンドポイント URL を指定します。 AWS CLI コマンドを使用して `endpoint-url`パラメータを指定するコード例を次に示します。

```
aws sagemaker list-notebook-instances --endpoint-url VPC_Endpoint_ID.api.sagemaker.Region.vpce.amazonaws.com

aws sagemaker list-training-jobs --endpoint-url VPC_Endpoint_ID.api.sagemaker.Region.vpce.amazonaws.com

aws sagemaker-runtime invoke-endpoint --endpoint-url https://VPC_Endpoint_ID.runtime.sagemaker.Region.vpce.amazonaws.com  \
    --endpoint-name Endpoint_Name \
    --body "Endpoint_Body" \
    --content-type "Content_Type" \
            Output_File
```

VPC エンドポイントのプライベート DNS ホスト名を有効にする場合は、デフォルトのホスト名 (https://api.sagemaker.*Region*.amazon.com) が VPC エンドポイントに解決されるため、エンドポイント URL を指定する必要はありません。同様に、デフォルトの SageMaker AI ランタイム DNS ホスト名 (https://runtime.sagemaker.*Region*.amazonaws.com) も VPC エンドポイントに解決されます。

SageMaker API と SageMaker AI ランタイムは、Amazon VPC と [SageMaker AI](https://docs.aws.amazon.com/general/latest/gr/rande.html#sagemaker_region) の両方 AWS リージョン が利用可能なすべての で VPC エンドポイントをサポートします。 [https://docs.aws.amazon.com/general/latest/gr/rande.html#vpc_region](https://docs.aws.amazon.com/general/latest/gr/rande.html#vpc_region)SageMaker AI は、VPC 内のすべての [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Operations.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Operations.html) への呼び出しをサポートしています。[ CreatePresignedNotebookInstanceUrl](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html) コマンドから `AuthorizedUrl` を使用する場合、トラフィックはパブリックインターネットを通過します。VPC エンドポイントのみを使用して署名付き URL にアクセスすることはできません。リクエストはインターネットゲートウェイを通過する必要があります。

 デフォルトでは、ユーザーは署名付き URL を企業ネットワーク外のユーザーと共有できます。セキュリティを強化するには、IAM アクセス許可を追加して、ネットワーク内でのみ使用できる URL を制限する必要があります。IAM アクセス許可の詳細については、「 [AWS PrivateLink が IAM と](https://docs.aws.amazon.com/vpc/latest/privatelink/security_iam_service-with-iam.html)連携する方法」を参照してください。

**注記**  
SageMaker AI ランタイムサービス (https://runtime.sagemaker.`Region`.amazonaws.com) の VPC インターフェイス エンドポイントを設定する場合、プライベート DNS のために VPC インターフェイス エンドポイントがクライアントのアベイラビリティーゾーンでアクティブ化されていることを確認する必要があります。アクティブ化されていないと、URL を解決しようとしたときに DNS 障害が発生する可能性があります。

詳細については AWS PrivateLink、 [AWS PrivateLink ドキュメント](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html#what-is-privatelink)を参照してください。VPC エンドポイントの料金については、「[AWS PrivateLink の料金](https://aws.amazon.com/privatelink/pricing/)」を参照してください。VPC およびエンドポイントの詳細については、「[Amazon VPC](https://aws.amazon.com/vpc/)」を参照してください。アイデンティティベースの AWS Identity and Access Management ポリシーを使用して SageMaker API と SageMaker AI ランタイムへのアクセスを制限する方法については、「」を参照してください[アイデンティティベースのポリシーを使用して SageMaker AI API へのアクセスを制御する](security_iam_id-based-policy-examples.md#api-access-policy)。

## VPC 内のリソースで SageMaker トレーニングとホスティングを使用する
<a name="use-resources-vpc"></a>

SageMaker AI は、実行ロールを使用して、トレーニングや推論コンテナから切り離して、Amazon S3 バケットおよび Amazon Elastic Container Registry (Amazon ECR) から情報をダウンロードおよびアップロードします。VPC 内にリソースがある場合でも、SageMaker AI にそれらのリソースへのアクセス許可を付与できます。以下のセクションでは、ネットワーク分離の有無にかかわらず、リソースを SageMaker AI で利用できるようにする方法を説明します。

### ネットワーク分離が有効になっていない場合
<a name="use-resources-vpc-flat"></a>

トレーニングジョブまたはモデルにネットワーク分離を設定していない場合、SageMaker AI は以下の方法のいずれかを使用してリソースにアクセスできます。
+ SageMaker トレーニングとデプロイされた推論コンテナは、デフォルトでインターネットにアクセスできます。SageMaker AI コンテナは、トレーニングと推論のワークロードの一部として、パブリックインターネットの外部サービスとリソースにアクセスできます。次の図に示すように、SageMaker AI コンテナは VPC 設定がなければ VPC 内のリソースにアクセスできません。  
![\[\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/security-vpc-no-config.png)
+ VPC 設定を使用して、elastic network interface (ENI) 経由で VPC 内のリソースと通信します。次の図に示すように、コンテナと VPC 内のリソース間の通信は VPC ネットワーク内で安全に行われます。この場合、VPC リソースとインターネットへのネットワークアクセスを管理します。  
![\[\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/security-vpc-config.png)

### ネットワーク分離の使用
<a name="use-resources-vpc-isolated"></a>

次の図に示すように、ネットワーク分離を使用すると、SageMaker AI コンテナは VPC 内のリソースと通信したり、ネットワーク呼び出しを行ったりすることができません。VPC 設定を指定すると、ダウンロードとアップロードの操作は VPC を通じて実行されます。VPC 使用時のネットワーク分離によるホスティングとトレーニングの詳細については、「[ネットワークの隔離](mkt-algo-model-internet-free.md#mkt-algo-model-internet-free-isolation)」を参照してください。

![\[\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/security-network-isolation-no-config.png)


## SageMaker AI の VPC エンドポイントポリシーを作成する
<a name="api-private-link-policy"></a>

SageMaker AI の Amazon VPC エンドポイントに対するポリシーを作成して、以下を指定できます。
+ アクションを実行できるプリンシパル。
+ 実行可能なアクション。
+ アクションを実行できるリソース。

詳細については、『*Amazon VPC ユーザーガイド*』の「[VPC エンドポイントでサービスへのアクセスを制御する](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html)」を参照してください。

**注記**  
VPC エンドポイントポリシーは、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html) 用の連邦情報処理規格 (Federal Information Processing Standards/FIPS) SageMaker AI ランタイムエンドポイントではサポートされません。

次の例の VPC エンドポイントポリシーでは、VPC インターフェイスエンドポイントにアクセスできるすべてのユーザーが、SageMaker AI でホストされた、`myEndpoint` という名前のエンドポイントを呼び出すことが許可されます。

```
{
  "Statement": [
      {
          "Action": "sagemaker:InvokeEndpoint",
          "Effect": "Allow",
          "Resource": "arn:aws:sagemaker:us-west-2:123456789012:endpoint/myEndpoint",
          "Principal": "*"
      }
  ]
}
```

この例では、以下が拒否されます。
+ その他の SageMaker API アクション (`sagemaker:CreateEndpoint` や `sagemaker:CreateTrainingJob` など)。
+ `myEndpoint` 以外の、SageMaker AI でホストされたエンドポイントの呼び出し。

**注記**  
この例では、ユーザーは VPC の外部からその他の SageMaker API アクションをまだ実行できます。VPC 内からこれらの API コールを制限する方法については、「[アイデンティティベースのポリシーを使用して SageMaker AI API へのアクセスを制御する](security_iam_id-based-policy-examples.md#api-access-policy)」を参照してください。

## Amazon SageMaker Feature Store の VPC エンドポイントポリシーを作成する
<a name="api-private-link-feature-store"></a>

 Amazon SageMaker Feature Store の VPC エンドポイントを作成するには、次のエンドポイントテンプレートを使用し、*VPC\$1Endpoint\$1ID.api* と *Region* を置き換えます。

`VPC_Endpoint_ID.api.featurestore-runtime.sagemaker.Region.vpce.amazonaws.com`



# インターフェイス VPC エンドポイント経由で Amazon SageMaker Studio と Studio Classic に接続する
<a name="studio-interface-endpoint"></a>

インターネット経由で接続する代わりに、VPC の[インターフェイスエンドポイント](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html)を介して [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) (Amazon VPC) から Amazon SageMaker Studio や Amazon SageMaker Studio Classic に接続できます。インターフェイス VPC エンドポイント (インターフェイスエンドポイント) を使用する場合、VPC と Studio または Studio Classic 間の通信は、 AWS ネットワーク内で完全かつ安全に行われます。

Studio と Studio Classic は、[AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-overview.html) を基盤とするインターフェイスエンドポイントをサポートしています。各インターフェイスエンドポイントは、VPC サブネット内の 1 つ以上の [Elastic Network Interface](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) とプライベート IP アドレスで表されます。

Studio と Studio Classic は、[Amazon SageMaker AI ](https://aws.amazon.com/sagemaker/pricing/)と [Amazon VPC](https://aws.amazon.com/vpc/pricing/) の両方が利用可能なすべての AWS リージョンでインターフェイスエンドポイントをサポートしています。

**Topics**
+ [VPC エンドポイントの作成](#studio-interface-endpoint-create)
+ [Studio または Studio Classic の VPC エンドポイントポリシーを作成する](#studio-private-link-policy)
+ [VPC 内からのアクセスのみを許可する](#studio-private-link-restrict)

## VPC エンドポイントの作成
<a name="studio-interface-endpoint-create"></a>

コンソールまたは AWS AWS Command Line Interface () を使用して Studio または Studio Classic に接続するインターフェイスエンドポイントを作成できますAWS CLI。手順については、「[インターフェイスエンドポイントの作成](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint)」を参照してください。Studio や Studio Classic に接続する VPC 内のすべてのサブネットに対してインターフェイスエンドポイントを作成する必要があります。

インターフェイスエンドポイントを作成する際は、Studio や Studio Classic に関連付けられたセキュリティグループからの HTTPS トラフィックへのインバウンドアクセスを、エンドポイントのセキュリティグループが許可していることを確認します。詳細については、「[VPC エンドポイントでサービスへのアクセスを制御する](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html#vpc-endpoints-security-groups)」を参照してください。

**注記**  
Studio や Studio Classic に接続するためのインターフェイスエンドポイントを作成する以外にも、Amazon SageMaker API に接続するためのインターフェイスエンドポイントを作成する必要があります。ユーザーが [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedDomainUrl.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedDomainUrl.html) を呼び出して Studio や Studio Classic に接続するための URL を取得する場合、その呼び出しは SageMaker API への接続に使用されるインターフェイスエンドポイントを経由します。

インターフェイスエンドポイントを作成するときに、サービス名として **aws.sagemaker.*Region*.studio** を指定します。インターフェイスエンドポイントを作成したら、エンドポイントのプライベート DNS を有効にします。SageMaker API、、またはコンソールを使用して VPC 内から Studio AWS CLIまたは Studio Classic に接続する場合、パブリックインターネットではなくインターフェイスエンドポイントを介して接続します。Studio や Studio Classic が VPC エンドポイント URL ではなく `api.sagemaker.$region.amazonaws.com` エンドポイントを使用して SageMaker API にアクセスできるように、プライベートホストゾーンを使用して Amazon VPC エンドポイントにカスタム DNS を設定する必要があります。プライベートホストゾーンの設定手順については、「[プライベートホストゾーンの使用](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html)」を参照してください。

## Studio または Studio Classic の VPC エンドポイントポリシーを作成する
<a name="studio-private-link-policy"></a>

Studio または Studio Classic への接続に使用するインターフェイス VPC エンドポイントには、Amazon VPC エンドポイントポリシーをアタッチできます。エンドポイントポリシーは、Studio または Studio Classic へのアクセスを制御します。以下を指定できます。
+ アクションを実行できるプリンシパル。
+ 実行可能なアクション。
+ アクションを実行できるリソース。

Studio または Studio Classic で VPC エンドポイントを使用するには、KernelGateway アプリケーションタイプでの `CreateApp` オペレーションをエンドポイントポリシーで許可する必要があります。これにより、VPC エンドポイントを経由してルーティングされるトラフィックで `CreateApp` API を呼び出すことができます。次の VPC エンドポイントポリシーの例は、`CreateApp` オペレーションを許可する方法を示しています。

```
{
 "Statement": [
   {
     "Action": "sagemaker:CreateApp",
     "Effect": "Allow",
     "Resource": "arn:aws:sagemaker:us-west-2:acct-id:app/domain-id/*",
     "Principal": "*"
   }
 ]
}
```

詳細については、「[VPC エンドポイントでサービスへのアクセスを制御する](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html)」を参照してください。

次の VPC エンドポイントポリシーの例では、エンドポイントへのアクセスが許可されているすべてのユーザーが、指定されたドメイン ID を使用して、SageMaker AI ドメインのユーザープロファイルにアクセスすることを許可しています。他のドメインへのアクセスは拒否されます。

```
{
  "Statement": [
      {
          "Action": "sagemaker:CreatePresignedDomainUrl",
          "Effect": "Allow",
          "Resource": "arn:aws:sagemaker:us-west-2:acct-id:user-profile/domain-id/*",
          "Principal": "*"
      }
  ]
}
```

## VPC 内からのアクセスのみを許可する
<a name="studio-private-link-restrict"></a>

VPC にインターフェイスエンドポイントを設定した場合でも、VPC 外部のユーザーはインターネットを介して Studio または Studio Classic に接続できます。

VPC 内からの接続のみにアクセスを許可するには、そのような趣旨の AWS Identity and Access Management (IAM) ポリシーを作成します。このポリシーを Studio または Studio Classic へのアクセスに使用されるすべてのユーザー、グループ、またはロールに追加します。この機能は、認証に IAM モードを使用する場合にのみサポートされ、IAM アイデンティティセンターモードではサポートされません。次の例は、そのようなポリシーの作成方法を示しています。

**重要**  
次の例のいずれかに類似した IAM ポリシーを適用すると、ユーザーは SageMaker AI コンソールを使用して Studio または Studio Classic または指定された SageMaker API にアクセスできなくなります。Studio または Studio Classic にアクセスするには、ユーザーは署名済み URL を使用するか、SageMaker API を直接呼び出す必要があります。

**例 1: インターフェイスエンドポイントのサブネット内でのみ接続を許可する**

以下のポリシーでは、インターフェイスエンドポイントを作成したサブネット内の発信者にのみ接続を許可します。

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

****  

```
{
    "Id": "sagemaker-studio-example-1",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableSageMakerStudioAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreatePresignedDomainUrl",
                "sagemaker:DescribeUserProfile"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceVpc": "vpc-111bbaaa"
                }
            }
        }
    ]
}
```

------

**例 2: `aws:sourceVpce` を使用してインターフェイスエンドポイントを介した接続のみを許可する**

以下のポリシーでは、`aws:sourceVpce` 条件キーで指定したインターフェイスエンドポイントを介して作成された接続のみを許可します。例えば、最初のインターフェイスエンドポイントは SageMaker AI コントロールパネルからのアクセスを許可します。2 番目のインターフェイスエンドポイントは SageMaker API を介したアクセスを許可します。

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

****  

```
{
    "Id": "sagemaker-studio-example-2",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableSageMakerStudioAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreatePresignedDomainUrl",
                "sagemaker:DescribeUserProfile"
            ],
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:sourceVpce": [
                        "vpce-111bbccc",
                        "vpce-111bbddd"
                    ]
                }
            }
        }
    ]
}
```

------

このポリシーには [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeUserProfile.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeUserProfile.html) アクションが含まれます。通常は、`DescribeUserProfile` を呼び出して、ユーザープロファイルのステータスが `InService` であることを確認してから、ドメインへの接続を試みます。例:

```
aws sagemaker describe-user-profile \
    --domain-id domain-id \
    --user-profile-name profile-name
```

レスポンス:

```
{
    "DomainId": "domain-id",
    "UserProfileArn": "arn:aws:sagemaker:us-west-2:acct-id:user-profile/domain-id/profile-name",
    "UserProfileName": "profile-name",
    "HomeEfsFileSystemUid": "200001",
    "Status": "InService",
    "LastModifiedTime": 1605418785.555,
    "CreationTime": 1605418477.297
}
```

```
aws sagemaker create-presigned-domain-url
    --domain-id domain-id \
    --user-profile-name profile-name
```

レスポンス:

```
{
    "AuthorizedUrl": "https://domain-id.studio.us-west-2.sagemaker.aws/auth?token=AuthToken"
}
```

これらの呼び出しの両方で、2018 年 8 月 13 日より前にリリースされたバージョンの AWS SDK を使用している場合は、呼び出しでエンドポイント URL を指定する必要があります。例えば、以下の例は、`create-presigned-domain-url` への呼び出しを示しています。

```
aws sagemaker create-presigned-domain-url
    --domain-id domain-id \
    --user-profile-name profile-name \
    --endpoint-url vpc-endpoint-id.api.sagemaker.Region.vpce.amazonaws.com
```

**例 3: `aws:SourceIp` を使用した IP アドレスからの接続を許可する**

以下のポリシーでは、`aws:SourceIp` 条件キーを使用した、指定範囲の IP アドレスからの接続のみを許可します。

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

****  

```
{
    "Id": "sagemaker-studio-example-3",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableSageMakerStudioAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreatePresignedDomainUrl",
                "sagemaker:DescribeUserProfile"
            ],
            "Resource": "*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "192.0.2.0/24",
                        "203.0.113.0/24"
                    ]
                }
            }
        }
    ]
}
```

------

**例 4: `aws:VpcSourceIp` を使用してインターフェイスエンドポイント経由の IP アドレスからの接続を許可する** 

インターフェイスエンドポイントを介して Studio または Studio Classic にアクセスする場合は、以下のポリシーに示されるとおり、`aws:VpcSourceIp` 条件キーを使用することによって、インターフェイスエンドポイントを作成したサブネット内の指定された範囲の IP アドレスからの接続のみを許可することができます。

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

****  

```
{
    "Id": "sagemaker-studio-example-4",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableSageMakerStudioAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreatePresignedDomainUrl",
                "sagemaker:DescribeUserProfile"
            ],
            "Resource": "*",
            "Condition": {
                "IpAddress": {
                    "aws:VpcSourceIp": [
                        "192.0.2.0/24",
                        "203.0.113.0/24"
                    ]
                },
                "StringEquals": {
                    "aws:SourceVpc": "vpc-111bbaaa"
                }
            }
        }
    ]
}
```

------

# インターフェイス VPC エンドポイントを介した MLflow Tracking Server への接続
<a name="mlflow-interface-endpoint"></a>

MLflow Tracking Server は、Amazon SageMaker AI が管理する Amazon Virtual Private Cloud で実行されます。独自の VPC 内のエンドポイントから MLflow Tracking Server に接続できます。Tracking Server へのリクエストは、パブリックインターネットには公開されません。VPC を SageMaker AI に接続する方法の詳細については、「[VPC 内で SageMaker AI に接続する](interface-vpc-endpoint.md)」を参照してください。

**Topics**
+ [VPC エンドポイントの作成](mlflow-interface-endpoint-create.md)
+ [SageMaker AI MLflow の VPC エンドポイントポリシーを作成する](mlflow-private-link-policy.md)
+ [VPC 内からのみアクセスを許可する](mlflow-private-link-restrict.md)

# VPC エンドポイントの作成
<a name="mlflow-interface-endpoint-create"></a>

SageMaker AI MLflow に接続するには、インターフェイスエンドポイントを作成できます。手順については、「[インターフェイスエンドポイントの作成](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint)」を参照してください。SageMaker AI MLflow に接続する VPC 内のすべてのサブネットに対してインターフェイスエンドポイントを作成する必要があります。

インターフェイスエンドポイントを作成する際は、エンドポイントのセキュリティグループが HTTPS トラフィックのインバウンドアクセスとアウトバウンドアクセスを許可していることを確認する必要があります。詳細については、「[VPC エンドポイントでサービスへのアクセスを制御する](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html#vpc-endpoints-security-groups)」を参照してください。

**注記**  
SageMaker AI MLflow に接続するためのインターフェイスエンドポイントを作成する以外にも、Amazon SageMaker API に接続するためのインターフェイスエンドポイントを作成する必要があります。ユーザーが [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedMlflowTrackingServerUrl.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedMlflowTrackingServerUrl.html) を呼び出して SageMaker AI MLflow に接続するための URL を取得する際、この呼び出しは SageMaker API への接続に使用されるインターフェイスエンドポイントを経由します。

インターフェイスエンドポイントを作成するときに、サービス名として **aws.sagemaker.*AWS リージョン*.experiments** を指定します。インターフェイスエンドポイントを作成したら、エンドポイントのプライベート DNS を有効にします。SageMaker Python SDK を使用して VPC 内から SageMaker AI MLflow に接続する場合は、パブリックインターネットではなくインターフェイスエンドポイントを介して接続します。

内で AWS マネジメントコンソール、次の手順を使用してエンドポイントを作成できます。

**エンドポイントを作成するには**

1. [[Amazon Virtual Private Cloud コンソール]](https://console.aws.amazon.com/vpcconsole) に移動します。

1. **[エンドポイント]** に移動します。

1. **エンドポイントの作成** を選択します。

1. (オプション) **[名前 (タグ)]** でエンドポイントの名前を指定します。

1. **[サービス]** の下の検索バーで、**[実験]** を指定します。

1. 作成するエンドポイントを選択します。

1. **[VPC]** では、VPC の名前を指定します。

1. **エンドポイントの作成** を選択します。

# SageMaker AI MLflow の VPC エンドポイントポリシーを作成する
<a name="mlflow-private-link-policy"></a>

SageMaker AI MLflow への接続に使うインターフェイス VPC エンドポイントには、Amazon VPC エンドポイントポリシーをアタッチできます。エンドポイントポリシーは、MLflow へのアクセスを制御します。以下を指定できます。
+ アクションを実行できるプリンシパル。
+ 実行可能なアクション。
+ アクションを実行できるリソース。

詳細については、「[VPC エンドポイントによるサービスのアクセスコントロール](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html)」を参照してください。

次の VPC エンドポイントポリシーの例では、エンドポイントにアクセスできるすべてのユーザーが、指定した MLflow Tracking Server にアクセスできるように指定しています。他の Tracking Server へのアクセスは拒否されます。

```
{
    "Statement": [
        {
            "Action": "sagemaker-mlflow:*",
            "Effect": "Allow",
            "Principal": "*",
            "Resource": "arn:aws:sagemaker:AWS リージョン:111122223333:mlflow-tracking-server/*"
        }
    ]
}
```

# VPC 内からのみアクセスを許可する
<a name="mlflow-private-link-restrict"></a>

VPC にインターフェイスエンドポイントを設定した場合でも、VPC 外部のユーザーはインターネットを介して SageMaker AI MLflow に接続できます。

VPC 内からの接続のみにアクセスを許可するには、そのような趣旨の AWS Identity and Access Management (IAM) ポリシーを作成します。このポリシーを SageMaker AI MLflow へのアクセスに使用されるすべてのユーザー、グループ、またはロールに追加します。この機能は、認証に IAM モードを使用する場合にのみサポートされ、IAM アイデンティティセンターモードではサポートされません。次の例は、そのようなポリシーの作成方法を示しています。

**重要**  
次の例のいずれかに類似した IAM ポリシーを適用すると、ユーザーは SageMaker AI コンソールから指定された SageMaker API を介して SageMaker AI MLflow にアクセスできなくなります。SageMaker AI MLflow にアクセスするには、ユーザーは署名付き URL を使用するか、SageMaker API を直接呼び出す必要があります。

**例 1: インターフェイスエンドポイントのサブネット内でのみ接続を許可する**

以下のポリシーでは、インターフェイスエンドポイントを作成したサブネット内の発信者にのみ接続を許可します。

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

****  

```
{
    "Id": "mlflow-example-1",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "MlflowAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker-mlflow:*"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceVpce": "vpce-111bbaaa"
                }
            }
        }
    ]
}
```

------

**例 2: `aws:sourceVpce` を使用してインターフェイスエンドポイントを介した接続のみを許可する**

以下のポリシーでは、`aws:sourceVpce` 条件キーで指定したインターフェイスエンドポイントを介して作成された接続のみを許可します。例えば、最初のインターフェイスエンドポイントは SageMaker AI コントロールパネルからのアクセスを許可します。2 番目のインターフェイスエンドポイントは SageMaker API を介したアクセスを許可します。

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

****  

```
{
    "Id": "sagemaker-mlflow-example-2",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "MlflowAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker-mlflow:*"
            ],
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:sourceVpce": [
                        "vpce-111bbccc",
                        "vpce-111bbddd"
                    ]
                }
            }
        }
    ]
}
```

------

**例 3: `aws:SourceIp` を使用した IP アドレスからの接続を許可する**

以下のポリシーでは、`aws:SourceIp` 条件キーを使用した、指定範囲の IP アドレスからの接続のみを許可します。

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

****  

```
{
    "Id": "sagemaker-mlflow-example-3",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "MlflowAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker-mlflow:*"
            ],
            "Resource": "*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "192.0.2.0/24",
                        "203.0.113.0/24"
                    ]
                }
            }
        }
    ]
}
```

------

**例 4: `aws:VpcSourceIp` を使用してインターフェイスエンドポイント経由の IP アドレスからの接続を許可する** 

インターフェイスエンドポイントを介して SageMaker AI MLflow にアクセスする場合は、以下のポリシーに示されるとおり、`aws:VpcSourceIp` 条件キーを使用することによって、インターフェイスエンドポイントを作成したサブネット内の指定された範囲の IP アドレスからの接続のみを許可することができます。

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

****  

```
{
    "Id": "sagemaker-mlflow-example-4",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "MlflowAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker-mlflow:*"
            ],
            "Resource": "*",
            "Condition": {
                "IpAddress": {
                    "aws:VpcSourceIp": [
                        "192.0.2.0/24",
                        "203.0.113.0/24"
                    ]
                },
                "StringEquals": {
                    "aws:SourceVpc": "vpc-111bbaaa"
                }
            }
        }
    ]
}
```

------

# VPC インターフェイスエンドポイントを介してノートブックインスタンスに接続する
<a name="notebook-interface-endpoint"></a>

パブリックインターネット経由で接続する代わりに、バーチャルプライベートクラウド (VPC) の[インターフェイスエンドポイント](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)を介して VPC からノートブックインスタンスに接続できます。VPC インターフェイスエンドポイントを使うと、VPC とノートブックインスタンスの間の通信は、 AWS ネットワーク内で完全かつ安全に行われます。

SageMaker ノートブックインスタンスでは、[AWS PrivateLink](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html#what-is-privatelink) を使用する [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html) (Amazon VPC) インターフェイスエンドポイントがサポートされています。各 VPC エンドポイントは、VPC サブネット内の 1 つ以上の [Elastic Network Interface](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) とプライベート IP アドレスで表されます。

**注記**  
ノートブックインスタンスに接続するためのインターフェイス VPC エンドポイントを作成する前に、SageMaker API に接続するためのインターフェイス VPC エンドポイントを作成してください。このようにして、ユーザーがノートブックインスタンスに接続するための URL を取得するために [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html) を呼び出すと、その呼び出しもインターフェイス VPC エンドポイントを経由します。詳細については、「[VPC 内で SageMaker AI に接続する](interface-vpc-endpoint.md)」を参照してください。

インターフェイスエンドポイントを作成して、 AWS マネジメントコンソール または AWS Command Line Interface (AWS CLI) コマンドを使用してノートブックインスタンスに接続できます。手順については、「[インターフェイスエンドポイントの作成](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-interface.html#create-interface-endpoint)」を参照してください。ノートブックインスタンスに接続する VPC 内のすべてのサブネットに対して、必ずインターフェイスエンドポイントを作成してください。

インターフェイスエンドポイントを作成するときに、サービス名として **aws.sagemaker.*Region*.notebook** を指定します。VPC エンドポイントを作成したら、VPC エンドポイントのプライベート DNS を有効にします。SageMaker API、、またはコンソールを使用して VPC 内からノートブックインスタンスに接続するユーザーは AWS CLI、パブリックインターネットではなく VPC エンドポイントを介してノートブックインスタンスに接続します。

SageMaker ノートブックインスタンスは、Amazon VPC と [SageMaker AI](https://docs.aws.amazon.com/general/latest/gr/rande.html#sagemaker_region) の両方 AWS リージョン が利用可能なすべての で VPC エンドポイントをサポートします。 [https://docs.aws.amazon.com/general/latest/gr/rande.html#vpc_region](https://docs.aws.amazon.com/general/latest/gr/rande.html#vpc_region)

**Topics**
+ [プライベートネットワークを VPC に接続する](#notebook-private-link-vpn-nbi)
+ [SageMaker AI ノートブックインスタンスの VPC エンドポイントポリシーを作成する](#nbi-private-link-policy)
+ [VPC 内からの接続へのアクセスの制限](#notebook-private-link-restrict)

## プライベートネットワークを VPC に接続する
<a name="notebook-private-link-vpn-nbi"></a>

VPC を介してノートブックインスタンスに接続するには、VPC 内のインスタンスから接続するか、 AWS Virtual Private Network (Site-to-Site VPN) または を使用してプライベートネットワークを VPC に接続する必要があります Direct Connect。詳細については Site-to-Site VPN、[「Amazon Virtual Private Cloud ユーザーガイド」の「VPN 接続](https://docs.aws.amazon.com/vpc/latest/userguide/vpn-connections.html)」を参照してください。 *Amazon Virtual Private Cloud * 詳細については AWS Direct Connect、*AWS 「 Direct Connect ユーザーガイド*[」の「接続の作成](https://docs.aws.amazon.com/directconnect/latest/UserGuide/create-connection.html)」を参照してください。

## SageMaker AI ノートブックインスタンスの VPC エンドポイントポリシーを作成する
<a name="nbi-private-link-policy"></a>

SageMaker ノートブックインスタンスの Amazon VPC エンドポイントのポリシーを作成して、以下を指定できます。
+ アクションを実行できるプリンシパル。
+ 実行可能なアクション。
+ アクションを実行できるリソース。

詳細については、『*Amazon VPC ユーザーガイド*』の「[VPC エンドポイントでサービスへのアクセスを制御する](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html)」を参照してください。

VPC エンドポイントポリシーの次の例では、エンドポイントへのアクセスが許可されているすべてのユーザーが、`myNotebookInstance` という名前のノートブックインスタンスへのアクセスが許可されることを指定しています。

```
{
  "Statement": [
      {
          "Action": "sagemaker:CreatePresignedNotebookInstanceUrl",
          "Effect": "Allow",
          "Resource": "arn:aws:sagemaker:us-west-2:123456789012:notebook-instance/myNotebookInstance",
          "Principal": "*"
      }
  ]
}
```

他のノートブックインスタンスへのアクセスは拒否されます。

## VPC 内からの接続へのアクセスの制限
<a name="notebook-private-link-restrict"></a>

VPC でインターフェイスエンドポイントを設定しても、VPC の外部にいる人はインターネット経由でノートブックインスタンスに接続できます。

**重要**  
以下のような IAM ポリシーを適用すると、ユーザーは指定された SageMaker API またはノートブックインスタンスにコンソールからアクセスできなくなります。

VPC 内からの接続のみにアクセスを制限するには、VPC 内からの呼び出しのみにアクセスを制限する AWS Identity and Access Management ポリシーを作成します。次に、ノートブックインスタンスへのアクセスに使用されるすべての AWS Identity and Access Management ユーザー、グループ、またはロールにそのポリシーを追加します。

**注記**  
このポリシーでは、インターフェイスのエンドポイントを作成したサブネット内の発信者にのみ接続を許可します。

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

****  

```
{
    "Id": "notebook-example-1",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableNotebookAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreatePresignedNotebookInstanceUrl",
                "sagemaker:DescribeNotebookInstance"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceVpc": "vpc-111bbaaa"
                }
            }
        }
    ]
}
```

------

ノートブックインスタンスへのアクセスをインターフェイスエンドポイントを使って行われた接続のみに制限したい場合は、`aws:SourceVpc:` の代わりに `aws:SourceVpce` 条件キーを使用してください。

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

****  

```
{
    "Id": "notebook-example-1",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableNotebookAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreatePresignedNotebookInstanceUrl",
                "sagemaker:DescribeNotebookInstance"
            ],
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:sourceVpce": [
                        "vpce-111bbccc",
                        "vpce-111bbddd"
                    ]
                }
            }
        }
    ]
}
```

------

これらのポリシー例はどちらも、SageMaker API 用のインターフェイスエンドポイントも作成したと想定しています。詳細については、「[VPC 内で SageMaker AI に接続する](interface-vpc-endpoint.md)」を参照してください。2 番目の例では、`aws:SourceVpce` の値の 1 つは、ノートブックインスタンスのインターフェイスエンドポイントの ID です。もう 1 つは SageMaker API のインターフェイスエンドポイントの ID です。

通常、接続しようとする前に `DescribeNotebookInstance` を呼び出して `NotebookInstanceStatus` が `InService` であることを確認するため、こちらでのポリシーの例には [  DescribeNotebookInstance](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeNotebookInstance.html) が含まれています。例えば、次のようになります。

```
aws sagemaker describe-notebook-instance \
                    --notebook-instance-name myNotebookInstance
                    
                    
{
   "NotebookInstanceArn":
   "arn:aws:sagemaker:us-west-2:1234567890ab:notebook-instance/mynotebookinstance",
   "NotebookInstanceName": "myNotebookInstance",
   "NotebookInstanceStatus": "InService",
   "Url": "mynotebookinstance.notebook.us-west-2.sagemaker.aws",
   "InstanceType": "ml.m4.xlarge",
   "RoleArn":
   "arn:aws:iam::1234567890ab:role/service-role/AmazonSageMaker-ExecutionRole-12345678T123456",
   "LastModifiedTime": 1540334777.501,
   "CreationTime": 1523050674.078,
   "DirectInternetAccess": "Disabled"
}
aws sagemaker create-presigned-notebook-instance-url --notebook-instance-name myNotebookInstance
                
                
{
   "AuthorizedUrl": "https://mynotebookinstance.notebook.us-west-2.sagemaker.aws?authToken=AuthToken
}
```

**注記**  
生成された `presigned-notebook-instance-url`、`AuthorizedUrl` は、インターネット上のどこからでも使用できます。

これらの呼び出しの両方で、VPC エンドポイントのプライベート DNS ホスト名を有効にしなかった場合、または 2018 年 8 月 13 日より前にリリースされたバージョンの AWS SDK を使用している場合は、呼び出しでエンドポイント URL を指定する必要があります。例えば、`create-presigned-notebook-instance-url` の呼び出しは以下のようになります。

```
aws sagemaker create-presigned-notebook-instance-url
    --notebook-instance-name myNotebookInstance --endpoint-url
    VPC_Endpoint_ID.api.sagemaker.Region.vpce.amazonaws.com
```

## プライベートネットワークを VPC に接続する
<a name="notebook-private-link-vpn"></a>

VPC 経由で SageMaker API と SageMaker AI ランタイムを呼び出すには、VPC 内にあるインスタンスから接続するか、 AWS Virtual Private Network (Site-to-Site VPN) または Direct Connectを使ってプライベートネットワークを VPC に接続する必要があります。詳細については Site-to-Site VPN、[「Amazon Virtual Private Cloud ユーザーガイド」の「VPN 接続](https://docs.aws.amazon.com/vpc/latest/userguide/vpn-connections.html)」を参照してください。 *Amazon Virtual Private Cloud * 詳細については AWS Direct Connect、*AWS 「 Direct Connect ユーザーガイド*[」の「接続](https://docs.aws.amazon.com/directconnect/latest/UserGuide/create-connection.html)の作成」を参照してください。

# Amazon VPC のリソースへのアクセス権を SageMaker AI に付与する
<a name="infrastructure-give-access"></a>

SageMaker AI は、デフォルトで以下のジョブタイプを Amazon Virtual Private Cloud で実行します。
+ Processing
+ トレーニング
+ モデルホスティング
+ バッチ変換
+ Amazon SageMaker Clarify
+ SageMaker AI Compilation

ただし、これらのジョブのコンテナは、トレーニングデータやモデルアーティファクトを保存する Amazon Simple Storage Service (Amazon S3) バケットなどの AWS リソースにインターネット経由でアクセスします。

データやジョブコンテナへのアクセスを制御するには、プライベート VPC を作成して設定し、それらにインターネット経由でアクセスできないようにすることをお勧めします。VPC の作成と設定の詳細については、Amazon VPC ユーザーガイドの「[Amazon VPC の開始方法](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/getting-started-ipv4.html)」を参照してください。**VPC を使うと、インターネットに接続されないように VPC を設定できるため、ジョブコンテナとデータの保護に役立ちます。VPC を使うと、VPC フローログを使ってジョブコンテナとの間のすべてのネットワークトラフィックをモニタリングすることもできます。詳細については、「Amazon VPC ユーザーガイド」の「[VPC フローログを使用した IP トラフィックのログ記録](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/flow-logs.html)」を参照してください。

プライベート VPC 設定は、サブネットとセキュリティグループを指定することでジョブを作成するときに指定します。サブネットとセキュリティグループを指定すると、SageMaker AI はサブネットの 1 つのセキュリティグループに関連付けられている *Elastic Network Interface* を作成します。ネットワークインターフェイスを使うと、ジョブコンテナは VPC 内のリソースに接続できます。ネットワークインターフェイスの詳細については、Amazon VPC ユーザーガイドの「[Elastic Network Interface](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ElasticNetworkInterfaces.html)」を参照してください。**

VPC の設定 は、[CreateProcessingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html) オペレーションまたは [CreateTrainingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html) オペレーションの `VpcConfig` オブジェクト内で指定します。トレーニングジョブを作成する際に VPC 設定を指定すると、モデルに VPC 内のリソースへのアクセスが許可されます。

VPC 設定のみを指定しても、呼び出しパスは変更されません。VPC 内で Amazon SageMaker AI に接続するには、VPC エンドポイントを作成して呼び出します。詳細については、「[VPC 内で SageMaker AI に接続する](interface-vpc-endpoint.md)」を参照してください。

**Topics**
+ [Amazon VPC のリソースへのアクセス権を SageMaker AI 処理ジョブに付与する](process-vpc.md)
+ [Amazon VPC のリソースへのアクセス権を SageMaker AI トレーニングジョブに付与する](train-vpc.md)
+ [Amazon VPC のリソースへのアクセス権を SageMaker AI のホストされたエンドポイントに付与する](host-vpc.md)
+ [Amazon VPC のリソースへのアクセス権をバッチ変換ジョブに付与する](batch-vpc.md)
+ [Amazon VPC のリソースへのアクセス権を Amazon SageMaker Clarify ジョブに付与する](clarify-vpc.md)
+ [Amazon VPC のリソースへのアクセス権を SageMaker AI コンパイルジョブに付与する](neo-vpc.md)
+ [推論レコメンダージョブに Amazon VPC 内のリソースへのアクセス許可を付与する](inference-recommender-vpc-access.md)

# Amazon VPC のリソースへのアクセス権を SageMaker AI 処理ジョブに付与する
<a name="process-vpc"></a>

データと処理ジョブへのアクセスを制御するには、プライベートサブネットを使用して Amazon VPC を作成します。VPC の作成と設定の詳細については、「*Amazon VPC ユーザーガイド*」の「[Amazon VPC の使用を開始する](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-getting-started.html)」を参照してください。

VPC フローログを使用すると、処理コンテナで送受信するすべてのネットワークトラフィックをモニタリングできます。詳細については、「Amazon VPC ユーザーガイド」の「[VPC フローログを使用した IP トラフィックのログ記録](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/flow-logs.html)」を参照してください。

このドキュメントでは、処理ジョブの Amazon VPC 設定を追加する方法を説明します。

## Amazon VPC アクセス用の処理ジョブを設定する
<a name="process-vpc-configure"></a>

処理ジョブを設定を設定するには、VPC 内のサブネットとセキュリティグループ ID を指定します。処理コンテナのサブネットを指定する必要はありません。Amazon AI SageMaker は、Amazon ECR から処理コンテナを自動的にプルします。コンテナの処理の詳細については、「[SageMaker Processing によるデータ変換ワークロード](processing-job.md)」を参照してください。

処理ジョブを作成する際は、SageMaker AI コンソールまたは API を使用して VPC 内のサブネットとセキュリティグループを指定できます。

API を使用するには、[ CreateProcessingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html) オペレーションの `NetworkConfig.VpcConfig` パラメータでサブネットとセキュリティグループ ID を指定します。SageMaker AI は、サブネットとセキュリティグループの詳細を使用してネットワークインターフェイスを作成して処理コンテナにアタッチします。ネットワークインターフェイスは、VPC 内での処理コンテナへのネットワーク接続を提供します。これにより、処理ジョブは VPC に配置されているリソースに接続できます。

`VpcConfig` への呼び出しに含める `CreateProcessingJob` パラメータの例は、以下のとおりです。

```
VpcConfig: {
    "Subnets": [
        "subnet-0123456789abcdef0",
        "subnet-0123456789abcdef1",
        "subnet-0123456789abcdef2"
    ],    
    "SecurityGroupIds": [
        "sg-0123456789abcdef0"
    ]
}
```

## SageMaker AI 処理用のプライベート VPC を設定する
<a name="process-vpc-vpc"></a>

プライベート VPC を SageMaker AI 処理ジョブ用に設定する場合、次のガイドラインに従います。VPC のセットアップについては、Amazon VPC ユーザーガイドの「[VPC とサブネットの使用](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/working-with-vpcs.html)」を参照してください。**

**Topics**
+ [サブネットに十分な IP アドレスを確保する](#process-vpc-ip)
+ [Amazon S3 VPC エンドポイントを作成する](#process-vpc-s3)
+ [カスタムエンドポイントポリシーを使用して S3 へのアクセスを制限する](#process-vpc-policy)
+ [ルートテーブルの設定](#process-vpc-route-table)
+ [VPC セキュリティグループを設定する](#process-vpc-groups)
+ [VPC の外部のリソースに接続する](#process-vpc-nat)
+ [CloudWatch のログとメトリクスを使って Amazon SageMaker Processing ジョブをモニタリングする](#process-vpc-cloudwatch)

### サブネットに十分な IP アドレスを確保する
<a name="process-vpc-ip"></a>

VPC サブネットには、処理ジョブの各インスタンス用プライベート IP アドレスが少なくとも 2 つ必要です。詳細については、*Amazon VPC ユーザーガイド*の [IPv4 用の VPC とサブネットのサイズ設定](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#vpc-sizing-ipv4)を参照してください。

### Amazon S3 VPC エンドポイントを作成する
<a name="process-vpc-s3"></a>

処理コンテナがインターネットにアクセスできないように VPC を設定した場合、アクセスを許可する VPC エンドポイントを作成しない限り、処理コンテナはデータを含む Amazon S3 バケットに接続できません。VPC エンドポイントを作成することで、データとモデルのアーティファクトを保存するバケットに処理コンテナがアクセスできるようにします。プライベート VPC からのリクエストのみに S3 バケットへのアクセスを許可するカスタムポリシーも作成することをお勧めします。詳細については、[Amazon S3 のエンドポイント](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints-s3.html)を参照してください。

**S3 VPC エンドポイントを作成するには**

1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

1. ナビゲーションペインで [**エンドポイント**] を選択し、[**エンドポイントの作成**] を選択します。

1. **[Service Name]** (サービス名) で、**com.amazonaws.*region*.s3** を選択します。この場合、*region* は VPC が存在するリージョンの名前になります。

1. **[VPC]**] で、エンドポイントに使用する VPC を選択します。

1. [**Configure route tables**] で、エンドポイントで使用するルートテーブルを選択します。VPC サービスで、選択した各ルートテーブルに、S3 トラフィックを新しいエンドポイントに向けるルートが自動的に追加されます。

1. [**ポリシー**] で、[**フルアクセス**] を選択して、VPC 内の任意のユーザーまたはサービスによる S3 サービスへのフルアクセスを許可します。アクセスを詳細に制限するには、[**カスタム**] を選択します。詳細については、「[カスタムエンドポイントポリシーを使用して S3 へのアクセスを制限する](#process-vpc-policy)」を参照してください。

### カスタムエンドポイントポリシーを使用して S3 へのアクセスを制限する
<a name="process-vpc-policy"></a>

デフォルトのエンドポイントポリシーでは、VPC のすべてのユーザーまたはサービスに対して S3 へのフルアクセスが許可されています。S3 へのアクセスを詳細に制限するには、カスタムエンドポイントポリシーを作成します。詳細については、「[Amazon S3 のエンドポイントポリシー](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-policies-s3)」を参照してください。バケットポリシーを使って、S3 バケットへのアクセスを Amazon VPC からのトラフィックのみに制限することもできます。詳細については、「[Amazon S3 バケットポリシー](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-s3-bucket-policies)」を参照してください。

#### 処理コンテナへのパッケージのインストールの制限
<a name="process-vpc-policy-repos"></a>

デフォルトエンドポイントポリシーでは、ユーザーは、Amazon Linux と Amazon Linux 2 のリポジトリからのパッケージを処理コンテナにインストールできます。ユーザーがそのリポジトリからパッケージをインストールしないようにする場合は、Amazon Linux と Amazon Linux 2 のリポジトリへのアクセスを明示的に拒否するカスタムエンドポイントポリシーを作成します。これらのリポジトリへのアクセスを拒否するポリシーの例を次に示します。

```
{ 
    "Statement": [ 
      { 
        "Sid": "AmazonLinuxAMIRepositoryAccess",
        "Principal": "*",
        "Action": [ 
            "s3:GetObject" 
        ],
        "Effect": "Deny",
        "Resource": [
            "arn:aws:s3:::packages.*.amazonaws.com/*",
            "arn:aws:s3:::repo.*.amazonaws.com/*"
        ] 
      } 
    ] 
} 

{ 
    "Statement": [ 
        { "Sid": "AmazonLinux2AMIRepositoryAccess",
          "Principal": "*",
          "Action": [ 
              "s3:GetObject" 
              ],
          "Effect": "Deny",
          "Resource": [
              "arn:aws:s3:::amazonlinux.*.amazonaws.com/*" 
              ] 
         } 
    ] 
}
```

### ルートテーブルの設定
<a name="process-vpc-route-table"></a>

エンドポイントルートテーブルのデフォルトの DNS 設定を使って、標準 Amazon S3 URL (例えば、`http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket`) が解決されるようにします。デフォルトの DNS 設定を使用しない場合は、エンドポイントルートテーブルを設定することで、処理ジョブのデータの場所の指定に使用する URL が解決されるようにします。VPC エンドポイントルートテーブルについては、Amazon VPC ユーザーガイドの「[ゲートウェイエンドポイントのルーティング](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-gateway.html#vpc-endpoints-routing)」を参照してください。**

### VPC セキュリティグループを設定する
<a name="process-vpc-groups"></a>

分散型処理では、同じ処理ジョブ内の異なるコンテナ間の通信を許可する必要があります。そのためには、同じセキュリティグループのメンバー間のインバウンド接続を許可するセキュリティグループのルールを設定します。詳細については、「[セキュリティグループのルール](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html#SecurityGroupRules)」を参照してください。

### VPC の外部のリソースに接続する
<a name="process-vpc-nat"></a>

モデルを実行している VPC 外のリソースに接続する場合は、次のいずれかを実行します。
+ **他の AWS サービスに接続する** – モデルがインターフェイス Amazon VPC エンドポイントをサポートする AWS サービスにアクセスする必要がある場合は、そのサービスに接続するエンドポイントを作成します。インターフェイスエンドポイントをサポートするサービスのリストについては、「 AWS PrivateLink ユーザーガイド」の[AWS 「 と統合されるサービス AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/aws-services-privatelink-support.html)」を参照してください。インターフェイス VPC エンドポイントの作成の詳細については、 AWS PrivateLink 「 ユーザーガイド[」の「インターフェイス VPC エンドポイントを使用して AWS サービスにアクセスする](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)」を参照してください。
+ **インターネット経由でリソースに接続する** — モデルがインターネットにアクセスできるサブネットを持たない Amazon VPC 内のインスタンスで実行されている場合、モデルはインターネット上のリソースにアクセスできません。モデルがインターフェイス VPC エンドポイントをサポートしていない AWS サービス、または 外のリソースにアクセスする必要がある場合は AWS、パブリックサブネットのパブリック NAT ゲートウェイを使用してインターネットにアクセスできるプライベートサブネットでモデルを実行していることを確認してください。プライベートサブネットでモデルを実行したら、プライベートサブネットからパブリックサブネットのパブリック NAT ゲートウェイへのアウトバウンド接続を許可するようにセキュリティグループとネットワークアクセスコントロールリスト (NACL) を設定します。詳細については、「Amazon VPC ユーザーガイ」ドの「[NAT ゲートウェイ](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html )」を参照してください。

### CloudWatch のログとメトリクスを使って Amazon SageMaker Processing ジョブをモニタリングする
<a name="process-vpc-cloudwatch"></a>

Amazon SageMaker AI は、トレーニングジョブをモニタリングするための Amazon CloudWatch ログとメトリクスを提供します。CloudWatch は、CPU、GPU、メモリ、GPU メモリ、ディスクメトリクス、イベントログを提供します。SageMaker 処理ジョブの詳細については、「[Amazon CloudWatch における Amazon SageMaker AI メトリクス](monitoring-cloudwatch.md)」と「[SageMaker AI ジョブメトリクス](monitoring-cloudwatch.md#cloudwatch-metrics-jobs)」を参照してください。

# Amazon VPC のリソースへのアクセス権を SageMaker AI トレーニングジョブに付与する
<a name="train-vpc"></a>

**注記**  
トレーニングジョブの場合は、デフォルトのテナンシー VPC でのみサブネットを設定できます。このデフォルトでは、インスタンスが共有ハードウェアで実行されます。VPC のテナンシー属性の詳細については、「[ハードウェア専有インスタンス](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)」を参照してください。

## Amazon VPC アクセス用にトレーニングジョブを設定する
<a name="train-vpc-configure"></a>

トレーニングジョブへのアクセスを制御するには、インターネットにアクセスできないプライベートサブネットを備えた Amazon VPC で実行します。

サブネットとセキュリティグループ ID を指定して、VPC で実行されるようにトレーニングジョブを設定します。トレーニングジョブのコンテナのサブネットを指定する必要はありません。Amazon AI SageMaker は、Amazon ECR からトレーニングコンテナイメージを自動的にプルします。

トレーニングジョブを作成する際は、SageMaker AI コンソールまたは API を使用して VPC 内のサブネットとセキュリティグループを指定できます。

API を使用するには、[CreateTrainingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html) オペレーションの `VpcConfig` パラメータでサブネットとセキュリティグループ ID を指定します。SageMaker AI は、サブネットとセキュリティグループの詳細を使用してネットワークインターフェイスを作成してトレーニングコンテナにアタッチします。ネットワークインターフェイスは、VPC 内でのトレーニングコンテナへのネットワーク接続を提供します。これにより、トレーニングジョブは VPC に配置されているリソースに接続できます。

`VpcConfig` への呼び出しに含める `CreateTrainingJob` パラメータの例は、以下のとおりです。

```
VpcConfig: {
      "Subnets": [
          "subnet-0123456789abcdef0",
          "subnet-0123456789abcdef1",
          "subnet-0123456789abcdef2"
          ],
      "SecurityGroupIds": [
          "sg-0123456789abcdef0"
          ]
        }
```

## SageMaker AI トレーニング用のプライベート VPC を設定する
<a name="train-vpc-vpc"></a>

プライベート VPC を SageMaker AI トレーニングジョブ用に設定する場合、次のガイドラインに従います。VPC のセットアップについては、Amazon VPC ユーザーガイドの「[VPC とサブネットの使用](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/working-with-vpcs.html)」を参照してください。**

**Topics**
+ [サブネットに十分な IP アドレスを確保する](#train-vpc-ip)
+ [Amazon S3 VPC エンドポイントを作成する](#train-vpc-s3)
+ [カスタムエンドポイントポリシーを使用して S3 へのアクセスを制限する](#train-vpc-policy)
+ [ルートテーブルの設定](#train-vpc-route-table)
+ [VPC セキュリティグループを設定する](#train-vpc-groups)
+ [VPC の外部のリソースに接続する](#train-vpc-nat)
+ [CloudWatch のログとメトリクスを使って Amazon SageMaker トレーニングジョブをモニタリングする](#train-vpc-cloudwatch)

### サブネットに十分な IP アドレスを確保する
<a name="train-vpc-ip"></a>

Elastic Fabric Adapter (EFA) を使用しないトレーニングインスタンスには、少なくとも 2 つのプライベート IP アドレスが必要です。**EFA を使用するトレーニングインスタンスには、少なくとも 5 つのプライベート IP アドレスが必要です。詳細については、「Amazon EC2 ユーザーガイド」の 「[複数の IP アドレス](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/MultipleIP.html)」を参照してください。

VPC サブネットには、トレーニングジョブの各インスタンス用プライベート IP アドレスが少なくとも 2 つ必要です。詳細については、*Amazon VPC ユーザーガイド*の [IPv4 用の VPC とサブネットのサイズ設定](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#vpc-sizing-ipv4)を参照してください。

### Amazon S3 VPC エンドポイントを作成する
<a name="train-vpc-s3"></a>

トレーニングコンテナがインターネットにアクセスできないように VPC を設定した場合、アクセスを許可する VPC エンドポイントを作成しない限り、トレーニングコンテナはトレーニングデータを含む Amazon S3 バケットに接続できません。VPC エンドポイントを作成することで、データとモデルのアーティファクトを保存するバケットにトレーニングコンテナがアクセスできるようにします。プライベート VPC からのリクエストのみに S3 バケットへのアクセスを許可するカスタムポリシーも作成することをお勧めします。詳細については、[Amazon S3 のエンドポイント](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints-s3.html)を参照してください。

**S3 VPC エンドポイントを作成するには**

1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

1. ナビゲーションペインで [**エンドポイント**] を選択し、[**エンドポイントの作成**] を選択します。

1. **[Service Name]** (サービス名) で、**com.amazonaws.*region*.s3** を検索します。この場合、*region* は VPC が存在するリージョンの名前になります。

1. **[Gateway]** (ゲートウェイ) タイプを選択します。

1. **[VPC]**] で、エンドポイントに使用する VPC を選択します。

1. [**Configure route tables**] で、エンドポイントで使用するルートテーブルを選択します。VPC サービスで、選択した各ルートテーブルに、S3 トラフィックを新しいエンドポイントに向けるルートが自動的に追加されます。

1. [**ポリシー**] で、[**フルアクセス**] を選択して、VPC 内の任意のユーザーまたはサービスによる S3 サービスへのフルアクセスを許可します。アクセスを詳細に制限するには、[**カスタム**] を選択します。詳細については、「[カスタムエンドポイントポリシーを使用して S3 へのアクセスを制限する](#train-vpc-policy)」を参照してください。

### カスタムエンドポイントポリシーを使用して S3 へのアクセスを制限する
<a name="train-vpc-policy"></a>

デフォルトのエンドポイントポリシーでは、VPC のすべてのユーザーまたはサービスに対して S3 へのフルアクセスが許可されています。S3 へのアクセスを詳細に制限するには、カスタムエンドポイントポリシーを作成します。詳細については、「[Amazon S3 のエンドポイントポリシー](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-policies-s3)」を参照してください。バケットポリシーを使って、S3 バケットへのアクセスを Amazon VPC からのトラフィックのみに制限することもできます。詳細については、「[Amazon S3 バケットポリシー](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-s3-bucket-policies)」を参照してください。

#### トレーニングコンテナへのパッケージのインストールを制限する
<a name="train-vpc-policy-repos"></a>

デフォルトエンドポイントポリシーでは、ユーザーは、Amazon Linux と Amazon Linux 2 のリポジトリからのパッケージをトレーニングコンテナにインストールできます。ユーザーがそのリポジトリからパッケージをインストールしないようにする場合は、Amazon Linux と Amazon Linux 2 のリポジトリへのアクセスを明示的に拒否するカスタムエンドポイントポリシーを作成します。これらのリポジトリへのアクセスを拒否するポリシーの例を次に示します。

```
{ 
    "Statement": [ 
      { 
        "Sid": "AmazonLinuxAMIRepositoryAccess",
        "Principal": "*",
        "Action": [ 
            "s3:GetObject" 
        ],
        "Effect": "Deny",
        "Resource": [
            "arn:aws:s3:::packages.*.amazonaws.com/*",
            "arn:aws:s3:::repo.*.amazonaws.com/*"
        ] 
      } 
    ] 
} 

{ 
    "Statement": [ 
        { "Sid": "AmazonLinux2AMIRepositoryAccess",
          "Principal": "*",
          "Action": [ 
              "s3:GetObject" 
              ],
          "Effect": "Deny",
          "Resource": [
              "arn:aws:s3:::amazonlinux.*.amazonaws.com/*" 
              ] 
         } 
    ] 
}
```

### ルートテーブルの設定
<a name="train-vpc-route-table"></a>

エンドポイントルートテーブルのデフォルトの DNS 設定を使って、標準 Amazon S3 URL (例えば、`http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket`) が解決されるようにします。デフォルトの DNS 設定を使用しない場合は、エンドポイントルートテーブルを設定することで、トレーニングジョブのデータの場所の指定に使用する URL が解決されるようにします。VPC エンドポイントルートテーブルについては、Amazon VPC ユーザーガイドの「[ゲートウェイエンドポイントのルーティング](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-gateway.html#vpc-endpoints-routing)」を参照してください。**

### VPC セキュリティグループを設定する
<a name="train-vpc-groups"></a>

分散型トレーニングでは、同じトレーニングジョブ内の異なるコンテナ間の通信を許可する必要があります。そのためには、同じセキュリティグループのメンバー間のインバウンド接続を許可するセキュリティグループのルールを設定します。EFA 対応インスタンスの場合は、インバウンド接続とアウトバウンド接続の両方が同じセキュリティグループからのすべてのトラフィックを許可するようにする必要があります。詳細については、「Amazon Virtual Private Cloud ユーザーガイド」の「[セキュリティグループのルール](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html#SecurityGroupRules)」を参照してください。**

### VPC の外部のリソースに接続する
<a name="train-vpc-nat"></a>

インターネットにアクセスできないように VPC を設定する場合、その VPC を使用するトレーニングジョブは、VPC の外部のリソースにアクセスできません。トレーニングジョブが VPC の外部のリソースにアクセスする必要がある場合は、次のいずれかのオプションを使用してアクセスを可能にします。
+ トレーニングジョブがインターフェイス VPC エンドポイントをサポートする AWS サービスにアクセスする必要がある場合は、そのサービスに接続するためのエンドポイントを作成します。インターフェイスエンドポイントをサポートするサービスのリストについては、「Amazon Virtual Private Cloud ユーザーガイド」の「[VPC エンドポイント](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html)」を参照してください。**インターフェイス VPC エンドポイントの作成の詳細については、*Amazon Virtual Private Cloud * [AWS Private Cloud ユーザーガイドの「インターフェイス VPC エンドポイント (PrivateLink)](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-interface.html)」を参照してください。
+ トレーニングジョブがインターフェイス VPC エンドポイントをサポートしていない AWS サービスまたは 外のリソースにアクセスする必要がある場合は AWS、NAT ゲートウェイを作成し、アウトバウンド接続を許可するようにセキュリティグループを設定します。VPC 用の NAT ゲートウェイのセットアップについては、*Amazon Virtual Private Cloud ユーザーガイド*の「[シナリオ 2: パブリックサブネットとプライベートサブネットを持つ VPC (NAT)](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html)」を参照してください。

### CloudWatch のログとメトリクスを使って Amazon SageMaker トレーニングジョブをモニタリングする
<a name="train-vpc-cloudwatch"></a>

Amazon SageMaker AI は、トレーニングジョブをモニタリングするための Amazon CloudWatch ログとメトリクスを提供します。CloudWatch は、CPU、GPU、メモリ、GPU メモリ、ディスクメトリクス、イベントログを提供します。Amazon SageMaker のトレーニングジョブのモニタリングの詳細については、「[Amazon CloudWatch における Amazon SageMaker AI メトリクス](monitoring-cloudwatch.md)」と「[SageMaker AI ジョブメトリクス](monitoring-cloudwatch.md#cloudwatch-metrics-jobs)」を参照してください。

# Amazon VPC のリソースへのアクセス権を SageMaker AI のホストされたエンドポイントに付与する
<a name="host-vpc"></a>

## Amazon VPC アクセス用にモデルを設定する
<a name="host-vpc-configure"></a>

プライベート VPC 内のサブネットとセキュリティグループを指定するには、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API の `VpcConfig` リクエストパラメータを使用するか、SageMaker AI コンソールでモデルを作成する際に、この情報を指定します。SageMaker AI は、この情報を使用してネットワークインターフェイスを作成し、モデルコンテナにアタッチします。ネットワークインターフェイスは、インターネットに接続されていない VPC 内のネットワーク接続をモデルコンテナに提供します。また、モデルがプライベート VPC 内のリソースに接続できるようにします。

**注記**  
ホスティングインスタンスが 1 つしかない場合でも、プライベート VPC 内の異なるアベイラビリティーゾーンに 2 つ以上のサブネットを作成する必要があります。

次に、`VpcConfig` への呼び出しに含める `CreateModel` パラメータの例を示します。

```
VpcConfig: {
      "Subnets": [
          "subnet-0123456789abcdef0",
          "subnet-0123456789abcdef1",
          "subnet-0123456789abcdef2"
          ],
      "SecurityGroupIds": [
          "sg-0123456789abcdef0"
          ]
       }
```

## SageMaker AI ホスティング用のプライベート VPC を設定する
<a name="host-vpc-vpc"></a>

プライベート VPC を SageMaker AI モデル用に設定する場合、次のガイドラインに従います。VPC のセットアップについては、Amazon VPC ユーザーガイドの「[VPC とサブネットの使用](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/working-with-vpcs.html)」を参照してください。**

**Topics**
+ [サブネットに十分な IP アドレスを確保する](#host-vpc-ip)
+ [Amazon S3 VPC エンドポイントを作成する](#host-vpc-s3)
+ [カスタムエンドポイントポリシーを使って Amazon S3 へのアクセスを制限する](#host-vpc-policy)
+ [VPC で実行されているコンテナのエンドポイントアクセスに対するアクセス許可をカスタムの IAM ポリシーに追加する](#host-vpc-endpoints)
+ [ルートテーブルの設定](#host-vpc-route-table)
+ [VPC の外部のリソースに接続する](#model-vpc-nat)

### サブネットに十分な IP アドレスを確保する
<a name="host-vpc-ip"></a>

Elastic Fabric Adapter (EFA) を使用しないトレーニングインスタンスには、少なくとも 2 つのプライベート IP アドレスが必要です。EFA を使用するトレーニングインスタンスには、少なくとも 5 つのプライベート IP アドレスが必要です。詳細については、「Amazon EC2 ユーザーガイド」の 「[複数の IP アドレス](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/MultipleIP.html)」を参照してください。

### Amazon S3 VPC エンドポイントを作成する
<a name="host-vpc-s3"></a>

モデルコンテナがインターネットにアクセスできないように VPC を設定した場合、アクセスを許可する VPC エンドポイントを作成しない限り、モデルコンテナはデータを含む Amazon S3 バケットに接続できません。VPC エンドポイントを作成することで、データとモデルのアーティファクトを保存するバケットにモデルコンテナがアクセスできるようにします。プライベート VPC からのリクエストのみに S3 バケットへのアクセスを許可するカスタムポリシーも作成することをお勧めします。詳細については、[Amazon S3 のエンドポイント](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints-s3.html)を参照してください。

**Amazon S3 VPC エンドポイントを作成するには:**

1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

1. ナビゲーションペインで [**エンドポイント**] を選択し、[**エンドポイントの作成**] を選択します。

1. **サービス名** で、**com.amazonaws.*region*.s3** を選択します。*region* は VPC が存在する AWS リージョンの名前です。

1. [**VPC**] で、エンドポイントに使用する VPC を選択します。

1. **[Configure route tables]** (ルートテーブルの設定) で、エンドポイントで使うルートテーブルを選択します。VPC サービスは、選択した各ルートテーブルに自動的にルートを追加し、その Amazon S3 トラフィックが新しいエンドポイントを指すようにします。

1. **[Policy]** (ポリシー) で、**[Full Access]** (フルアクセス) を選択して、VPC 内の任意のユーザーまたはサービスによる Amazon S3 サービスへのフルアクセスを許可します。アクセスを詳細に制限するには、[**カスタム**] を選択します。詳細については、「[カスタムエンドポイントポリシーを使って Amazon S3 へのアクセスを制限する](#host-vpc-policy)」を参照してください。

### カスタムエンドポイントポリシーを使って Amazon S3 へのアクセスを制限する
<a name="host-vpc-policy"></a>

デフォルトのエンドポイントポリシーでは、VPC のすべてのユーザーまたはサービスに対して Amazon Simple Storage Service (Amazon S3) へのフルアクセスが許可されています。Amazon S3 へのアクセスを詳細に制限するには、カスタムエンドポイントポリシーを作成します。詳細については、「[Amazon S3 のエンドポイントポリシー](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-policies-s3)」を参照してください。

バケットポリシーを使って、S3 バケットへのアクセスを Amazon VPC からのトラフィックのみに制限することもできます。詳細については、「[Amazon S3 バケットポリシー](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-s3-bucket-policies)」を参照してください。

#### カスタムのエンドポイントポリシーでモデルコンテナへのパッケージのインストールを制限する
<a name="host-vpc-policy-repos"></a>

デフォルトエンドポイントポリシーでは、ユーザーは、Amazon Linux と Amazon Linux 2 のリポジトリからのパッケージをモデルコンテナにインストールできます。ユーザーがそのようなリポジトリからパッケージをインストールしないようにする場合は、Amazon Linux と Amazon Linux 2 のリポジトリへのアクセスを明示的に拒否するカスタムエンドポイントポリシーを作成します。これらのリポジトリへのアクセスを拒否するポリシーの例を次に示します。

```
{ 
    "Statement": [ 
      { 
        "Sid": "AmazonLinuxAMIRepositoryAccess",
        "Principal": "*",
        "Action": [ 
            "s3:GetObject" 
        ],
        "Effect": "Deny",
        "Resource": [
            "arn:aws:s3:::packages.*.amazonaws.com/*",
            "arn:aws:s3:::repo.*.amazonaws.com/*"
        ] 
      } 
    ] 
} 

{ 
    "Statement": [ 
        { "Sid": "AmazonLinux2AMIRepositoryAccess",
          "Principal": "*",
          "Action": [ 
              "s3:GetObject" 
              ],
          "Effect": "Deny",
          "Resource": [
              "arn:aws:s3:::amazonlinux.*.amazonaws.com/*" 
              ] 
         } 
    ] 
}
```

### VPC で実行されているコンテナのエンドポイントアクセスに対するアクセス許可をカスタムの IAM ポリシーに追加する
<a name="host-vpc-endpoints"></a>

`SageMakerFullAccess` 管理ポリシーには、エンドポイントでの Amazon VPC アクセス用に設定されたモデルを使うのに必要なアクセス許可が含まれます。これらのアクセス許可により、SageMaker AI は Elastic Network Interface を作成し、それを VPC で実行されているモデルコンテナにアタッチできます。独自の IAM ポリシーを使う場合、次のアクセス許可をそのポリシーに追加して、VPC アクセス用に設定されたモデルを使う必要があります。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeVpcEndpoints",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeVpcs",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DeleteNetworkInterfacePermission",
                "ec2:DeleteNetworkInterface",
                "ec2:CreateNetworkInterfacePermission",
                "ec2:CreateNetworkInterface"
            ],
            "Resource": "*"
        }
    ]
}
```

------

`SageMakerFullAccess` 管理ポリシーの詳細については、「[AWS マネージドポリシー: AmazonSageMakerFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonSageMakerFullAccess)」を参照してください。

### ルートテーブルの設定
<a name="host-vpc-route-table"></a>

エンドポイントルートテーブルのデフォルトの DNS 設定を使って、標準 Amazon S3 URL (例えば、`http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket`) が解決されるようにします。デフォルトの DNS 設定を使用しない場合は、エンドポイントルートテーブルを設定することで、モデルのデータの場所の指定に使用する URL が解決されるようにします。VPC エンドポイントルートテーブルについては、Amazon VPC ユーザーガイドの「[ゲートウェイエンドポイントのルーティング](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-gateway.html#vpc-endpoints-routing)」を参照してください。**

### VPC の外部のリソースに接続する
<a name="model-vpc-nat"></a>

インターネットにアクセスできないように VPC を設定する場合、その VPC を使用するモデルは、VPC の外部のリソースにアクセスできません。モデルが VPC の外部のリソースにアクセスする必要がある場合は、次のいずれかのオプションを使用してアクセスを可能にします。
+ モデルがインターフェイス VPC エンドポイントをサポートする AWS サービスにアクセスする必要がある場合は、そのサービスに接続するエンドポイントを作成します。インターフェイスエンドポイントをサポートするサービスのリストについては、Amazon VPC ユーザーガイドの「[VPC エンドポイント](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html)」を参照してください。**インターフェイス VPC エンドポイントの作成については、*「Amazon* [VPC ユーザーガイド」の「インターフェイス VPC エンドポイント (AWS PrivateLink)](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-interface.html)」を参照してください。
+ モデルがインターフェイス VPC エンドポイントをサポートしていない AWS サービスまたは 外のリソースにアクセスする必要がある場合は AWS、NAT ゲートウェイを作成し、アウトバウンド接続を許可するようにセキュリティグループを設定します。VPC 用の NAT ゲートウェイのセットアップについては、*Amazon Virtual Private Cloud ユーザーガイド*の「[シナリオ 2: パブリックサブネットとプライベートサブネットを持つ VPC (NAT)](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html)」を参照してください。

# Amazon VPC のリソースへのアクセス権をバッチ変換ジョブに付与する
<a name="batch-vpc"></a>

データおよびバッチ変換ジョブへのアクセスを制御するには、プライベート Amazon VPC を作成して設定し、パブリックインターネット経由でジョブにアクセスできないようにすることをお勧めします。VPC 設定を指定するには、モデルの作成時にサブネットとセキュリティグループを指定します。次に、バッチ変換ジョブを作成するときに、同じモデルを指定します。サブネットとセキュリティグループを指定すると、SageMaker AI はサブネットの 1 つのセキュリティグループに関連付けられている *Elastic Network Interface* を作成します。ネットワークインターフェイスを使うと、モデルコンテナは VPC 内のリソースに接続できます。ネットワークインターフェイスの詳細については、Amazon VPC ユーザーガイドの「[Elastic Network Interface](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ElasticNetworkInterfaces.html)」を参照してください。**

このドキュメントでは、バッチ変換ジョブの Amazon VPC 設定を追加する方法を説明します。

## Amazon VPC アクセス用にバッチ変換ジョブを設定する
<a name="batch-vpc-configure"></a>

プライベート VPC 内のサブネットとセキュリティグループを指定するには、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API の `VpcConfig` リクエストパラメータを使用するか、SageMaker AI コンソールでモデルを作成する際に、この情報を指定します。次に、同じモデルを [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html) API の `ModelName` リクエストパラメータで指定するか、SageMaker AI コンソールで変換ジョブを作成するときに **[モデル名]** フィールドで指定します。SageMaker AI は、この情報を使用してネットワークインターフェイスを作成し、モデルコンテナにアタッチします。ネットワークインターフェイスは、インターネットに接続されていない VPC 内のネットワーク接続をモデルコンテナに提供します。また、変換ジョブがプライベート VPC 内のリソースに接続できるようにします。

次に、`VpcConfig` への呼び出しに含める `CreateModel` パラメータの例を示します。

```
VpcConfig: {
      "Subnets": [
          "subnet-0123456789abcdef0",
          "subnet-0123456789abcdef1",
          "subnet-0123456789abcdef2"
          ],
      "SecurityGroupIds": [
          "sg-0123456789abcdef0"
          ]
        }
```

`CreateModel` API オペレーションを使ってモデルを作成する場合、モデルの作成に使う IAM 実行ロールには、「[CreateModel API: 実行ロールアクセス許可](sagemaker-roles.md#sagemaker-roles-createmodel-perms)」で説明しているアクセス許可 (プライベート VPC に必要な次のアクセス許可など) を含める必要があります。

コンソールでモデルを作成する場合に **[Model Settings]** (モデル設定) セクションの**[Create a new role]** (新しいロールの作成) を選択したときは、ロールの作成に使用した [AmazonSageMakerFullAccess ](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess$jsonEditor) ポリシーに、既にこれらのアクセス許可が含まれています。**[Enter a custom IAM role ARN]** (カスタム IAM ロールの ARN の入力) または **[Use existing role]** (既存のロールの使用) を選択した場合、指定するロールの ARN に、次のアクセス許可を持つ実行ポリシーをアタッチする必要があります。

```
{
            "Effect": "Allow",
            "Action": [
            "ec2:CreateNetworkInterface",
            "ec2:CreateNetworkInterfacePermission",
            "ec2:DeleteNetworkInterface",
            "ec2:DeleteNetworkInterfacePermission",
            "ec2:DescribeNetworkInterfaces",
            "ec2:DescribeVpcs",
            "ec2:DescribeDhcpOptions",
            "ec2:DescribeSubnets",
            "ec2:DescribeSecurityGroups"
```

## SageMaker AI バッチ変換用のプライベート VPC を設定する
<a name="batch-vpc-vpc"></a>

プライベート VPC を SageMaker AI バッチ変換ジョブ用に設定する場合、次のガイドラインに従います。VPC のセットアップについては、Amazon VPC ユーザーガイドの「[VPC とサブネットの使用](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/working-with-vpcs.html)」を参照してください。**

**Topics**
+ [サブネットに十分な IP アドレスを確保する](#batch-vpc-ip)
+ [Amazon S3 VPC エンドポイントを作成する](#batch-vpc-s3)
+ [カスタムエンドポイントポリシーを使用して S3 へのアクセスを制限する](#batch-vpc-policy)
+ [ルートテーブルの設定](#batch-vpc-route-table)
+ [VPC セキュリティグループを設定する](#batch-vpc-groups)
+ [VPC の外部のリソースに接続する](#batch-vpc-nat)

### サブネットに十分な IP アドレスを確保する
<a name="batch-vpc-ip"></a>

VPC サブネットには、変換ジョブの各インスタンスにプライベート IP アドレスが少なくとも 2 つ必要です。詳細については、*Amazon VPC ユーザーガイド*の [IPv4 用の VPC とサブネットのサイズ設定](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#vpc-sizing-ipv4)を参照してください。

### Amazon S3 VPC エンドポイントを作成する
<a name="batch-vpc-s3"></a>

モデルコンテナがインターネットにアクセスできないように VPC を設定した場合、アクセスを許可する VPC エンドポイントを作成しない限り、モデルコンテナはデータを含む Amazon S3 バケットに接続できません。VPC エンドポイントを作成することで、データとモデルのアーティファクトを保存するバケットにモデルコンテナがアクセスできるようにします。プライベート VPC からのリクエストのみに S3 バケットへのアクセスを許可するカスタムポリシーも作成することをお勧めします。詳細については、[Amazon S3 のエンドポイント](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints-s3.html)を参照してください。

**S3 VPC エンドポイントを作成するには**

1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

1. ナビゲーションペインで [**エンドポイント**] を選択し、[**エンドポイントの作成**] を選択します。

1. **[Service Name]** (サービス名) で、**com.amazonaws.*region*.s3** を選択します。この場合、*region* は VPC が存在するリージョンの名前になります。

1. **[VPC]**] で、エンドポイントに使用する VPC を選択します。

1. [**Configure route tables**] で、エンドポイントで使用するルートテーブルを選択します。VPC サービスで、選択した各ルートテーブルに、S3 トラフィックを新しいエンドポイントに向けるルートが自動的に追加されます。

1. [**ポリシー**] で、[**フルアクセス**] を選択して、VPC 内の任意のユーザーまたはサービスによる S3 サービスへのフルアクセスを許可します。アクセスを詳細に制限するには、[**カスタム**] を選択します。詳細については、「[カスタムエンドポイントポリシーを使用して S3 へのアクセスを制限する](#batch-vpc-policy)」を参照してください。

### カスタムエンドポイントポリシーを使用して S3 へのアクセスを制限する
<a name="batch-vpc-policy"></a>

デフォルトのエンドポイントポリシーでは、VPC のすべてのユーザーまたはサービスに対して S3 へのフルアクセスが許可されています。S3 へのアクセスを詳細に制限するには、カスタムエンドポイントポリシーを作成します。詳細については、「[Amazon S3 のエンドポイントポリシー](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-policies-s3)」を参照してください。バケットポリシーを使って、S3 バケットへのアクセスを Amazon VPC からのトラフィックのみに制限することもできます。詳細については、「[Amazon S3 バケットポリシー](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-s3-bucket-policies)」を参照してください。

#### モデルコンテナへのパッケージのインストールを制限する
<a name="batch-vpc-policy-repos"></a>

デフォルトエンドポイントポリシーでは、ユーザーは、Amazon Linux と Amazon Linux 2 のリポジトリからのパッケージをトレーニングコンテナにインストールできます。ユーザーがそのリポジトリからパッケージをインストールしないようにする場合は、Amazon Linux と Amazon Linux 2 のリポジトリへのアクセスを明示的に拒否するカスタムエンドポイントポリシーを作成します。これらのリポジトリへのアクセスを拒否するポリシーの例を次に示します。

```
{ 
    "Statement": [ 
      { 
        "Sid": "AmazonLinuxAMIRepositoryAccess",
        "Principal": "*",
        "Action": [ 
            "s3:GetObject" 
        ],
        "Effect": "Deny",
        "Resource": [
            "arn:aws:s3:::packages.*.amazonaws.com/*",
            "arn:aws:s3:::repo.*.amazonaws.com/*"
        ] 
      } 
    ] 
} 

{ 
    "Statement": [ 
        { "Sid": "AmazonLinux2AMIRepositoryAccess",
          "Principal": "*",
          "Action": [ 
              "s3:GetObject" 
              ],
          "Effect": "Deny",
          "Resource": [
              "arn:aws:s3:::amazonlinux.*.amazonaws.com/*" 
              ] 
         } 
    ] 
}
```

### ルートテーブルの設定
<a name="batch-vpc-route-table"></a>

エンドポイントルートテーブルのデフォルトの DNS 設定を使って、標準 Amazon S3 URL (例えば、`http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket`) が解決されるようにします。デフォルトの DNS 設定を使用しない場合は、エンドポイントルートテーブルを設定することで、バッチ変換ジョブのデータの場所の指定に使用する URL が解決されるようにします。VPC エンドポイントルートテーブルについては、Amazon VPC ユーザーガイドの「[ゲートウェイエンドポイントのルーティング](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-gateway.html#vpc-endpoints-routing)」を参照してください。**

### VPC セキュリティグループを設定する
<a name="batch-vpc-groups"></a>

分散型バッチ変換では、同じ分散型バッチ変換ジョブ内の異なるコンテナ間の通信を許可する必要があります。そのためには、同じセキュリティグループのメンバー間のインバウンド接続とアウトバウンド接続を許可するセキュリティグループのルールを設定します。同じセキュリティグループのメンバーは、すべてのポート間で相互に通信できる必要があります。詳細については、「[セキュリティグループのルール](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html#SecurityGroupRules)」を参照してください。

### VPC の外部のリソースに接続する
<a name="batch-vpc-nat"></a>

インターネットにアクセスできないように VPC を設定する場合、その VPC を使用するバッチ変換ジョブは、VPC の外部のリソースにアクセスできません。バッチ変換ジョブが VPC の外部のリソースにアクセスする必要がある場合は、次のいずれかのオプションを使用してアクセスを可能にします。
+ バッチ変換ジョブがインターフェイス VPC エンドポイントをサポートする AWS サービスにアクセスする必要がある場合は、そのサービスに接続するエンドポイントを作成します。インターフェイスエンドポイントをサポートするサービスのリストについては、Amazon VPC ユーザーガイドの「[VPC エンドポイント](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html)」を参照してください。**インターフェイス VPC エンドポイントの作成の詳細については、*「Amazon* [VPC ユーザーガイド」の「インターフェイス VPC エンドポイント (AWS PrivateLink)](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-interface.html)」を参照してください。
+ バッチ変換ジョブがインターフェイス VPC エンドポイントをサポートしていない AWS サービスまたは 外のリソースにアクセスする必要がある場合は AWS、NAT ゲートウェイを作成し、アウトバウンド接続を許可するようにセキュリティグループを設定します。VPC 用の NAT ゲートウェイのセットアップについては、*Amazon Virtual Private Cloud ユーザーガイド*の「[シナリオ 2: パブリックサブネットとプライベートサブネットを持つ VPC (NAT)](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html)」を参照してください。

# Amazon VPC のリソースへのアクセス権を Amazon SageMaker Clarify ジョブに付与する
<a name="clarify-vpc"></a>

データおよび SageMaker Clarify ジョブへのアクセスを制御するには、プライベート Amazon VPC を作成して設定し、パブリックインターネット経由でジョブにアクセスできないようにすることをお勧めします。処理ジョブ用の Amazon VPC の作成および設定については、「[Amazon VPC のリソースへのアクセス権を SageMaker 処理ジョブに付与する](https://docs.aws.amazon.com/sagemaker/latest/dg/process-vpc)」を参照してください。

このドキュメントでは、SageMaker Clarify ジョブの要件を満たす追加の Amazon VPC 設定を追加する方法を説明します。

**Topics**
+ [Amazon VPC アクセス用に SageMaker Clarify ジョブを設定する](#clarify-vpc-config)
+ [SageMaker Clarify ジョブ用にプライベート Amazon VPC を設定する](#clarify-vpc-vpc)

## Amazon VPC アクセス用に SageMaker Clarify ジョブを設定する
<a name="clarify-vpc-config"></a>

SageMaker Clarify ジョブ用にプライベート Amazon VPC を設定する場合は、サブネットとセキュリティグループを指定し、モデル予測の説明に役立つトレーニング後のバイアスメトリクスと特徴の寄与率を計算するときに、ジョブが SageMaker AI モデルから推論を取得できるようにする必要があります。

**Topics**
+ [SageMaker Clarify ジョブ Amazon VPC サブネットとセキュリティグループ](#clarify-vpc-job)
+ [推論用にモデル Amazon VPC を設定する](#clarify-vpc-model)

### SageMaker Clarify ジョブ Amazon VPC サブネットとセキュリティグループ
<a name="clarify-vpc-job"></a>

プライベート Amazon VPC のサブネットとセキュリティグループは、ジョブの作成方法に応じて、さまざまな方法で SageMaker Clarify ジョブに割り当てることができます。
+ **SageMaker AI コンソール**: **[SageMaker AI ダッシュボード]** でジョブを作成する際に、この情報を指定します。**[Processing]** (処理) メニューで **[Processing jobs]** (処理ジョブ) を選択し、**[Create processing job]** (処理ジョブを作成) を選択します。**[ネットワーク]** パネルで **[VPC]** オプションを選択し、ドロップダウンリストを使用してサブネットとセキュリティグループを指定します。このパネルにあるネットワーク分離オプションがオフになっていることを確認します。
+ **SageMaker API**: 以下の例に示されているように、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob) API の `NetworkConfig.VpcConfig` リクエストパラメータを使用します。

  ```
  "NetworkConfig": {
      "VpcConfig": {
          "Subnets": [
              "subnet-0123456789abcdef0",
              "subnet-0123456789abcdef1",
              "subnet-0123456789abcdef2"
          ],
          "SecurityGroupIds": [
              "sg-0123456789abcdef0"
          ]
      }
  }
  ```
+ **SageMaker Python SDK**: 以下の例に示されているように、[https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.clarify.SageMakerClarifyProcessor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.clarify.SageMakerClarifyProcessor) API または [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.processing.Processor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.processing.Processor) API の `NetworkConfig` パラメータを使用します。

  ```
  from sagemaker.network import NetworkConfig
  network_config = NetworkConfig(
      subnets=[
          "subnet-0123456789abcdef0",
          "subnet-0123456789abcdef1",
          "subnet-0123456789abcdef2",
      ],
      security_group_ids=[
          "sg-0123456789abcdef0",
      ],
  )
  ```

SageMaker AI は、この情報を使用してネットワークインターフェイスを作成し、SageMaker Clarify ジョブにアタッチします。ネットワークインターフェイスは、パブリックインターネットに接続されていない Amazon VPC 内のネットワーク接続を SageMaker Clarify ジョブに提供します。また、プライベート Amazon VPC 内のリソースへの接続を SageMaker Clarify ジョブに許可します。

**注記**  
SageMaker Clarify ジョブがシャドウエンドポイントと通信できるように、SageMaker Clarify ジョブのネットワーク分離オプションをオフにする必要があります (デフォルトではこのオプションはオフになっています)。

### 推論用にモデル Amazon VPC を設定する
<a name="clarify-vpc-model"></a>

トレーニング後のバイアスメトリクスと説明可能性を計算するには、SageMaker Clarify ジョブは、SageMaker Clarify 処理ジョブの[分析設定](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-configure-processing-jobs.html#clarify-processing-job-configure-analysis)の `model_name` パラメータで指定された SageMaker AI モデルから推論を取得する必要があります。また、SageMaker AI Python SDK の `SageMakerClarifyProcessor` API を使用する場合は、[ModelConfig](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.clarify.ModelConfig) クラスで指定される `model_name` をジョブで取得する必要があります。これを実現するために、SageMaker Clarify ジョブは、*シャドウエンドポイント*と呼ばれるモデルを持つエフェメラルエンドポイントを作成し、モデルの Amazon VPC 設定をシャドウエンドポイントに適用します。

SageMaker AI モデルに、プライベート Amazon VPC 内のサブネットとセキュリティグループを指定するには、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel) API の `VpcConfig` リクエストパラメータを使用するか、コンソールの SageMaker AI ダッシュボードでモデルを作成する際に、この情報を指定します。次に、`VpcConfig` への呼び出しに含める `CreateModel` パラメータの例を示します。

```
"VpcConfig": {
    "Subnets": [
        "subnet-0123456789abcdef0",
        "subnet-0123456789abcdef1",
        "subnet-0123456789abcdef2"
    ],
    "SecurityGroupIds": [
        "sg-0123456789abcdef0"
    ]
}
```

起動するシャドウエンドポイントのインスタンス数は、SageMaker Clarify 処理ジョブの[分析設定](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-configure-processing-jobs.html#clarify-processing-job-configure-analysis)の `initial_instance_count` パラメータで指定できます。また、SageMaker AI Python SDK の `SageMakerClarifyProcessor` API を使用する場合は、[ModelConfig](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.clarify.ModelConfig) クラスで指定される `instance_count` をジョブで取得する必要があります。

**注記**  
シャドウエンドポイントの作成時にインスタンスを 1 つだけリクエストする場合でも、個別のアベイラビリティーゾーン内のモデルの [ModelConfig](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.clarify.ModelConfig) には少なくとも 2 つのサブネットが必要です。2 つ以上のサブネットがない場合は、シャドウエンドポイントの作成に失敗し、次のエラーが表示されます。  
ClientError: Error hosting endpoint sagemaker-clarify-endpoint-XXX: Failed. Reason: Unable to locate at least 2 availability zone(s) with the requested instance type YYY that overlap with SageMaker AI subnets.

モデルで Amazon S3 のモデルファイルが必要な場合、モデル Amazon VPC には Amazon S3 VPC エンドポイントが必要です。SageMaker AI モデル用の Amazon VPC の作成と設定については、「[Amazon VPC のリソースへのアクセス権を SageMaker AI のホストされたエンドポイントに付与する](host-vpc.md)」を参照してください。

## SageMaker Clarify ジョブ用にプライベート Amazon VPC を設定する
<a name="clarify-vpc-vpc"></a>

SageMaker Clarify ジョブ用にプライベート Amazon VPC を設定する場合は、通常、「[Configure Your Private VPC for SageMaker Processing](https://docs.aws.amazon.com/sagemaker/latest/dg/process-vpc.html#process-vpc-vpc)」(SageMaker Processing 用のプライベート VPC を設定する) の手順に従います。ここでは、SageMaker Clarify ジョブのハイライトと特別な要件をいくつか紹介します。

**Topics**
+ [Amazon VPC 外部のリソースに接続する](#clarify-vpc-nat)
+ [Amazon VPC セキュリティグループを設定する](#clarify-vpc-security-group)

### Amazon VPC 外部のリソースに接続する
<a name="clarify-vpc-nat"></a>

パブリックインターネットにアクセスできないように Amazon VPC を設定する場合は、SageMaker Clarify ジョブに Amazon VPC 外部のリソースやサービスへのアクセス権を付与するための、追加設定が必要になります。例えば、SageMaker Clarify ジョブは S3 バケットからデータセットをロードし、分析結果を S3 バケットに保存しなければならないため、Amazon S3 VPC エンドポイントが必要です。詳細については、作成ガイドの「[Amazon S3 VPC エンドポイント](https://docs.aws.amazon.com/sagemaker/latest/dg/process-vpc.html#process-vpc-s3)」を参照してください。さらに、SageMaker Clarify ジョブがシャドウエンドポイントから推論を取得する必要がある場合は、さらにいくつかの AWS サービスを呼び出す必要があります。
+ **Amazon SageMaker API サービス VPC エンドポイントを作成する**: SageMaker Clarify ジョブでシャドウエンドポイントを操作したり、Amazon VPC 検証用の SageMaker AI モデルを記述したりするには、Amazon SageMaker API サービスを呼び出す必要があります。「[すべての Amazon SageMaker API コールを AWS PrivateLink で保護する](https://aws.amazon.com/blogs/machine-learning/securing-all-amazon-sagemaker-api-calls-with-aws-privatelink/)」のブログにあるガイダンスに従うと、SageMaker Clarify ジョブにサービスの呼び出しを許可する Amazon SageMaker API VPC エンドポイントを作成できます。Amazon SageMaker API サービスのサービス名は `com.amazonaws.region.sagemaker.api` です。この場合、*region* は、Amazon VPC が存在するリージョンの名前になります。
+ **Amazon SageMaker AI ランタイム VPC エンドポイントを作成する**: SageMaker Clarify ジョブで、呼び出しをシャドウエンドポイントにルーティングする Amazon SageMaker AI ランタイムサービスを呼び出す必要があります。設定手順は、Amazon SageMaker API サービスの設定手順とほぼ同じです。Amazon SageMaker AI ランタイムサービスのサービス名は `com.amazonaws.region.sagemaker.runtime` です。この場合、*region* は、Amazon VPC が存在するリージョンの名前になります。

### Amazon VPC セキュリティグループを設定する
<a name="clarify-vpc-security-group"></a>

SageMaker Clarify ジョブは、以下のいずれかの方法で 2 つ以上の処理インスタンスが指定されている場合、分散処理をサポートします。
+ **SageMaker AI コンソール**: **[処理ジョブを作成]** ページにある **[ジョブ設定]** パネルの **[リソース設定]** で **[インスタンス数]** を指定する場合。
+ **SageMaker API**: [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob) API を使用してジョブを作成するときに `InstanceCount` を指定する場合。
+ **SageMaker Python SDK**: [SageMakerClarifyProcessor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.clarify.SageMakerClarifyProcessor) API または [Processor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.processing.Processor) API を使用して `instance_count` を指定する場合。

分散型処理では、同じ処理ジョブ内の異なるインスタンス間の通信を許可する必要があります。そのためには、同じセキュリティグループのメンバー間のインバウンド接続を許可するセキュリティグループのルールを設定します。詳細については、「[セキュリティグループルール](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html#SecurityGroupRules)」を参照してください。

# Amazon VPC のリソースへのアクセス権を SageMaker AI コンパイルジョブに付与する
<a name="neo-vpc"></a>

**注記**  
コンパイルジョブの場合は、デフォルトのテナンシー VPC でのみサブネットを設定できます。このデフォルトでは、ジョブが共有ハードウェアで実行されます。VPC のテナンシー属性の詳細については、「[ハードウェア専有インスタンス](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)」を参照してください。

## Amazon VPC アクセス用にコンパイルジョブを設定する
<a name="neo-vpc-configure"></a>

プライベート VPC 内のサブネットとセキュリティグループを指定するには、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCompilationJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCompilationJob.html) API の `VpcConfig` リクエストパラメータを使用するか、SageMaker AI コンソールでコンパイルジョブを作成する際に、この情報を指定します。SageMaker AI Neo は、この情報を使用してネットワークインターフェイスを作成し、コンパイルジョブにアタッチします。ネットワークインターフェイスは、インターネットに接続されていない VPC 内のネットワーク接続をコンパイルジョブに提供します。また、コンパイルジョブがプライベート VPC 内のリソースに接続できるようにします。次に、`VpcConfig` への呼び出しに含める `CreateCompilationJob` パラメータの例を示します。

```
VpcConfig: {"Subnets": [
          "subnet-0123456789abcdef0",
          "subnet-0123456789abcdef1",
          "subnet-0123456789abcdef2"
          ],
      "SecurityGroupIds": [
          "sg-0123456789abcdef0"
          ]
        }
```

## SageMaker AI コンパイル用のプライベート VPC を設定する
<a name="neo-vpc-vpc"></a>

プライベート VPC を SageMaker AI コンパイルジョブ用に設定する場合、次のガイドラインに従います。VPC のセットアップについては、Amazon VPC ユーザーガイドの「[VPC とサブネットの使用](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/working-with-vpcs.html)」を参照してください。**

**Topics**
+ [サブネットに十分な IP アドレスを確保する](#neo-vpc-ip)
+ [Amazon S3 VPC エンドポイントを作成する](#neo-vpc-s3)
+ [カスタムエンドポイントポリシーを使用して S3 へのアクセスを制限する](#neo-vpc-policy)
+ [ルートテーブルの設定](#neo-vpc-route-table)
+ [VPC セキュリティグループを設定する](#neo-vpc-groups)

### サブネットに十分な IP アドレスを確保する
<a name="neo-vpc-ip"></a>

VPC サブネットには、コンパイルジョブの各インスタンスにプライベート IP アドレスが少なくとも 2 つ必要です。詳細については、*Amazon VPC ユーザーガイド*の [IPv4 用の VPC とサブネットのサイズ設定](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#vpc-sizing-ipv4)を参照してください。

### Amazon S3 VPC エンドポイントを作成する
<a name="neo-vpc-s3"></a>

インターネットへのアクセスをブロックするように VPC を設定した場合、アクセスを許可する VPC エンドポイントを作成しない限り、SageMaker Neo はモデルを含む Amazon S3 バケットに接続できません。VPC エンドポイントを作成することで、データとモデルのアーティファクトを保存するバケットに SageMaker Neo コンパイルジョブがアクセスできるようにします。プライベート VPC からのリクエストのみに S3 バケットへのアクセスを許可するカスタムポリシーも作成することをお勧めします。詳細については、[Amazon S3 のエンドポイント](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints-s3.html)を参照してください。

**S3 VPC エンドポイントを作成するには**

1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

1. ナビゲーションペインで [**エンドポイント**] を選択し、[**エンドポイントの作成**] を選択します。

1. **[Service Name]** (サービス名) で、**com.amazonaws.*region*.s3** を検索します。この場合、*region* は VPC が存在するリージョンの名前になります。

1. **[Gateway]** (ゲートウェイ) タイプを選択します。

1. **[VPC]**] で、エンドポイントに使用する VPC を選択します。

1. [**Configure route tables**] で、エンドポイントで使用するルートテーブルを選択します。VPC サービスで、選択した各ルートテーブルに、S3 トラフィックを新しいエンドポイントに向けるルートが自動的に追加されます。

1. [**ポリシー**] で、[**フルアクセス**] を選択して、VPC 内の任意のユーザーまたはサービスによる S3 サービスへのフルアクセスを許可します。アクセスを詳細に制限するには、[**カスタム**] を選択します。詳細については、「[カスタムエンドポイントポリシーを使用して S3 へのアクセスを制限する](train-vpc.md#train-vpc-policy)」を参照してください。

### カスタムエンドポイントポリシーを使用して S3 へのアクセスを制限する
<a name="neo-vpc-policy"></a>

デフォルトのエンドポイントポリシーでは、VPC のすべてのユーザーまたはサービスに対して S3 へのフルアクセスが許可されています。S3 へのアクセスを詳細に制限するには、カスタムエンドポイントポリシーを作成します。詳細については、「[Amazon S3 のエンドポイントポリシー](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-policies-s3)」を参照してください。バケットポリシーを使って、S3 バケットへのアクセスを Amazon VPC からのトラフィックのみに制限することもできます。詳細については、「[Amazon S3 バケットポリシー](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-s3-bucket-policies)」を参照してください。以下は、カスタマイズしたそのポリシーの例です。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:GetObject",
            "Resource": [
                "arn:aws:s3:::your-sample-bucket",
                "arn:aws:s3:::your-sample-bucket/*"
            ],
            "Condition": {
                "StringNotEquals": {
                    "aws:SourceVpce": [
                        "vpce-1a2b3c4d"
                    ]
                }
            }
        }
    ]
}
```

------

#### Amazon VPC で実行されるコンパイルジョブのアクセス許可をカスタム IAM ポリシーに追加する
<a name="neo-vpc-custom-iam"></a>

`SageMakerFullAccess` 管理ポリシーには、エンドポイントでの Amazon VPC アクセス用に設定されたモデルを使うのに必要なアクセス許可が含まれます。これらのアクセス許可により、SageMaker Neo は Elastic Network Interface を作成し、それを Amazon VPC で実行されているコンパイルジョブにアタッチできます。独自の IAM ポリシーを使う場合、次のアクセス許可をそのポリシーに追加して、Amazon VPC アクセス用に設定されたモデルを使う必要があります。

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

****  

```
{"Version":"2012-10-17",		 	 	 
    "Statement": [
        {"Effect": "Allow",
            "Action": [
                "ec2:DescribeVpcEndpoints",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeVpcs",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DeleteNetworkInterfacePermission",
                "ec2:DeleteNetworkInterface",
                "ec2:CreateNetworkInterfacePermission",
                "ec2:CreateNetworkInterface",
                "ec2:ModifyNetworkInterfaceAttribute"
            ],
            "Resource": "*"
        }
    ]
}
```

------

`SageMakerFullAccess` 管理ポリシーの詳細については、「[AWS マネージドポリシー: AmazonSageMakerFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonSageMakerFullAccess)」を参照してください。

### ルートテーブルの設定
<a name="neo-vpc-route-table"></a>

エンドポイントルートテーブルのデフォルトの DNS 設定を使って、標準 Amazon S3 URL (例えば、`http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket`) が解決されるようにします。デフォルトの DNS 設定を使用しない場合は、エンドポイントルートテーブルを設定することで、コンパイルジョブのデータの場所の指定に使用する URL が解決されるようにします。VPC エンドポイントルートテーブルについては、Amazon VPC ユーザーガイドの「[ゲートウェイエンドポイントのルーティング](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-gateway.html#vpc-endpoints-routing)」を参照してください。**

### VPC セキュリティグループを設定する
<a name="neo-vpc-groups"></a>

コンパイルジョブのセキュリティグループで、Amazon S3 Amazon VPC エンドポイントおよびコンパイルジョブに使用されるサブネット CIDR 範囲へのアウトバウンド通信を許可する必要があります。詳細については、「[セキュリティグループのルール](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html#SecurityGroupRules)」と「[VPC エンドポイントでサービスへのアクセスを制御する](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints-access.html)」を参照してください。

# 推論レコメンダージョブに Amazon VPC 内のリソースへのアクセス許可を付与する
<a name="inference-recommender-vpc-access"></a>

**注記**  
推論レコメンダーでは、モデルを Model Registry に登録する必要があります。Model Registry では、モデルアーティファクトや Amazon ECR イメージを VPC には制限できないことに注意してください。  
推論レコメンダーには、サンプルペイロードの Amazon S3 オブジェクトが VPC に制限されないという要件もあります。推論のレコメンデーションジョブでは、プライベート VPC からのリクエストのみが Amazon S3 バケットにアクセスできるようにするカスタムポリシーを作成することはできません。

プライベート VPC 内のサブネットとセキュリティグループを指定するには、[CreateInferenceRecommendationsJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateInferenceRecommendationsJob.html) API の `RecommendationJobVpcConfig` リクエストパラメータを使用するか、SageMaker AI コンソールでレコメンデーションジョブを作成する際に、この情報を指定します。

推論レコメンダーはこの情報を使用してエンドポイントを作成します。エンドポイントをプロビジョンする際、SageMaker AI はネットワークインターフェイスを作成し、それをエンドポイントに接続します。ネットワークインターフェイスは、エンドポイントに VPC へのネットワーク接続を提供します。次に、`CreateInferenceRecommendationsJob` へのコールに含める `VpcConfig` パラメータの例を示します。

```
VpcConfig: {
      "Subnets": [
          "subnet-0123456789abcdef0",
          "subnet-0123456789abcdef1",
          "subnet-0123456789abcdef2"
          ],
      "SecurityGroupIds": [
          "sg-0123456789abcdef0"
          ]
       }
```

Amazon VPC を推論レコメンダージョブで使用するように設定する方法の詳細については、以下のトピックを参照してください。

**Topics**
+ [サブネットに十分な IP アドレスがあることを確認する](#inference-recommender-vpc-access-subnets)
+ [Amazon S3 VPC エンドポイントを作成する](#inference-recommender-vpc-access-endpoint)
+ [Amazon VPC で実行される推論レコメンダージョブのアクセス許可をカスタム IAM ポリシーに追加する](#inference-recommender-vpc-access-permissions)
+ [ルートテーブルを設定する](#inference-recommender-vpc-access-route-tables)
+ [VPC セキュリティグループを設定する](#inference-recommender-vpc-access-security-group)

## サブネットに十分な IP アドレスがあることを確認する
<a name="inference-recommender-vpc-access-subnets"></a>

VPC サブネットには、推論のレコメンデーションジョブの各インスタンスにプライベート IP アドレスが少なくとも 2 つ必要です。サブネットとプライベート IP アドレスの詳細については、「Amazon VPC ユーザーガイド」の「[Amazon VPC の仕組み](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#vpc-sizing-ipv4)」を参照してください。**

## Amazon S3 VPC エンドポイントを作成する
<a name="inference-recommender-vpc-access-endpoint"></a>

インターネットへのアクセスをブロックするように VPC を設定した場合、アクセスを許可する VPC エンドポイントを作成しない限り、推論レコメンダーはモデルを含む Amazon S3 バケットに接続できません。VPC エンドポイントを作成することで、データとモデルのアーティファクトを保存するバケットに SageMaker AI 推論レコメンデーションがアクセスできるようにします。

次の手順に従って Amazon S3 VPC エンドポイントを作成します。

1. [Amazon VPC コンソール](https://console.aws.amazon.com/vpc/) を開きます。

1. ナビゲーションペインで [** エンドポイント**] を選択し、[**Create endpoint (エンドポイントの作成)**] を選択します。

1. **[サービス名]** で、`com.amazonaws.region.s3` を検索します。この場合、`region` は VPC が存在するリージョンの名前になります。

1. **[ゲートウェイタイプ]** を選択します。

1. **[VPC]**] で、エンドポイントに使用する VPC を選択します。

1. [**Configure route tables**] で、エンドポイントで使用するルートテーブルを選択します。VPC サービスで、選択した各ルートテーブルに、Amazon S3 トラフィックを新しいエンドポイントに向けるルートが自動的に追加されます。

1. **[Policy]** (ポリシー) で、**[Full Access]** (フルアクセス) を選択して、VPC 内の任意のユーザーまたはサービスによる Amazon S3 サービスへのフルアクセスを許可します。

## Amazon VPC で実行される推論レコメンダージョブのアクセス許可をカスタム IAM ポリシーに追加する
<a name="inference-recommender-vpc-access-permissions"></a>

`[ AmazonSageMakerFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonSageMakerFullAccess)` 管理ポリシーには、エンドポイントでの Amazon VPC アクセス用に設定されたモデルを使うのに必要なアクセス許可が含まれます。これらのアクセス許可により、推論レコメンダーは Elastic Network Interface を作成し、それを Amazon VPC で実行されている推論のレコメンデーションジョブにアタッチできます。独自の IAM ポリシーを使う場合、次のアクセス許可をそのポリシーに追加して、Amazon VPC アクセス用に設定されたモデルを使う必要があります。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {"Effect": "Allow",
            "Action": [
                "ec2:DescribeVpcEndpoints",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeVpcs",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DeleteNetworkInterfacePermission",
                "ec2:DeleteNetworkInterface",
                "ec2:CreateNetworkInterfacePermission",
                "ec2:CreateNetworkInterface",
                "ec2:ModifyNetworkInterfaceAttribute"
            ],
            "Resource": "*"
        }
    ]
}
```

------



## ルートテーブルを設定する
<a name="inference-recommender-vpc-access-route-tables"></a>

エンドポイントルートテーブルのデフォルトの DNS 設定を使って、標準 Amazon S3 URL (例: `http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket`) が解決されるようにします。デフォルトの DNS 設定を使用しない場合は、エンドポイントルートテーブルを設定することで、推論のレコメンデーションジョブのデータの場所の指定に使用する URL が解決されるようにします。VPC エンドポイントルートテーブルについては、Amazon VPC ユーザーガイドの「[ゲートウェイエンドポイントのルーティング](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-gateway.html#vpc-endpoints-routing)」を参照してください。**

## VPC セキュリティグループを設定する
<a name="inference-recommender-vpc-access-security-group"></a>

推論のレコメンデーションジョブのセキュリティグループで、Amazon S3 VPC エンドポイントおよび推論のレコメンデーションジョブに使用されるサブネット CIDR 範囲へのアウトバウンド通信を許可する必要があります。詳細については、Amazon VPC ユーザーガイドの「[セキュリティグループのルール](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html#SecurityGroupRules)」と「[エンドポイントポリシーを使用して VPC エンドポイントへのアクセスを制御する](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints-access.html)」を参照してください。**