AWS Powershell授权问题

时间:2017-07-04 12:07:25

标签: powershell amazon-web-services aws-sdk

我正在为公司内部的人员构建自定义模块,以便他们可以使用AWS资源 在模块中,我有一个函数,允许它们根据其活动目录帐户承担某个角色。 看起来大致如下:

function Use-Role {
    param(
        [Parameter(Mandatory=$false, HelpMessage="Sandbox, Dev")]
        [string] $Account="Dev",
        [Parameter(Mandatory=$false, HelpMessage="operator, migrator")]
        [string] $Role="operator",
        [Parameter(Mandatory=$false, HelpMessage="eu-west-1, eu-west-2")]
        [string] $Region="eu-west-1"
    )
    $accountId = If ($Account -eq "Dev") {"123456"} Else {"67890"}

    Set-AWSSamlEndpoint -Endpoint "some_endpoint" -StoreAs endPoint -AuthenticationType NTLM

    if ($Role -match "operator") {
        Set-AWSSamlRoleProfile -StoreAs "SAML-$Account-BackupOperator" -EndpointName endPoint -RoleARN "arn:aws:iam::$($accountId):role/SAML-$Account-BackupOperator" -PrincipalARN "arn:aws:iam::$($accountId):saml-provider/ADFS"
        Initialize-AWSDefaults -ProfileName "SAML-$Account-BackupOperator" -Region $Region
    }
    elseif ($Role -match "migrator"){
        Set-AWSSamlRoleProfile -StoreAs "SAML-$Account-DbMigrator" -EndpointName endPoint -RoleARN "arn:aws:iam::$($accountId):role/SAML-$Account-DbMigrator" -PrincipalARN "arn:aws:iam::$($accountId):saml-provider/ADFS"
        Initialize-AWSDefaults -ProfileName "SAML-$Account-DbMigrator" -Region $Region
    }
}

当用户导入模块并使用此功能时,授权无法按预期工作。他/她无法获得应有的资源和其他类似的问题。

当我运行相同的代码时:

Set-AWSSamlRoleProfile -StoreAs "SAML-$Account-BackupOperator" -EndpointName endPoint -RoleARN "arn:aws:iam::$($accountId):role/SAML-$Account-BackupOperator" -PrincipalARN "arn:aws:iam::$($accountId):saml-provider/ADFS"
Initialize-AWSDefaults -ProfileName "SAML-$Account-BackupOperator" -Region $Region
直接从powershell终端

它工作正常,所有权限都没问题。

任何指针如何调试它,可能是什么?

0 个答案:

没有答案