チュートリアル: 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 アイデンティティセンターの情報を収集します。
-
AWS アクセスポータルで、開発に使用するアクセス許可セットを選択し、[アクセスキー] リンクを選択します。
-
[認証情報の取得] ダイアログボックスで、オペレーティングシステムに一致するタブを選択します。
-
[IAM Identity Center 認証情報] メソッドを選択して、
aws configure sso
の実行に必要なSSO Start URL
とSSO 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_id
と sso_role_name
は profile
セクション内に設定する必要があります。
次の例では、SSO 認証情報をリクエストするように SDK を設定し、トークンの自動更新をサポートしています。
[profile
dev
] sso_session =my-sso
sso_account_id =111122223333
sso_role_name =SampleRole
[sso-sessionmy-sso
] sso_region =us-east-1
sso_start_url =https://my-sso-portal.awsapps.com/start
config
ファイルの sso-session
セクションを使用して、SSO アクセストークンを取得するための設定変数をグループ化します。これらを使用して、AWS 認証情報を取得できます。次の設定を使用します。
sso-session
セクションを定義してプロファイルに関連付けます。sso_region
と sso_start_url
は sso-session
セクション内に設定する必要があります。SDK が SSO 認証情報をリクエストできるように、通常、sso_account_id
と sso_role_name
は profile
セクション内に設定する必要があります。
次の例では、SSO 認証情報をリクエストするように SDK を設定し、トークンの自動更新をサポートしています。
[profile
my-dev-profile
] sso_session =my-sso
sso_account_id =111122223333
sso_role_name =SampleRole
[sso-sessionmy-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
$
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 のエラーのトラブルシューティング」を参照してください。
追加リソース
その他のリソースは次のとおりです。
-
aws configure sso
(AWS CLI バージョン 2 リファレンス) -
aws configure sso-session
(AWS CLI バージョン 2 リファレンス) -
aws sso login
(AWS CLI バージョン 2 リファレンス) -
aws sso logout
(AWS CLI バージョン 2 リファレンス) -
「Amazon CodeCatalyst ユーザーガイド」の「Setting up to use the AWS CLI with CodeCatalyst」
-
「IAM アイデンティティセンターのユーザーガイド」の OAuth 2.0 アクセススコープ
-
「IAM アイデンティティセンターのユーザーガイド」の入門チュートリアル