

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

# セキュリティと権限
<a name="data-wrangler-security"></a>

Athena または Amazon Redshift からデータをクエリすると、クエリされたデータセットは Studio Classic を使用している AWS リージョンのデフォルトの SageMaker AI S3 バケットに自動的に保存されます。さらに、Amazon SageMaker Data Wrangler から Jupyter ノートブックをエクスポートして実行すると、データフローまたは .flow ファイルは同じデフォルトバケットのプレフィックス *data\_wrangler\_flows* の下に保存されます。

高度なセキュリティが必要な場合は、このデフォルトの SageMaker AI S3 バケットにアクセスできる AWS ロールを制限するバケットポリシーを設定できます。次のセクションでは、このタイプのポリシーを S3 バケットに追加します。このページの手順に従うには、 AWS Command Line Interface () を使用しますAWS CLI。詳細については、IAM ユーザーガイド[の AWS 「 CLI の設定](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)」を参照してください。

また、必要なリソースにアクセスするために Data Wrangler アクセス許可を使用する各 IAM ロールを付与する必要があります。Data Wrangler へのアクセスに使用する IAM ロールにきめ細かいアクセス許可が必要でない場合は、IAM マネージドポリシー [https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess) を Studio Classic ユーザーの作成に使用する IAM ロールに追加できます。このポリシーは、Data Wrangler を使用する完全なアクセス許可を付与します。より詳細なアクセス許可が必要な場合は、「[IAM ロールにData Wrangler を使用するアクセス許可を付与する](#data-wrangler-security-iam-policy)」のセクションを参照してください。

## バケットポリシーを追加して Data Wrangler にインポートされたデータセットへのアクセスを制限する
<a name="data-wrangler-security-bucket-policy"></a>

Amazon S3 バケットポリシーを使用して、Data Wrangler リソースを含む S3 バケットにポリシーを追加できます。Data Wrangler が Studio Classic を使用している AWS リージョンのデフォルトの SageMaker AI S3 バケットにアップロードするリソースは次のとおりです。
+ クエリされた Amazon Redshift の結果。これらは *redshift/* プレフィックスで保存されます。
+ クエリされた Athena の結果。これらは *athena/* プレフィックスで保存されます。
+ Data Wrangler が作成してエクスポートされた Jupyter ノートブックの実行時に Amazon S3 にアップロードされる .flow ファイル。これらは *data\_wrangler\_flows/* プレフィックスに保存されます。

次の手順に従って、そのバケットへの IAM ロールのアクセスを制限するために追加できる S3 バケットポリシーを作成します。S3 バケットにポリシーを追加する方法については、「[S3 バケットポリシーを追加する方法](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-bucket-policy.html)」を参照してください。

**Data Wrangler リソースを保存する S3 バケットにバケットポリシーを設定するには、次の手順を実行します。**

1. Data Wrangler にアクセスできる IAM ロールを 1 つ以上設定します。

1. コマンドプロントまたはシェルを開きます。作成したロールごとに、{{role-name}} をロールの名前と置き換えて、以下を実行します。

   ```
   $ aws iam get-role --role-name {{role-name}}
   ```

   レスポンスでは、`AROA` で始まる `RoleId` 文字列が表示されます。この文字列をコピーします。

1. Data Wrangler を使用している AWS リージョンの SageMaker AI デフォルトバケットに次のポリシーを追加します。{{region}} をバケットがある AWS リージョンに置き換え、{{account-id}} を AWS アカウント ID に置き換えます。{{AROAEXAMPLEID}} で`userId`始まる を、Data Wrangler を使用するアクセス許可を付与する AWS ロールの IDs に置き換えます。

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Deny",
         "Principal": "*",
         "Action": "s3:*",
         "Resource": [
           "arn:aws:s3:::sagemaker-{{us-east-1}}-{{111122223333}}/data_wrangler_flows/",
           "arn:aws:s3:::sagemaker-{{us-east-1}}-{{111122223333}}/data_wrangler_flows/*",
           "arn:aws:s3:::sagemaker-{{us-east-1}}-{{111122223333}}/athena",
           "arn:aws:s3:::sagemaker-{{us-east-1}}-{{111122223333}}/athena/*",
           "arn:aws:s3:::sagemaker-{{us-east-1}}-{{111122223333}}/redshift",
           "arn:aws:s3:::sagemaker-{{us-east-1}}-{{111122223333}}/redshift/*"
           
         ],
         "Condition": {
           "StringNotLike": {
             "aws:userId": [
               "{{AROAEXAMPLEID_1}}:*",
               "{{AROAEXAMPLEID_2}}:*"
             ]
           }
         }
       }
     ]
   }
   ```

------

## Data Wrangler の許可リストを作成する
<a name="data-wrangler-security-allowlist"></a>

ユーザーが Amazon SageMaker Studio Classic ユーザーインターフェイスから Data Wrangler の実行を開始する都度、SageMaker AI アプリケーションプログラミングインターフェイス (API) を呼び出して Data Wrangler アプリケーションを作成します。

組織によっては、これらの API を呼び出すためのアクセス許可をデフォルトでユーザーに付与していない場合があります。アクセス許可を付与するには、以下のポリシーテンプレートを使用してポリシーを作成し、ユーザーの IAM ロールにアタッチする必要があります。[Data Wrangler 許可リストの例](https://s3.us-west-2.amazonaws.com/amazon-sagemaker-data-wrangler-documentation-artifacts/DataWranglerAllowListExample.txt)

**注記**  
前述のポリシー例では、Data Wrangler アプリケーションへのアクセス権のみをユーザーに付与しています。

ポリシーの作成方法の詳細については、「[JSON タブでのポリシーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html#access_policies_create-json-editor)」を参照してください。ポリシーを作成するには、[**JSON**]タブの「[Data Wrangler 許可リストの例](https://s3.us-west-2.amazonaws.com/amazon-sagemaker-data-wrangler-documentation-artifacts/DataWranglerAllowListExample.txt)」から JSON ポリシーをコピーして貼り付けます。

**重要**  
ユーザーによる以下の操作を禁止する IAM ポリシーをすべて削除します。  
[CreateApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateApp.html)
[DescribeApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeApp.html)
削除しない場合、ユーザーはこれらのポリシーの影響を受ける可能性があります。

テンプレートを使用してポリシーを作成したら、ユーザーの IAM ロールにアタッチします。ポリシーをアタッチする方法については、「[IAM ID アクセス許可の追加 (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console)」を参照してください。

## IAM ロールにData Wrangler を使用するアクセス許可を付与する
<a name="data-wrangler-security-iam-policy"></a>

一般的な IAM 管理ポリシー [https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess) で Data Wrangler を使用するアクセス許可を IAM ロールに付与できます。これは、すべての SageMaker AI サービスの使用に必要な[アクセス許可](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-AmazonSageMakerFullAccess.html)を含む一般的なポリシーです。このポリシーにより、IAM ロールに Data Wrangler へのフルアクセスが付与されます。`AmazonSageMakerFullAccess` を使用して Data Wrangler へのアクセス許可を付与する場合は、次の点に注意してください。
+ Amazon Redshift からデータをインポートする場合、**データベースユーザー**名にプレフィックス `sagemaker_access` を付ける必要があります。
+ この管理ポリシーは、名前に `SageMaker AI`、`SageMaker AI`、`sagemaker`、`aws-glue` のいずれかが含まれるバケットへのアクセス許可のみを付与します。Data Wrangler を使用して、名前にこれらのフレーズが含まれない S3 バケットからインポートする場合は、このページの最後のセクションで、S3 バケットにアクセスするためのアクセス許可を IAM エンティティに付与する方法を参照してください。

高いセキュリティニーズがある場合、このセクションのポリシーを IAM エンティティにアタッチして、Data Wrangler の使用に必要なアクセス許可を付与できます。

Amazon Redshift または Athena に IAM ロールが Data Wrangler からインポートする必要があるデータセットがある場合、そのエンティティにポリシーを追加してこれらのリソースにアクセスする必要があります。次のポリシーは、Amazon Redshift および Athena からデータをインポートするためのアクセス許可を IAM ロールに付与する場合に使用できる最も制限の厳しいポリシーです。

IAM ロールにカスタムポリシーをアタッチする方法については、IAM ユーザーガイドの「[IAM ポリシーを管理する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html#create-managed-policy-console)」を参照してください。

**Athena データセットをインポートするためのアクセス許可を付与するポリシーの例**

次のポリシーでは、個別の IAM ポリシーを介してデータが保存される基盤となる S3 バケットへのアクセス許可がIAM ロールにあることを前提としています。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:ListDataCatalogs",
                "athena:ListDatabases",
                "athena:ListTableMetadata",
                "athena:GetQueryExecution",
                "athena:GetQueryResults",
                "athena:StartQueryExecution",
                "athena:StopQueryExecution"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "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/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "glue:DeleteTable"
            ],
            "Resource": [
                "arn:aws:glue:*:*:table/*/sagemaker_tmp_*",
                "arn:aws:glue:*:*:catalog",
                "arn:aws:glue:*:*:database/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "glue:GetDatabases",
                "glue:GetTable",
                "glue:GetTables"
            ],
            "Resource": [
                "arn:aws:glue:*:*:table/*",
                "arn:aws:glue:*:*:catalog",
                "arn:aws:glue:*:*:database/*"
            ]
        },
        {
            "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"
            ]
        }
    ]
}
```

------

****Amazon Redshift データセットをインポートするためのアクセス許可を付与するポリシーの例****

次のポリシーは、名前にプレフィックス `sagemaker_access` が含まれるデータベースユーザーを使用して Data Wrangler への Amazon Redshift 接続を設定するアクセス許可を付与します。追加のデータベースユーザーを使用して接続するアクセス許可を付与するには、次のポリシーの `"Resources"` にその他のエントリを追加します。次のポリシーでは、該当する場合、個別の IAM ポリシーを介してデータが保存される基盤となる S3 バケットへのアクセス許可がIAM ロールにあることを前提としています。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "redshift-data:ExecuteStatement",
                "redshift-data:DescribeStatement",
                "redshift-data:CancelStatement",
                "redshift-data:GetStatementResult",
                "redshift-data:ListSchemas",
                "redshift-data:ListTables"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "redshift:GetClusterCredentials"
            ],
            "Resource": [
                "arn:aws:redshift:*:*:dbuser:*/sagemaker_access*",
                "arn:aws:redshift:*:*:dbname:*"
            ]
        }
    ]
}
```

