チュートリアル: IAM アイデンティティセンターを使用して AWS CLI で Amazon S3 コマンドを実行する - AWS Command Line Interface

チュートリアル: IAM アイデンティティセンターを使用して AWS CLI で Amazon S3 コマンドを実行する

このトピックでは、現在の AWS IAM Identity Center (IAM アイデンティティセンター) を使用してユーザーを認証し、 Amazon Simple Storage Service (Amazon S3) の AWS Command Line Interface (AWS CLI) コマンドを実行するための認証情報を取得するように AWS CLI を設定する方法について説明します。

ステップ 1: IAM アイデンティティセンターを使用した認証

IAM アイデンティティセンター内で SSO 認証へのアクセスを取得します。AWS 認証情報にアクセスするには、次のいずれかの方法を選択します。

AWS IAM Identity Center ユーザーガイド」の「開始方法」の手順に従います。このプロセスでは、IAM Identity Center をアクティブ化して、管理者ユーザーを作成し、適切な最小特権のアクセス許可セットを追加します。

注記

最小特権権のアクセス許可を適用するアクセス許可セットを作成します。雇用主がこの目的のためにカスタムアクセス許可セットを作成していない限り、定義済みの PowerUserAccess アクセス許可セットを使用することをお勧めします。

ポータルを終了し、AWS アカウントにもう一度サインインすると、、プログラムによるアクセスの詳細、および Administrator または PowerUserAccess のオプションが表示されます。SDK を使用する場合は PowerUserAccess を選択します。

ID プロバイダーのポータルから AWS にサインインします。クラウド管理者から PowerUserAccess (開発者) アクセス許可を付与されている場合は、アクセス権のある AWS アカウント とアクセス許可セットが表示されます。アクセス許可セットの名前の横に、そのアクセス許可セットを使用してアカウントに手動またはプログラムでアクセスするオプションが表示されます。

カスタム実装では、アクセス許可セット名が異なるなど、エクスペリエンスが異なる場合があります。どのアクセス許可セットを使用すればよいかわからない場合は、IT チームにお問い合わせください。

AWS アクセスポータルを通じて AWS にサインインします。クラウド管理者から PowerUserAccess (開発者) アクセス許可を付与されている場合は、アクセス権のある AWS アカウント とアクセス許可セットが表示されます。アクセス許可セットの名前の横に、そのアクセス許可セットを使用してアカウントに手動またはプログラムでアクセスするオプションが表示されます。

サポートについては、IT チームにお問い合わせください。

ステップ 2: IAM アイデンティティセンターの情報を収集する

AWS へのアクセスを取得したら、次を実行して IAM アイデンティティセンターの情報を収集します。

  1. AWS アクセスポータルで、開発に使用するアクセス許可セットを選択し、[アクセスキー] リンクを選択します。

  2. [認証情報の取得] ダイアログボックスで、オペレーティングシステムに一致するタブを選択します。

  3. [IAM Identity Center 認証情報] メソッドを選択して、aws configure sso の実行に必要な SSO Start URLSSO Region の値を取得します。どのスコープ値を登録するかについては、「IAM Identity Center ユーザーガイド」の「OAuth 2.0 アクセススコープ」を参照してください。

ステップ 3: Amazon S3 バケットを作成する

AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

このチュートリアルでは、後でリストで取得するバケットをいくつか作成します。

ステップ 4: AWS CLI をインストールする

お使いのオペレーティングシステムの手順に従って、AWS CLI をインストールします。詳細については、「AWS CLI の最新バージョンのインストールまたは更新」を参照してください。

インストールが完了したら、任意のターミナルを開き、次のコマンドを実行してインストールを確認します。これにより、AWS CLI のインストール済みバージョンが表示されます。

$ aws --version

ステップ 5: AWS CLI プロファイルを設定する

次のいずれかの方法でプロファイルを設定します

config ファイルの sso-session セクションを使用して、SSO アクセストークンを取得するための設定変数をグループ化します。これらを使用して、AWS 認証情報を取得できます。次の設定を使用します。

sso-session セクションを定義し、プロファイルに関連付けます。sso_region および sso_start_url の設定は、sso-session セクション内で設定する必要があります。SDK が SSO 認証情報をリクエストできるように、通常、sso_account_idsso_role_nameprofileセクション内に設定する必要があります。

次の例では、SSO 認証情報をリクエストするように SDK を設定し、トークンの自動更新をサポートしています。

[profile dev] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start

config ファイルの sso-session セクションを使用して、SSO アクセストークンを取得するための設定変数をグループ化します。これらを使用して、AWS 認証情報を取得できます。次の設定を使用します。

sso-session セクションを定義してプロファイルに関連付けます。sso_regionsso_start_urlsso-session セクション内に設定する必要があります。SDK が SSO 認証情報をリクエストできるように、通常、sso_account_idsso_role_nameprofileセクション内に設定する必要があります。

次の例では、SSO 認証情報をリクエストするように SDK を設定し、トークンの自動更新をサポートしています。

[profile my-dev-profile] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start sso_registration_scopes = sso:account:access

認証トークンは、セッション名に基づいたファイル名を使用して、~/.aws/sso/cache ディレクトリの下のディスクにキャッシュされます。

ステップ 6: IAM アイデンティティセンターにログインする

注記

サインインプロセス中に、データへのアクセスを AWS CLI に許可するように求められる場合があります。AWS CLI は SDK for Python 上に構築されているため、アクセス許可メッセージには 名前 botocore のさまざまなバリエーションが含まれる場合があります。

IAM アイデンティティセンターの認証情報を取得してキャッシュするには、AWS CLI の次のコマンドを実行してデフォルトのブラウザを開き、IAM アイデンティティセンターのログインを確認します。

$ aws sso login --profile my-dev-profile

ステップ 7: Amazon S3 コマンドを実行する

前に作成したバケットを一覧表示するには、aws s3 ls コマンドを使用します。次の例では、すべての Amazon S3 バケットを一覧表示します。

$ aws s3 ls 2018-12-11 17:08:50 my-bucket 2018-12-14 14:55:44 my-bucket2

ステップ 8: IAM アイデンティティセンターからログアウトする

IAM アイデンティティセンターのプロファイルの使用が完了したら、次のコマンドを実行してキャッシュされた認証情報を削除します。

$ aws sso logout Successfully signed out of all SSO profiles.

ステップ 9: リソースをクリーンアップする

このチュートリアルが完了したら、Amazon S3 バケットなど、このチュートリアルで作成し、不要になったリソースをクリーンアップします。

トラブルシューティング

AWS CLI の使用中に問題が発生した場合の一般的なトラブルシューティングのステップについては、「AWS CLI のエラーのトラブルシューティング」を参照してください。

追加リソース

その他のリソースは次のとおりです。