翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ワークフローの IAM ポリシー
ワークフローをサーバーに追加する際、実行ロールを選択する必要があります。サーバーは、ワークフローの実行時にこのロールを使用します。ロールに適切なアクセス許可がない場合は、ワークフローを実行 AWS Transfer Family できません。
このセクションでは、ワークフローの実行に使用できる AWS Identity and Access Management (IAM) アクセス許可の 1 つのセットについて説明します。このトピックの後半で、他の例を紹介しています。
Amazon S3 ファイルにタグがある場合は、IAM ポリシーに 1 つまたは 2 つのアクセス許可を追加する必要があります。
ワークフローの実行ロールを作成するには
-
新しい IAM ロールを作成し、 AWS 管理ポリシーAWSTransferFullAccess
をロールに追加します。新しい IAM ロールの作成についての詳細は、IAM ポリシーとロールを作成する を参照してください。
-
次のアクセス許可を持つポリシーを作成してロールにアタッチします。user input
placeholder
を、ユーザー自身の情報に置き換えます。
- JSON
-
-
{
"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/*"
]
}
]
}
-
このロールを保存し、ワークフローをサーバーに追加する際に実行ロールとして指定します。
IAM ロールを構築する場合、 では、ワークフローで可能な限りリソースへのアクセスを制限する AWS ことをお勧めします。
ワークフローの信頼関係
ワークフロー実行ロールには、transfer.amazonaws.com
との信頼関係も必要です。 AWS Transfer Familyとの信頼関係を築くには、信頼関係を確立するには を参照してください。
信頼関係を築いている間は、「混乱した代理人」問題を避けるための対策を講じることもできます。この問題の説明と回避方法の例については、サービス間の混乱した代理の防止を参照してください。
実行ロールの例:復号化、コピー、タグ付け
タグ付け、コピー、復号化のステップを含むワークフローがある場合は、次の IAM ポリシーを使用できます。user input
placeholder
を、ユーザー自身の情報に置き換えます。
- JSON
-
-
{
"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/*"
}
]
}
実行ロールの例:関数の実行と削除
この例では、 AWS Lambda 関数を呼び出すワークフローがあります。ワークフローがアップロードされたファイルを削除し、前のステップで失敗したワークフロー実行を処理する例外ハンドラーステップがある場合は、次の IAM ポリシーを使用してください。user input placeholder
を、ユーザー自身の情報に置き換えます。
- JSON
-
-
{
"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
"
]
}
]
}