------

**S3 バケットへのアクセス権を付与するポリシー**

データセットが Amazon S3 に保存されている場合、次のようなポリシーを使用して、IAM ロールにこのバケットへのアクセス許可を付与できます。この例では {{test}} という名前のバケットへのプログラムによる読み取り/書き込みアクセス権を付与します。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:ListBucket"],
      "Resource": ["arn:aws:s3:::{{test}}"]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:DeleteObject"
      ],
      "Resource": ["arn:aws:s3:::{{test}}/*"]
    }
  ]
}
```

------

Athena と Amazon Redshift からデータをインポートするには、使用されている AWS リージョン Data Wrangler のデフォルトの Amazon S3 バケットにあるプレフィックス `athena/`、 にアクセスするアクセス許可を IAM ロールに付与する必要があります`redshift/`。デフォルトの Amazon S3 バケットが AWS リージョンにまだ存在しない場合は、このリージョンにバケットを作成するアクセス許可を IAM ロールに付与する必要があります。

さらに、IAM ロールで Amazon SageMaker 特徴量ストアジョブ、Pipelines ジョブ、Data Wrangler ジョブのエクスポートオプションを使用するには、このバケットのプレフィックスである `data_wrangler_flows/` へのアクセス許可を付与する必要があります。

 Data Wrangler は `athena/` と `redshift/` プレフィックスを使用してプレビューファイルとインポートされたデータセットを保存します。詳細については[インポートされたデータストレージ](data-wrangler-import.md#data-wrangler-import-storage)を参照してください。

Data Wrangler からエクスポートされた Jupyter ノートブックを実行する場合、Data Wrangler は `data_wrangler_flows/` プレフィックスを使用して .flow ファイルを保存します。詳細については[エクスポート](data-wrangler-data-export.md)を参照してください。

次のようなポリシーを使用して、前述したアクセス許可を付与します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::sagemaker-{{us-east-1}}-{{111122223333}}/data_wrangler_flows/",
                "arn:aws:s3:::sagemaker-{{us-east-1}}-{{111122223333}}/data_wrangler_flows/*",
                "arn:aws:s3:::sagemaker-{{us-east-1}}-{{111122223333}}/athena",
                "arn:aws:s3:::sagemaker-{{us-east-1}}-{{111122223333}}/athena/*",
                "arn:aws:s3:::sagemaker-{{us-east-1}}-{{111122223333}}/redshift",
                "arn:aws:s3:::sagemaker-{{us-east-1}}-{{111122223333}}/redshift/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket",
                "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3:::sagemaker-{{us-east-1}}-{{111122223333}}"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListAllMyBuckets",
                "s3:GetBucketLocation"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Amazon S3 バケット URI を指定して、別の AWS アカウントから Amazon S3 バケットのデータにアクセスすることもできます。これを行うには、別アカウントの Amazon S3 バケットへのアクセス権を付与する IAM ポリシーで、次の例に示すようなポリシーを使用する必要があります。ここでは、`BucketFolder` がユーザーバケット `UserBucket` の特定のディレクトリです。このポリシーは、別のユーザーのバケットへのアクセス権を付与するユーザーに追加する必要があります。

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::{{UserBucket}}/{{BucketFolder/}}*"
            },
                {
                "Effect": "Allow",
                "Action": [
                    "s3:ListBucket"
                ],
                "Resource": "arn:aws:s3:::{{UserBucket}}",
                "Condition": {
                "StringLike": {
                    "s3:prefix": [
                    "{{BucketFolder}}/*"
                    ]
                }
            }
        } 
    ]
}
```

