AWS S3 モジュール
Adobe Workfront Fusion AWS S3 モジュールを使用すると、S3 バケットに対して操作を実行できます。
アクセス要件
| table 0-row-2 1-row-2 2-row-2 3-row-2 layout-auto html-authored no-header | |
|---|---|
| Adobe Workfront パッケージ |
任意の Adobe Workfront Workflow パッケージと任意の Adobe Workfront Automation および Integration パッケージ Workfront Ultimate Workfront Fusion を追加購入した Workfront Prime および Select パッケージ。 |
| Adobe Workfront ライセンス |
標準 Work またはそれ以上 |
| Adobe Workfront Fusion ライセンス |
オペレーションベース:オペレーションベースのライセンスを持つ組織で使用できます コネクターベース(レガシー):Workfront Fusion for Work Automation および Integration |
| 製品 | 組織が Workfront Automation および Integration を含まない Select またはPrime Workfront パッケージを持っている場合は、Adobe Workfront Fusion を購入する必要があります。 |
この表の情報について詳しくは、ドキュメントのアクセス要件を参照してください。
Adobe Workfront Fusion ライセンスについて詳しくは、Adobe Workfront Fusion ライセンスを参照してください。
前提条件
AWS S3 モジュールを使用するには Amazon Web Service アカウントが必要です。
AWS S3 APIについて
AWS S3 コネクタでは、次の機能が使用されます。
AWS を Workfront Fusion に接続 connect-aws-to-workfront-fusion
連合コネクションを使用してAWSをWorkfront Fusionに接続します
- フェデレーション接続を使用してAWSをWorkfront Fusionに接続するための前提条件
- Workfront FusionをAWSのID プロバイダーとして追加する
- IAM ロールの作成
- Workfront Fusionでコネクションを作成する
- 役割の信頼ポリシーへの接続の追加
- 接続を確認する
- トラブルシューティング
フェデレーション接続を使用すると、Workfront Fusionは、IAM ユーザーを作成したり、Fusionにアクセスキーを保存したりすることなく、AWS アカウントにアクセスできます。
代わりに、Workfront FusionをAWS アカウントの信頼できるID プロバイダーとして登録し、特定のIAM ロールを使用できる1つのFusion接続を設定します。 接続が実行されると、Fusionは短期間有効なIDの証明を表示し、AWSは独自に有効期限が切れる一時的な資格情報を返します。 長期間有効なキーが作成、保存、回転されることはありません。
| note |
|---|
| NOTE |
| この接続を設定するには、AWS コンソールに2回訪問する必要があります。 最初にロールを作成し、次にWorkfront Fusionでコネクションを作成し、次にAWSに戻ってトラストポリシーを完了します。 これは、信頼ポリシーの一部が1つの特定の接続を識別し、その識別子が接続が作成されるまで存在しないためです。 |
フェデレーション接続を使用してAWSをWorkfront Fusionに接続するための前提条件
この接続を作成するには、次のものが必要です。
- ID プロバイダーを作成し、役割を作成および編集するためのAWS IAMの権限。 これは通常、ポリシーまたはそれに相当するポリシーを意味します。 このアクセス権をお持ちでない場合は、クラウド上の誰かに依頼するか、または
セキュリティチームがAWSのステップを完了します。 - Workfront Fusionで接続を作成する機能。
Workfront FusionをAWSのID プロバイダーとして追加する
この手順では、AWS Fusionで発行されたトークンが信頼できることをWorkfrontに伝えます。 これは、AWS アカウントごとに1回おこないます。 組織内の誰かがこのプロバイダーを既に追加している場合は、IAM ロールの作成にスキップします。
-
AWS コンソールにログインし、IAM > ID プロバイダーに移動します。
-
「プロバイダーを追加」を選択します。
-
プロバイダータイプで、OpenID Connectを選択します。
-
プロバイダーURLに次の情報を入力し、サムプリントを取得を選択します。
code language-none https://oidc.automations.adobe.com -
「オーディエンス」に、次の情報を入力します。
code language-none sts.amazonaws.com -
「プロバイダーを追加」を選択します。
-
引き続きIAM ロールの作成を続行します。
IAM ロールの作成
このロールは、AWS アカウントで許可されるコネクションを定義します。 接続ごとに1つの役割を作成して、各接続のアクセス権を個別に付与および取り消しできるようにします。
-
IAMで、役割に移動し、役割を作成を選択します。
-
信頼済みエンティティ タイプの場合は、Web IDを選択します。
-
ID プロバイダーで、
oidc.automations.adobe.comを選択します。 -
「オーディエンス」で、「
sts.amazonaws.com」を選択します。 -
「次へ」を選択し、この接続に必要な権限ポリシーを添付します。
接続が実際に使用する権限のみを付与します。 例えば、からのみ読み取れる接続は
1つのバケットにはAmazonS3FullAccessは必要ありません。 -
役割に明確で認識可能な名前を付けます。 例:
WorkfrontFusionFederatedConnection -
「役割を作成」を選択します。
-
作成した役割を開き、「概要」領域からそのARNをコピーします。 次のようになります:
arn:aws:iam::123456789012:role/WorkfrontFusionFederatedConnection -
引き続きWorkfront Fusionで接続を作成します。
Workfront Fusionでコネクションを作成する
- モジュールの接続設定画面で、フェデレーション接続タイプを選択します。
- IAM ロールを作成でコピーしたロール ARNを入力します。
- 「作成」を選択します。
Workfront Fusionには3つの値が表示されます。 次の手順で使用します。
| table 0-row-2 1-row-2 2-row-2 html-authored no-header | |
|---|---|
| 問題 | 常にhttps://oidc.automations.adobe.com。 これは、AWSで追加したID プロバイダーと一致します。 |
| 件名 | この1つの接続を識別します。 fusion:6e5b1c2a345bd8d1ed98b6b4f1459818:28964のようです。 作成する接続ごとに異なります。 |
| オーディエンス | 常にsts.amazonaws.com。 |
-
このパネルを開いたままにして、件名の値をコピーします。
note NOTE パネルを閉じたり、「キャンセル」を選択したりしないでください。 残りの手順を完了するまで、接続は完了しません。 パネルを閉じた場合は、新しい接続が新しい件名を受信するので、接続を削除して再度開始する必要があります。 -
引き続き役割の信頼ポリシーへの接続を追加します。
役割の信頼ポリシーへの接続の追加
この手順を完了するまで、ロールはWorkfront Fusionを一般的に信頼していますが、この特定の接続を使用することはできません。
-
新しいブラウザータブで、AWS コンソールに戻り、作成したロールを開きます。
-
「信頼関係」タブを選択し、「信頼ポリシーを編集」を選択します。
-
ポリシーを次の値に置き換え、独自の値を置き換えます。
123456789012をAWS アカウント IDに置き換えますsubの値を、Workfront Fusionからコピーした被写体に置き換えます。
code language-none { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::123456789012:oidc-provider/oidc.automations.adobe.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "oidc.automations.adobe.com:sub": "fusion:6e5b1c2a345bd8d1ed98b6b4f1459818:28964", "oidc.automations.adobe.com:aud": "sts.amazonaws.com" } } } ] } -
「ポリシーを更新」を選択します。
-
引き続き接続の確認を行います。
| note tip | ||
|---|---|---|
| TIP | ||
| 複数の接続で同じ役割を使用できるようにするには、オブジェクトを配列としてリストします。 AWSでは、トークンがリスト内の任意の値と一致する場合にロールを使用できます。 | ||
|
||
| サブ値をワイルドカードに置き換えないでください。 これにより、組織内の任意の接続で、後で他のユーザーが作成した接続を含め、役割を使用できます |
接続を確認する
-
Workfront Fusion ブラウザータブに戻ります。接続パネルはまだ開いています。
-
「保存」をクリックします。
Workfront FusionはAWSに連絡し、トラストポリシーを確認して一時的な資格情報を返します。 すべてが正しく設定されている場合、接続は正常に検証され、モジュールの設定を続行できます。
検証に失敗した場合、パネルは開いたままになり、エラーが表示されます。 AWSで問題を修正し、「保存」をもう一度選択します。 接続を再作成する必要はなく、被写体は変更されません。
この時点から、接続は独自の資格情報を更新します。 回転するキーはなく、維持する必要がある有効期限はありません。
トラブルシューティング
| table 0-row-3 1-row-3 2-row-3 3-row-3 html-authored | ||
|---|---|---|
| エラー | 意味 | 確認すべきこと |
| InvalidIdentityToken | AWSは、トークンを登録済みID プロバイダーと一致させることができませんでした。 | 「Workfront FusionをAWSのID プロバイダーとして追加」に記載されているID プロバイダーを追加し、そのURLが末尾のスラッシュを含まない正確にhttps://oidc.automations.adobe.comであることを確認します。 |
| ロールを引き受ける際にAccessDenied | ID プロバイダーが登録されていますが、信頼ポリシーがこの接続と一致しません。 | トラストポリシーのサブ値がWorkfront Fusionに表示されている被写体と同じ文字のサブ値であり、audがsts.amazonaws.comであることを確認します。 別の接続からコピーされた被写体が最も一般的な原因です。 |
| 接続は動作し、後で失敗します | 役割の権限ポリシーが変更されたかどうか、または役割が削除および再作成されたかどうかを確認します。 役割を再作成してもARNは変更されませんが、信頼ポリシーはリセットされます。 |
API ユーザーを使用してAWSをWorkfront Fusionに接続する
AWS S3をWorkfront Fusionに接続するには、AWS アカウントをWorkfront Fusionに接続する必要があります。 これを行うには、まず AWS IAM で API ユーザーを作成します。
-
AWS IAM アカウントにログインします。
-
ID とアクセスの管理/アクセス管理/ユーザーに移動します。
-
「ユーザーを追加」をクリックします。
-
新しいユーザーの名前を入力し、「アクセスタイプ」セクションで「プログラムアクセス」オプションを選択します。
-
「既存のポリシーを直接添付」をクリックして、検索バーで AmazonS3FullAccess を検索します。 それが表示されたら選択して「次へ」をクリックします。
-
他のダイアログ画面を進み、「ユーザーを作成」をクリックします。
-
提供されたアクセスキー ID および 秘密アクセスキー をコピーします。
-
Workfront Fusionに移動し、AWS S3 モジュールの接続を作成 ダイアログを開きます。
-
手順7の「アクセスキー ID」および「秘密アクセスキー」をそれぞれのフィールドに入力し、「続行」をクリックして接続を確立します。
接続が確立されました。 モジュールの設定に進むことができます。
AWS S3 モジュールとそのフィールド
AWS S3 モジュールを設定すると、Workfront Fusion には以下のフィールドが表示されます。 これらとともに、アプリやサービスのアクセスレベルなどの要因に応じて、追加の「AWS S3」フィールドが表示される場合があります。 モジュール内の太字のタイトルは、必須フィールドを示します。
フィールドまたは関数の上にマップボタンが表示されている場合は、このボタンを使用すると、そのフィールドの変数や関数を設定できます。 詳しくは、モジュール間での情報のマッピングを参照してください。
アクション
バケットを作成
このアクションモジュールは、AWSでバケットを作成します。
ファイルを取得
このアクションモジュールは、バケットからファイルをダウンロードします。
API 呼び出しの実行
このアクションモジュールは、AWS S3 APIをカスタム呼び出します。
Amazon S3 APIの詳細については、Amazon S3 REST APIの概要を参照してください。
https://s3.<selected-region>.amazonaws.com/ を基準として指定する必要があります。API 呼び出しを設定する必要がある HTTP リクエストメソッドを選択します。 詳しくは、Adobe Workfront FusionのHTTP リクエストメソッドを参照してください。
リクエストヘッダーを追加します。 追加する各ヘッダーについて、項目を追加をクリックし、ヘッダーを入力します。 次の共通のリクエストヘッダーを使用できます。 リクエストヘッダーについて詳細は、AWS S3API ドキュメントを参照してください。
Workfront Fusion は認証ヘッダーを自動的に追加します。
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 layout-auto | |
|---|---|
| ヘッダー名 | 説明 |
| Content-Length | RFC 2616 に従ったメッセージの長さ(ヘッダーなし)。 このヘッダーは、PUT や、XML を読み込む操作(ログや ACL など)に必要です。 |
| Content-Type | リソースのコンテンツタイプ(リクエストコンテンツが本文にある場合)。 例:text/plain。 |
| Content-MD5 | RFC 1864 に従って、base64 エンコードされた 128 ビットの MD5 ダイジェスト(ヘッダーなし)。 このヘッダーをメッセージの整合性チェックとして使用し、データが最初に送信されたのと同じデータであることを検証できます。 これはオプションですが、Content-MD5 メカニズムをエンドツーエンドの整合性チェックとして使用することをお勧めします。 REST認証リクエストについて詳しくは、AWS ドキュメントの「REST リクエストの署名と認証」を参照してください。 |
| Date | リクエスターに応じた現在の日時。 例:Wed, 01 Mar 2006 12:00:00 GMT。 Authorization ヘッダーを指定する場合は、x-amz-date ヘッダーまたは Date ヘッダーを指定する必要があります。 |
| Expect |
アプリケーションで 100-continue を使用する場合、確認を受け取るまでリクエスト本文は送信されません。 ヘッダーに基づいてメッセージを拒否した場合、メッセージの本文は送信されません。 このヘッダーは、本文を送信する場合にのみ使用できます。 有効な値:100-continue |
| Host |
パススタイルのリクエストの場合、値は このヘッダーは HTTP 1.1 に必要であり、ほとんどのツールキットで自動的に追加されます。HTTP/1.0 リクエストの場合はオプションです。 |
| x-amz-content-sha256 | 署名バージョン 4 を使用してリクエストを認証する場合は、このヘッダーによってリクエストペイロードのハッシュが提供されます。 オブジェクトをチャンク単位でアップロードする場合は、値を STREAMING-AWS4-HMAC-SHA256-PAYLOAD に設定して、署名がヘッダーのみを対象とし、ペイロードがないことを示します。 詳しくは、AWS ドキュメントの「Signature Calculations for the Authorization Header」を参照してください。 |
| x-amz-date | リクエスターに応じた現在の日時。 例:Wed, 01 Mar 2006 12:00:00 GMT。 Authorization ヘッダーを指定する場合は、x-amz-date ヘッダーまたは Date ヘッダーを指定する必要があります。 両方を指定した場合は、x-amz-date ヘッダーの値が優先されます。 |
| x-amz-security-token |
このヘッダーは、次のシナリオで使用できます。
このヘッダーは、Amazon DevPay を使用するリクエストおよび一時的なセキュリティ認証情報を使用して署名されたリクエストに必要です。 |
標準の JSON オブジェクトの形式で、API 呼び出しの本文の内容を追加します。
メモ:
if などの条件文を JSON で使用する場合は、条件文を引用符で囲みます。
ファイルをアップロード
このアクションモジュールは、ファイルをAWS S3 バケットにアップロードします。
検索
ファイルをリストする
指定された場所からファイルのリストを返します。
フォルダーをリストする
指定された場所からフォルダーのリストを返します。