Amazon SageMaker Studio ユーザーが使用しているロールを知りたいと考えています。その後、このロールを変更することを希望しています。
解決方法
SageMaker Studio ドメインを作成してアクセスする際には、次の AWS Identity and Access Management (IAM) ロールを使用します。
- SageMaker Studio ドメイン実行ロール: 署名済み URL を通じて Studio 統合開発環境 (IDE) にアクセスした後、このロールを使用してスタジオインフラストラクチャの設定とプロビジョニングを行います。
- SageMaker ユーザープロファイルロール: このロールの許可範囲は、ユーザープロファイルが Studio 環境内で実行できるアクションを定義します。これは、Studio 内でユーザーに代わってリソースを作成するときに SageMaker が引き受ける実行ロールです。
SageMaker Studio ドメインを作成すると、SageMaker ではデフォルトで実行ロールを作成できるようになります。このロールには、AmazonSageMakerFullAccess ポリシーがアタッチされています。このポリシーにより、ユーザープロファイルに対する拡張アクセスが可能になります。ユースケースでこれらの許可を管理する必要がある場合は、SageMaker ユーザープロファイルロールを変更することでユーザープロファイルに対するアクセスを制限できます。
ユーザープロファイルにアタッチされているロールを確認するには、ユーザープロファイルによって作成された Jupyter Notebook で次を実行します。
import sagemaker
sagemaker_session = sagemaker.Session()
#Check which role is being used
role = sagemaker.get_execution_role()
print(role)
ユーザープロファイルにアタッチされているロールを変更するには、UpdateUserProfile コマンドを実行します。
次の AWS コマンドラインインターフェイス (AWS CLI) コマンドを実行して、既存のユーザープロファイルにアタッチされているロールを更新できます。
aws sagemaker update-user-profile --example-domain-id --example-user-profile-name --user-settings ExecutionRole=arn:aws:iam::1111222233334444:role/service-role/example_sagemaker_execution_role
重要: SageMaker Studio ユーザープロファイルの IAM ロールを変更する前に、ユーザーが「InService」アプリをアクティブにしていないことを確認してください。
注: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
関連情報
SageMaker ロール