

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

# ワークフローの IAM ポリシー
<a name="workflow-execution-role"></a>

ワークフローをサーバーに追加する際、実行ロールを選択する必要があります。サーバーは、ワークフローの実行時にこのロールを使用します。ロールに適切なアクセス許可がない場合は、ワークフローを実行 AWS Transfer Family できません。

このセクションでは、ワークフローの実行に使用できる AWS Identity and Access Management (IAM) アクセス許可の 1 つのセットについて説明します。このトピックの後半で、他の例を紹介しています。

**注記**  
Amazon S3 ファイルにタグがある場合は、IAM ポリシーに 1 つまたは 2 つのアクセス許可を追加する必要があります。  
バージョン管理されていない Amazon S3 ファイルに`s3:GetObjectTagging`を追加します。
バージョン管理されている Amazon S3 ファイルに`s3:GetObjectVersionTagging`を追加します。

**ワークフローの実行ロールを作成するには**

1. 新しい IAM ロールを作成し、 AWS 管理ポリシー`AWSTransferFullAccess`をロールに追加します。新しい IAM ロールの作成についての詳細は、[IAM ポリシーとロールを作成する](requirements-roles.md) を参照してください。

1. 次のアクセス許可を持つポリシーを作成してロールにアタッチします。`user input placeholder` を、ユーザー自身の情報に置き換えます。  
****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "ConsoleAccess",
               "Effect": "Allow",
               "Action": "s3:GetBucketLocation",
               "Resource": "*"
           },
           {
               "Sid": "ListObjectsInBucket",
               "Effect": "Allow",
               "Action": "s3:ListBucket",
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket"
               ]
           },
           {
               "Sid": "AllObjectActions",
               "Effect": "Allow",
               "Action": "s3:*Object",
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           },
           {
               "Sid": "GetObjectVersion",
               "Effect": "Allow",
               "Action": "s3:GetObjectVersion",
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           },
           {
               "Sid": "Custom",
               "Effect": "Allow",
               "Action": [
                   "lambda:InvokeFunction"
               ],
               "Resource": [
                   "arn:aws:lambda:us-east-1:123456789012:function:function-name"
               ]
           },
           {
               "Sid": "Tag",
               "Effect": "Allow",
               "Action": [
                   "s3:PutObjectTagging",
                   "s3:PutObjectVersionTagging"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           }
       ]
   }
   ```

1. このロールを保存し、ワークフローをサーバーに追加する際に実行ロールとして指定します。
**注記**  
IAM ロールを構築する場合、 では、ワークフローで可能な限りリソースへのアクセスを制限する AWS ことをお勧めします。

## ワークフローの信頼関係
<a name="workflows-trust"></a>

ワークフロー実行ロールには、`transfer.amazonaws.com`との信頼関係も必要です。 AWS Transfer Familyとの信頼関係を築くには、[信頼関係を確立するには](requirements-roles.md#establish-trust-transfer) を参照してください。

信頼関係を築いている間は、「混乱した代理人」問題を避けるための対策を講じることもできます。この問題の説明と回避方法の例については、[サービス間の混乱した代理の防止](confused-deputy.md)を参照してください。

## 実行ロールの例:復号化、コピー、タグ付け
<a name="example-workflow-role-copy-tag"></a>

タグ付け、コピー、復号化のステップを含むワークフローがある場合は、次の IAM ポリシーを使用できます。`user input placeholder` を、ユーザー自身の情報に置き換えます。

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CopyRead",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectTagging",
                "s3:GetObjectVersionTagging"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
        },
        {
            "Sid": "CopyWrite",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:PutObjectTagging"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
        },
        {
            "Sid": "CopyList",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-source-bucket",
                "arn:aws:s3:::amzn-s3-demo-destination-bucket"
            ]
        },
        {
            "Sid": "Tag",
            "Effect": "Allow",
            "Action": [
                "s3:PutObjectTagging",
                "s3:PutObjectVersionTagging"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*",
            "Condition": {
                "StringEquals": {
                    "s3:RequestObjectTag/Archive": "yes"
                }
            }
        },
        {
            "Sid": "ListBucket",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket"
            ]
        },
        {
            "Sid": "HomeDirObjectAccess",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObjectVersion",
                "s3:DeleteObject",
                "s3:GetObjectVersion"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
        },
        {
            "Sid": "Decrypt",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "arn:aws:secretsmanager:us-east-1:123456789012:secret:aws/transfer/*"
        }
    ]
}
```

## 実行ロールの例:関数の実行と削除
<a name="example-workflow-role-custom-delete"></a>

この例では、 AWS Lambda 関数を呼び出すワークフローがあります。ワークフローがアップロードされたファイルを削除し、前のステップで失敗したワークフロー実行を処理する例外ハンドラーステップがある場合は、次の IAM ポリシーを使用してください。`user input placeholder` を、ユーザー自身の情報に置き換えます。

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Delete",
            "Effect": "Allow",
            "Action": [
                "s3:DeleteObject",
                "s3:DeleteObjectVersion"
            ],
            "Resource": "arn:aws:s3:::bucket-name"
        },
        {
            "Sid": "Custom",
            "Effect": "Allow",
            "Action": [
                "lambda:InvokeFunction"
            ],
            "Resource": [
                "arn:aws:lambda:us-east-1:123456789012:function:function-name"
            ]
        }
    ]
}
```