AWS Identify and Access Management (IAM) ユーザーや AWS IAM Identity Center (AWS Single Sign-On の後継サービス) ユーザーが Amazon SageMaker Canvas を設定できないようにしたいと考えています。
解決方法
IAM ユーザーまたはロールが SageMaker Canvas アプリケーションを設定できないようにするには、まず IAM ポリシーを作成して、必要な許可を拒否します。その後、このポリシーを SageMaker 実行ロールにアタッチします。
次の操作を実行します。
1. IAM コンソールを開きます。
2. ナビゲーションペインで、[Policies] (ポリシー) を選択します。
3. [Create policy] (ポリシーの作成) を選択してから、[JSON] タブを選択します。
4. 次の IAM ポリシーをコピーしてポリシーエディタに貼り付けます。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowSageMakerCreateAppOperations",
"Effect": "Allow",
"Action": "sagemaker:CreateApp",
"Resource": "*"
},
{
"Sid": "DenySageMakerCanvasCreateApp",
"Effect": "Deny",
"Action": "sagemaker:CreateApp",
"Resource": "arn:aws:sagemaker:example-region:1111222233334444:app/example-domain/example-user-name/canvas/*"
}
]
}
ポリシーで、次の項目を置き換えてください。
- example-region を任意のリージョンに置き換えます
- 1111222233334444 をアカウント ID に置き換えます。
- example-domain を SageMaker Studio のドメイン ID に置き換えます。
- example-user-name を SageMaker Studio ユーザープロファイル名に置き換えます。
5. ポリシー検証中に生成されたセキュリティ警告、エラー、または一般的な警告をすべて解決し、[Review policy] (ポリシーを確認) を選択します。
6. [Next: Tags] (次のステップ: タグ) を選択します。
7. [Review policy] (ポリシーを確認) ページで、作成するポリシーの [Name] (名前) と [Description] (説明) (オプション) を入力します。ポリシーの [Summary] (概要) を確認し、[Create policy] (ポリシーを作成) を選択して作業内容を保存します。
8. 表示されたポリシーのリストで、作成したポリシーを選択します。
9. [Policy usage] (ポリシーの使用状況) タブを選択してから、[Attach] (アタッチ) を選択します。
10. 表示される IAM ユーザーとロールのリストから、Studio ユーザーの SageMaker 実行ロールを選択します。
11. [Attach policy] (ポリシーのアタッチ) を選択します。
前述のステップを完了した後に SageMaker Canvas アプリケーションを設定しようとすると、次のエラーが表示されます。
SageMaker is unable to use your associated ExecutionRole [<SageMaker Studio User Execution Role>] to create app. Verify that your associated ExecutionRole has permission for 'sagemaker:CreateApp'.
関連情報
Amazon SageMaker Canvas