Skip to content

Commit

Permalink
Move IsFIPSDisabledByEnv to lib/utils/aws/awsfips (#52123)
Browse files Browse the repository at this point in the history
  • Loading branch information
codingllama authored Feb 14, 2025
1 parent 23e697a commit e374c24
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.

package aws
package awsfips

import (
"os"
Expand Down
6 changes: 3 additions & 3 deletions lib/utils/aws/dynamodbutils/dynamo.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ package dynamodbutils

import (
"github.com/gravitational/teleport/lib/modules"
awsutils "github.com/gravitational/teleport/lib/utils/aws"
"github.com/gravitational/teleport/lib/utils/aws/awsfips"
)

// IsFIPSEnabled returns true if FIPS should be enabled for DynamoDB.
// FIPS is enabled is the binary is boring ([modules.Modules.IsBoringBinary])
// and if FIPS is not disabled by the environment
// ([awsutils.IsFIPSDisabledByEnv]).
// ([awsfips.IsFIPSDisabledByEnv]).
func IsFIPSEnabled() bool {
return !awsutils.IsFIPSDisabledByEnv() && modules.GetModules().IsBoringBinary()
return !awsfips.IsFIPSDisabledByEnv() && modules.GetModules().IsBoringBinary()
}
6 changes: 3 additions & 3 deletions lib/utils/aws/iamutils/iam.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ import (
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/service/iam"

awsutils "github.com/gravitational/teleport/lib/utils/aws"
"github.com/gravitational/teleport/lib/utils/aws/awsfips"
)

// NewFromConfig wraps [iam.NewFromConfig] and applies FIPS settings
// according to environment variables.
//
// See [awsutils.IsFIPSDisabledByEnv].
// See [awsfips.IsFIPSDisabledByEnv].
func NewFromConfig(cfg aws.Config, optFns ...func(*iam.Options)) *iam.Client {
if awsutils.IsFIPSDisabledByEnv() {
if awsfips.IsFIPSDisabledByEnv() {
// append so it overrides any preceding settings.
optFns = append(optFns, func(opts *iam.Options) {
opts.EndpointOptions.UseFIPSEndpoint = aws.FIPSEndpointStateDisabled
Expand Down
6 changes: 3 additions & 3 deletions lib/utils/aws/stsutils/sts.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ import (
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/service/sts"

awsutils "github.com/gravitational/teleport/lib/utils/aws"
"github.com/gravitational/teleport/lib/utils/aws/awsfips"
)

// NewFromConfig wraps [sts.NewFromConfig] and applies FIPS settings
// according to environment variables.
//
// See [awsutils.IsFIPSDisabledByEnv].
// See [awsfips.IsFIPSDisabledByEnv].
func NewFromConfig(cfg aws.Config, optFns ...func(*sts.Options)) *sts.Client {
if awsutils.IsFIPSDisabledByEnv() {
if awsfips.IsFIPSDisabledByEnv() {
// append so it overrides any preceding settings.
optFns = append(optFns, func(opts *sts.Options) {
opts.EndpointOptions.UseFIPSEndpoint = aws.FIPSEndpointStateDisabled
Expand Down
6 changes: 3 additions & 3 deletions lib/utils/aws/stsutils/sts_v1.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,15 @@ import (
"github.com/aws/aws-sdk-go/aws/client"
"github.com/aws/aws-sdk-go/service/sts"

awsutils "github.com/gravitational/teleport/lib/utils/aws"
"github.com/gravitational/teleport/lib/utils/aws/awsfips"
)

// NewV1 wraps [sts.New] and applies FIPS settings according to environment
// variables.
//
// See [awsutils.IsFIPSDisabledByEnv].
// See [awsfips.IsFIPSDisabledByEnv].
func NewV1(p client.ConfigProvider, cfgs ...*aws.Config) *sts.STS {
if awsutils.IsFIPSDisabledByEnv() {
if awsfips.IsFIPSDisabledByEnv() {
// append so it overrides any preceding settings.
cfgs = append(cfgs, aws.NewConfig().WithUseFIPSEndpoint(false))
}
Expand Down
6 changes: 3 additions & 3 deletions lib/utils/aws/stsutils/stscreds_v1.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,19 @@ import (
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/credentials/stscreds"

awsutils "github.com/gravitational/teleport/lib/utils/aws"
"github.com/gravitational/teleport/lib/utils/aws/awsfips"
)

// NewCredentialsV1 wraps [stscreds.NewCredentials] and applies FIPS settings
// according to environment variables.
//
// See [awsutils.IsFIPSDisabledByEnv].
// See [awsfips.IsFIPSDisabledByEnv].
func NewCredentialsV1(
c client.ConfigProvider,
roleARN string,
options ...func(*stscreds.AssumeRoleProvider),
) *credentials.Credentials {
if awsutils.IsFIPSDisabledByEnv() {
if awsfips.IsFIPSDisabledByEnv() {
c = fipsDisabledProvider{provider: c}
}
return stscreds.NewCredentials(c, roleARN, options...)
Expand Down

0 comments on commit e374c24

Please sign in to comment.