------

バケットにアクセスするユーザー (バケット所有者ではない) は、次の例に示すようなポリシーをユーザーに追加する必要があります。以下の `AccountX` と `TestUser` は、バケット所有者とそのユーザーをそれぞれ示しています。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{111122223333:user}}/{{TestUser}}"
            },
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::{{UserBucket}}/{{BucketFolder}}/*"
            ]
        },
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{111122223333:user}}/{{TestUser}}"
            },
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::{{UserBucket}}"
            ]
        }
    ]
}
```

------

**SageMaker AI Studio を使用するアクセス権を付与するポリシーの例**

次のようなポリシーを使用して、Studio Classic インスタンスの設定に使用できる IAM 実行ロールを作成します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreatePresignedDomainUrl",
                "sagemaker:DescribeDomain",
                "sagemaker:ListDomains",
                "sagemaker:DescribeUserProfile",
                "sagemaker:ListUserProfiles",
                "sagemaker:*App",
                "sagemaker:ListApps"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Snowflake と Data Wrangler
<a name="data-wrangler-security-snowflake"></a>

 AWS リソースに対するすべてのアクセス許可は、Studio Classic インスタンスにアタッチされた IAM ロールを介して管理されます。Snowflake 管理者は各 Snowflake ユーザーに詳細なアクセス許可と権限を付与できるため、Snowflake 管理者が Snowflake 固有のアクセス許可を管理します。これには、データベース、スキーマ、テーブル、ウェアハウス、ストレージ統合オブジェクトが含まれます。Data Wrangler の外部で正しいアクセス許可が設定されていることを確認する必要があります。

Snowflake `COPY INTO Amazon S3` コマンドは、デフォルトでパブリックインターネットを経由し Snowflake から Amazon S3 にデータを移動しますが、転送中のデータは SSL を使用して保護されます。Amazon S3 の保管中のデータは、デフォルトの AWS KMS keyを使用して SSE-KMS で暗号化されます。

Snowflake 認証情報のストレージについて、Data Wrangler は顧客の認証情報を保存しません。Data Wrangler は Secrets Manager を使用してシークレットに認証情報を保存し、ベストプラクティスのセキュリティ計画の一環としてシークレットをローテーションします。Snowflake または Studio Classic の管理者は、認証情報を保存するシークレットで `GetSecretValue` を実行するアクセス許可がデータサイエンティストの Studio Classic 実行ロールに付与されていることを確認する必要があります。`AmazonSageMakerFullAccess` ポリシーが Studio Classic 実行ロールに既にアタッチされている場合、このポリシーには、Data Wrangler が作成したシークレットと、上記の手順の命名規則とタグ付け規則に従って作成されたシークレットを読み取るために必要なアクセス許可が付与されています。この規則に従わないシークレットには、個別にアクセス権を付与する必要があります。セキュリティ保護されていないチャネルでの認証情報の共有を回避するため、Secrets Manager を使用することをお勧めします。ただし、ログインしているユーザーは、Studio Classic でターミナルまたは Python ノートブックを起動し、Secrets Manager API から API コールを実行することで、プレーンテキストのパスワードを取得できることに注意する必要があります。

## によるデータ暗号化 AWS KMS
<a name="data-wrangler-security-kms"></a>

Data Wrangler 内では、暗号化されたファイルを復号し、Data Wrangler フローに追加できます。デフォルトのキーまたは指定した AWS KMS キーを使用して、変換の出力を暗号化することもできます。

次がある場合、ファイルをインポートできます。
+ サーバー側の暗号化
+ SSE-KMS の暗号化タイプ

ファイルを復号して Data Wrangler フローにインポートするには、使用している SageMaker Studio Classic ユーザーをキーユーザーとして追加する必要があります。

以下のスクリーンショットは、キーユーザーとして追加された Studio Classic ユーザーロールを示しています。左パネルのユーザーにアクセスしてこの変更を行う場合は、「[IAM ロール](https://console.aws.amazon.com/iam/home#/roles)」を参照してください。

![コンソールの [キーユーザー] セクション](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/data-wrangler-kms.png)


### Data Wrangler によってインポートされたデータストレージの Amazon S3 カスタマーマネージドキー設定
<a name="data-wrangler-s3-cmk-setup"></a>

 デフォルトでは、Data Wrangler は命名規則が `sagemaker-region-account number` の Amazon S3 バケットを使用します。例えば、アカウント番号が `111122223333` で、Studio Classic を us-east-1 で 使用している場合、インポートしたデータセットは、以下の命名規則に従って `sagemaker-us-east-1-111122223333` で保存されます。

次の手順では、デフォルトの Amazon S3 バケットのカスタマーマネージドキーを設定する方法について説明します。

1. サーバー側の暗号化を有効にし、デフォルトの S3 バケットのカスタマーマネージド型キーを設定する場合は、「[KMS 暗号化を使用する](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)」を参照してください。

1. ステップ 1 を実行したら、 AWS KMS の に移動します AWS マネジメントコンソール。以前の手順のステップ 1 で選択したカスタマーマネージドキーを検索して、Studio Classic ロールをキーユーザーとして追加します。これを行うには、「[カスタマーマネージドキーの使用をキーユーザーに許可する](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-users)」の手順に従います。

### エクスポートするデータを暗号化する
<a name="data-wrangler-export-kms"></a>

次のいずれかの方法を使用して、エクスポートするデータを暗号化できます。
+ Amazon S3 バケットに SSE-KMS 暗号化を使用するオブジェクトがあることを指定する。
+ Data Wrangler からエクスポートするデータを暗号化する AWS KMS キーを指定します。

**[データをエクスポート]** ページで、**[AWS KMS キー ID または ARN]** の値を指定します。

 AWS KMS キーの使用の詳細については、[「 (SSE-KMS) に保存 AWSAWS Key Management Service されている AWS KMS キーを使用したサーバー側の暗号化を使用したデータの保護](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingKMSEncryption.html)」を参照してください。

## Amazon AppFlow アクセス許可
<a name="data-wrangler-appflow-permissions"></a>

転送を実行するときは、転送を実行する許可を持つ IAM ロールを指定する必要があります。Data Wrangler を使用する許可を持つ同じ IAM ロールを使用できます。デフォルトでは、Data Wrangler へのアクセスに使用する IAM ロールは `SageMakerExecutionRole` です。

IAM ロールには、次のアクセス許可が必要です。
+ Amazon AppFlow へのアクセス許可
+  AWS Glue データカタログへのアクセス許可
+ 利用可能なデータソースを検出 AWS Glue するための のアクセス許可

転送を実行すると、Amazon AppFlow は転送からのメタデータを AWS Glue データカタログに保存します。Data Wrangler はカタログのメタデータを使用して、クエリやインポートが可能かどうかを判断します。

Amazon AppFlow にアクセス許可を追加するには、IAM ロールに `AmazonAppFlowFullAccess` AWS 管理ポリシーを追加します。ポリシーの追加についての詳細は、「[IAM ID のアクセス許可の追加および削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)」を参照してください。

Amazon S3 にデータを転送する場合は、以下のポリシーもアタッチする必要があります。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": [
        "s3:GetBucketTagging",
        "s3:ListBucketVersions",
        "s3:CreateBucket",
        "s3:ListBucket",
        "s3:GetBucketPolicy",
        "s3:PutEncryptionConfiguration",
        "s3:GetEncryptionConfiguration",
        "s3:PutBucketTagging",
        "s3:GetObjectTagging",
        "s3:GetBucketOwnershipControls",
        "s3:PutObjectTagging",
        "s3:DeleteObject",
        "s3:DeleteBucket",
        "s3:DeleteObjectTagging",
        "s3:GetBucketPublicAccessBlock",
        "s3:GetBucketPolicyStatus",
        "s3:PutBucketPublicAccessBlock",
        "s3:PutAccountPublicAccessBlock",
        "s3:ListAccessPoints",
        "s3:PutBucketOwnershipControls",
        "s3:PutObjectVersionTagging",
        "s3:DeleteObjectVersionTagging",
        "s3:GetBucketVersioning",
        "s3:GetBucketAcl",
        "s3:PutObject",
        "s3:GetObject",
        "s3:GetAccountPublicAccessBlock",
        "s3:ListAllMyBuckets",
        "s3:GetAnalyticsConfiguration",
        "s3:GetBucketLocation"
      ],
      "Resource": "*"
    }
  ]
}
```

------

 AWS Glue アクセス許可を追加するには、IAM ロールに `AWSGlueConsoleFullAccess`管理ポリシーを追加します。Amazon AppFlow での AWS Glue アクセス許可の詳細については、「[link-to-appflow-page]」を参照してください。

Amazon AppFlow は、転送したデータをインポートするために、 AWS Glue と Data Wrangler にアクセスする必要があります。Amazon AppFlow にアクセス権を付与するには、以下の信頼ポリシーを IAM ロールに追加します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{123456789012}}:root",
                "Service": [
                    "appflow.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

Amazon AppFlow データを Data Wrangler に表示するには、以下のポリシーを IAM ロールに追加します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "glue:SearchTables",
            "Resource": [
                "arn:aws:glue:*:*:table/*/*",
                "arn:aws:glue:*:*:database/*",
                "arn:aws:glue:*:*:catalog"
            ]
        }
    ]
}
```

------

## Data Wrangler でのライフサイクル設定の使用
<a name="data-wrangler-lifecycle-configuration"></a>

カーネルゲートウェイアプリケーションを実行するように設定された Amazon EC2 インスタンスがあっても、Data Wrangler アプリケーションは実行されない場合があります。Kernel Gateway アプリケーションは、Studio Classic ノートブックやターミナルの実行に使用する環境とカーネルへのアクセスを提供します。Data Wrangler アプリケーションは、Data Wrangler を実行する UI アプリケーションです。Data Wrangler インスタンスではない Amazon EC2 インスタンスは、Data Wrangler を実行するためにライフサイクル設定を変更する必要があります。ライフサイクル設定は、Amazon SageMaker Studio Classic 環境のカスタマイズを自動化するシェルスクリプトです。

ライフサイクル設定についての詳細は、「[ライフサイクル設定を使用して Amazon SageMaker Studio Classic をカスタマイズする](studio-lcc.md)」を参照してください。

インスタンスのデフォルトのライフサイクル設定は Data Wrangler の使用をサポートしていません。インスタンスで Data Wrangler を使用するには、デフォルト設定に次の変更を加えます。

```
#!/bin/bash
set -eux
STATUS=$(
python3 -c "import sagemaker_dataprep"
echo $?
)
if [ "$STATUS" -eq 0 ]; then
echo 'Instance is of Type Data Wrangler'
else
echo 'Instance is not of Type Data Wrangler'

# Replace this with the URL of your git repository
export REPOSITORY_URL="https://github.com/aws-samples/sagemaker-studio-lifecycle-config-examples.git"

git -C /root clone $REPOSTIORY_URL

fi
```

スクリプトは `lifecycle_configuration.sh` として保存できます。

Studio Classic ドメインまたはユーザープロファイルにライフサイクル設定をアタッチします。ライフサイクル設定の作成やアタッチの詳細については、「[ライフサイクル設定を作成して Amazon SageMaker Studio Classic に関連付ける](studio-lcc-create.md)」を参照してください。

次の手順は、ライフサイクル設定を Studio Classic ドメインまたはユーザープロファイルにアタッチする方法を説明しています。

ライフサイクル設定を作成またはアタッチしているときに、エラーが発生する可能性があります。ライフサイクル設定エラーのデバッグについては、「[KernelGateway アプリの障害](studio-lcc-debug.md#studio-lcc-debug-kernel)」を参照してください。